WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   switching heads (https://forum.worldviz.com/showthread.php?t=719)

betancourtb82 09-05-2006 02:11 PM

switching heads
 
I am trying to switch avatar heads after they get "shot". I have 3 different faces defined in an array as follows:
Code:

faces = ['biohead_talk.vzf','omar.vzf','morph_head.vzf']
bioheadFace = faces[0]
omarFace = faces[1]
morphFace = faces[2]

I then define 2 different functions, one to remove the avatar from the screen when "shot" and the other to restore the avatar (with a different face). What I would like to do is identify the face in the RemoveAvatar function and based on that face, choose the next face in the sequence. The problem is that I'm not sure how to "grab" what face was on the avatar that was shot. Any ideas? Thanks.

Code:

def RemoveAvatar(avatar):
 global avatarCount, faceSelect, threatLevel, bioheadFace, omarFace, morphFace,bioCount,omarCount,morphCount
 avatar.visible(0) #Hide avatar
 if bioheadFace:
  print "bio Shot"
  newFace = omarFace
  bioCount +=1
  print 'newFace is', newFace
  print 'bioCount is', bioCount
 elif omarFace:
  print "omar Shot"
  newFace = morphFace
  omarCount += 1
  print 'newFace is', newFace
  print 'omarCount is', omarCount
 elif morphFace:
  print "morph Shot"
  newFace = bioheadFace
  morphCount += 1
  print 'newFace is', newFace
  print 'morphCount is', morphCount
 avatar._face_.remove()
 avatar.speed(1) #Restore speed
 avatar.face(newFace)
 characters.remove(avatar) #Remove from list
 dead_list.append(avatar) #Add to dead list
 avatarCount += 1
 print 'avatar count is: ', avatarCount
def RestoreAvatar():
 global keyindex, bioheadFace, omarFace, morphFace, bioheadFace, omarFace, morphFace,bioCount,omarCount,morphCount
 if len(dead_list):
  avatar = dead_list.pop() #Ressurrect dead avatar
  avatar.clear(viz.ACTION)
  avatar.clear(viz.CURRENT_ACTION) 
  avatar.visible(1) #Make it visible
#  avatar.face(newFace)
# faceSelect += 1
 characters.append(avatar) #Add it to avatar list


Gladsomebeast 09-05-2006 04:02 PM

In Vizard 3.0 there is a getFace fuction. For Vizard 2.5 keep a varable on the avatar that has a pointer to the face that you assigined the avatar.

You could also assign each face an integer ID and keep a varable with the avatar remembering what faceID the avatar has.


All times are GMT -7. The time now is 11:07 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC