PDA

View Full Version : accessing morph targets of avatar


bailenson
09-16-2004, 01:44 PM
Hello...we have successfully accessed VZF morp targets (i.e., an avatar with the mouth open) using the avatar.speak command. However, if we have created other morph targets (such as a one with the eyes closed), how can we access that morph directly using Vizard from a Timer?

Thanks,

jb

farshizzo
09-16-2004, 01:51 PM
Hi,

VZF objects have a morph command which allows you to set the percentage value of a morph. Sample:face = viz.add('myhead.vzf')

#Set morph 0 to 50%
face.morph(0,0.5)

#Animate the morph going to 100% in 2 seconds
face.morph(0,1.0,2)Look in the command reference under node3d:face for more information.

bailenson
09-16-2004, 03:31 PM
thanx...jb

vjosh
09-21-2004, 01:59 PM
Is there a way to access morph targets by name? The morph function seems to take only integer values to specify which morph to perform.

Thanks!

-Josh

farshizzo
09-21-2004, 02:06 PM
Hi Josh,

Yeah, you can retrieve the index of a morph target by name, then use that index with the morph command. For example, let's say you have a morph called "smile", you would do something like the following:face = viz.add('myface.vzf')

#Get the index for the morph named 'smile'
smile = face.getmorph('smile')

#Now apply the smile morph
face.morph(smile,1.0)

vjosh
09-21-2004, 02:23 PM
Thanks! FYI, the Vizard (offline) command reference documents getmorph's behavior differently... It says that getmorph takes an integer specifying the index of the morph and returns a floating point number representing the degree to which the morph is applied.

-Josh