#1
|
|||
|
|||
How to make character animation sequence
Dear admin
-------------------- code: import viz viz.go() female = viz.add('vcc_female.cfg', pos = [0,0,5], euler = [90,0,0]) female.state(7) # jump forward female.state(6) #fight female.state(7) #jump forward ------------------------ We would like to make a sequence of character animation such as jump forward, fight and jump forward. But female.state(7) is returned at first frame after last frame of jump forward. It is problem to make character animation. So, #female.execute(7, freeze = True) can pause last frame. But, we can not connect smoothly next motion(female.state(6)). We want to connect next motion at the position of last frame of first motion. Please know me how to resolve this problem. Best regards, choi |
#2
|
|||
|
|||
The state method has an optional delay argument to specify how long it will take to fully blend in the new state and blend out the old one to give a smooth transition. In the following, press the spacebar and after 2 seconds animation 5 will be blended in.
Code:
import viz viz.go() male = viz.add('vcc_male.cfg', pos = [0,0,5], euler = [180,0,0]) male.state(1) vizact.onkeydown(' ', male.state,5,2) |
#3
|
|||
|
|||
Dear Jeff
We made the code to connect the next motion at the position of last frame of first motion. Please check the code and give me the comment. --------------------- code: --------------------- import viz viz.go() viz.clearcolor(viz.SKYBLUE) #Position avatar in view avatar = viz.add( 'vcc_male.cfg' ) avatar.setPosition( 0, 0, 20 ) avatar.setEuler( 90, 0, 0 ) #Create an action to fade out in 5 seconds #fadeOut = vizact.fadeTo(0,time=5) #Add the ground plane viz.add('tut_ground.wrl') #Create an action to move to location (0,1,0) at 5 m/s #Add the fade out action to the node #avatar.addAction(fadeOut) #Add the moveTo action to the node #It won't start until the fade out action completes avatar.addAction( vizact.animation(7,2.685,0.1,0) ) moveTo = vizact.moveTo([1.8,0,20],speed=900000000000000000000000000000) avatar.addAction(moveTo) avatar.addAction( vizact.animation(6,2.685,0.1,0) ) #moveTo1 = vizact.moveTo([3.6,0,20],speed=90000000000000000000000000000) #avatar.addAction(moveTo1) avatar.addAction( vizact.animation(7,2.685,0.1,0) ) moveTo2 = vizact.moveTo([3.6,0,20],speed=90000000000000000000000000000) avatar.addAction(moveTo2) avatar.addAction( vizact.animation(10,2.685,0.1,0) ) #moveTo3 = vizact.moveTo([7.2,0,20],speed=90000000000000000000000000000) #avatar.addAction(moveTo3) ------------------------------------------------- Best regards, choi |
#4
|
|||
|
|||
If you want the avatar to move to a position immediately after an animation has completed you can leave out the speed argument in the vizact.moveTo command and it will work the same.
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
animation sequence | Andy | Vizard | 1 | 10-01-2009 11:42 AM |
character animation | nlfrnassimi | Vizard | 3 | 03-11-2009 03:46 PM |
Native WorldViz support for character animation | luakt | Vizard | 10 | 09-16-2008 12:39 AM |
animation sequence | pkhoosh | Vizard | 2 | 01-23-2006 09:03 AM |
animation sequence | shai | Vizard | 1 | 10-27-2004 11:09 AM |