![]() |
|
#1
|
|||
|
|||
|
Hi,
I want to change my avatar's states according to conditions. However, there are some problems with the codes: Code:
def ani_change():
female1 = viz.add('Avatars/Avatars/CC2_f001_hipoly_A1_v2.cfg')
female1.setPosition(1,0.5,1)
female1.setEuler(90,8,0)
bloNo = 10
Code = [0,1,0,1,0,1,0,1,0,1]
for block in range(bloNo):
female1.visible(viz.ON)
if Code[block] == 0:
female1.execute(8,0,0,freeze = True)
female1.setAnimationSpeed(8,0)
elif Code[block] == 1:
female1.execute(3,0,0, freeze = False)
yield viztask.waitTime(3)
for j in range(10):
female1.blend(3,1-float(j/10))
female1.blend(8,float(j/10))
yield viztask.waitTime(float(j/2))
yield viztask.waitTime(0.5)
female1.state(8)
female1.visible(viz.OFF)
yield viztask.waitTime(5)
viztask.schedule(ani_change())
1) The avatar's states don't change; 2) The amplitude of the avatar's movement decrease across different trials. Eg. The highest point that her arm could reach is always lower than in the previous trial. Many thanks! |
|
#2
|
|||
|
|||
|
Quote:
|
|
#3
|
|||
|
|||
|
Quote:
Thank you for your reply! I tested the codes below: Code:
def ani_change():
female1 = viz.add('vcc_female.cfg')
female1.setPosition(1,0,10)
female1.setEuler(90,8,0)
bloNo = 10
Code = [0,1,0,1,0,1,0,1,0,1]
for block in range(bloNo):
female1.visible(viz.ON)
if Code[block] == 0:
female1.execute(2,0,0,freeze = True)
female1.setAnimationSpeed(2,0)
elif Code[block] == 1:
female1.execute(11,0,0, freeze = False)
yield viztask.waitTime(3)
for j in range(10):
female1.blend(11,1-float(j/10))
female1.blend(2,float(j/10))
yield viztask.waitTime(float(j/2))
yield viztask.waitTime(0.5)
female1.state(2)
female1.visible(viz.OFF)
yield viztask.waitTime(5)
viztask.schedule(ani_change())
So how can I amend the codes to achieve my goal? |
|
#4
|
|||
|
|||
|
The example code below alternates between running and idle animations:
Code:
import viz
import viztask
viz.go()
viz.addChild('piazza.osgb')
female = viz.add('vcc_female.cfg',pos=[0,0,5],euler=[90,0,0])
def ani_change():
for i in range(5):
female.state(11)
yield viztask.waitTime(3)
female.state(1)
yield viztask.waitTime(1)
viztask.schedule(ani_change())
|
|
#5
|
|||
|
|||
|
Hi Jeff,
My initial goal in the first paragraph of codes is to let the avatar sit idle then frozen like a statue for a while. Then repeat this circle. Which is required by the experiment. So is there a good way to solve this? BTW, what could be the reason for the second problem? |
![]() |
| Tags |
| aavatar, animation |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Walking Animation of Avatar | pradeep | Vizard | 1 | 07-03-2014 04:35 AM |
| Clarification on CAL3D Avatar Animation in Vizard | shivanangel | Vizard | 2 | 11-22-2010 08:16 AM |
| Collision and avatar animation | shahramy | Vizard | 2 | 10-27-2010 12:47 AM |
| changing between avatar states | dan12345 | Vizard | 1 | 06-23-2008 02:39 PM |
| avatar animation problems | jrodman | Vizard | 1 | 01-18-2006 10:12 AM |