WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 01-18-2010, 10:37 PM
wchoi wchoi is offline
Member
 
Join Date: Jan 2010
Posts: 2
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
Reply With Quote
  #2  
Old 01-19-2010, 11:02 AM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,471
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)
Reply With Quote
  #3  
Old 01-19-2010, 06:37 PM
wchoi wchoi is offline
Member
 
Join Date: Jan 2010
Posts: 2
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
Reply With Quote
  #4  
Old 01-22-2010, 09:35 AM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,471
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.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

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


All times are GMT -7. The time now is 12:02 AM.


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