PDA

View Full Version : Moving, blinking eyes for Complete Character Set


Frank Verberne
09-10-2012, 04:05 AM
I am thinking about an experiment where an avatar will mimic the head movements of a participant, and at the same time keeps eye contact with the participant. It would also be nice if the movable eyes could blink. I know of the biohead_eyes.vzf head in resources folder of vizard, but I actually don't like that head too much. We do have the Complete Character Set and it would be convenient if we could have moving, blinking eyes for those avatars. At the moment, we use a script in which the avatar already mimics the head movements while blinking, so we would like to add maintaining eye gaze with the participant to that. Any suggestions to accomplish this?

Jeff
09-10-2012, 05:57 PM
For the original Complete Characters it would be necessary to create morph targets in 3ds Max to move the eyes in Vizard. The Complete Characters HD have built-in eye bones that can be moved.

Frank Verberne
09-13-2012, 02:38 AM
Hi Jeff, thanks for the information! I don't know how morph targets would enable eyes to be moved in Vizard. I was thinking of creating two separate eye balls and link them to the head bone and then rotating them to the desired position. Concerning the Complete Characters HD: would it be possible to test one character to see if this is what we're looking for?

Jeff
09-13-2012, 06:27 PM
For the original Complete Characters, instead of morph targets you could remove the eye mesh and add eyeball geometry in Max. These would be child nodes of the head that could be rotated. Similar to the method used in the biohead file and head.py script in the tutorials\avatars folder of the Vizard install.

Here is an example of moving the eyes of the male HD character included with Vizard:
import viz
import vizact
viz.go()

viz.add('piazza.osgb')

male = viz.addAvatar('vcc_male2.cfg',pos=[0,0,1],euler=[180,0,0])
male.state(1)

leftEyeLeft = vizact.boneSpinTo('Bip01 LEye',mode=viz.AVATAR_LOCAL,euler=[-15,0,0],time=2)
rightEyeLeft = vizact.boneSpinTo('Bip01 REye',mode=viz.AVATAR_LOCAL,euler=[-15,0,0],time=2)

def moveEyesLeft():
male.addAction(leftEyeLeft,pool=1)
male.addAction(rightEyeLeft,pool=2)

vizact.onkeydown('1',moveEyesLeft)

Frank Verberne
09-14-2012, 06:42 AM
Thanks for your suggestion, I did not know that an example HD character was included with vizard! Looking from the example, it seems to be what I'm looking for. I'll have a look if I can implement moving eye for the regular Complete Characters.