![]() |
|
|
|
#1
|
|||
|
|||
|
Hi, I have another question on animation path.
When I use path.autorotate(), all my cars move along their current trajectory, which is great. But some of them move forward, and some of them move backward. I don't know how to control the rotation of the objects when I use animation path. The following is my code: mybus = viz.add('schoolbus.3ds') path = viz.add(viz.ANIMATION_PATH) positions = [ [-40,1.25,-4], [-30,1.25,-3], [-20,1.25,-2], [-10,1.25,-6], [0,1.25,-30], [10,1.25,-10], [20,1.25,7], [30,1.25,-10], [50,1.25,2] ] for x in range(0,len(positions)): cp = viz.add(viz.CONTROL_POINT) cp.setPosition(positions[x]) path.add(cp,x+1) path.constantspeed(viz.ON,CAR_SPEED) path.loop(viz.LOOP) path.translatemode(viz.BEZIER) path.setAutoRotate(viz.ON) mybus.link(path) path.play() Thanks, |
|
#2
|
|||
|
|||
|
Since there is a link between the animation path and the car you can offset the car's position or orientation from the path's. If I understand correctly you want to offset the orientation so that the car is facing the opposite direction. Here is some code that takes 2 wheelbarrows and animates them along a path. The second wheelbarrow will get rotated so it faces the opposite direction. Then its position is offset slighty from the path so it appears below the first one. Let me know if that helps.
Code:
import viz
viz.go()
wheel1 = viz.add('wheelbarrow.ive')
wheel2 = viz.add('wheelbarrow.ive')
path = viz.add(viz.ANIMATION_PATH)
positions = [[0,0,10],[5,0,10],[5,0,15],[0,0,15]]
for x in range(0,len(positions)):
cp = viz.add(viz.CONTROL_POINT)
cp.setPosition(positions[x])
path.add(cp,x+1)
path.constantspeed(viz.ON,1)
path.loop(viz.LOOP)
path.translatemode(viz.BEZIER)
path.setAutoRotate(viz.ON)
#link the first wheelbarrow to the path
wheel1.link(path)
#link the second wheelbarrow to the path then
#offset the wheelbarrow's orientation so it is opposite the path
#and offset its position from the path so it will be
#below the first wheelbarrow
wheel2link = viz.link(path, wheel2)
wheel2link.preEuler([180,0,0])
wheel2link.preTrans([0,-1,0])
path.play()
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| General question and question regarding arrays | dan12345 | Vizard | 1 | 01-15-2008 11:15 AM |
| Animation Tracks.... | k_iwan | Vizard | 2 | 03-26-2007 06:52 PM |
| Jumpy animation | Elizabeth S | Vizard | 1 | 11-08-2006 03:11 PM |
| avatar animation problems | jrodman | Vizard | 1 | 01-18-2006 10:12 AM |
| to rephrase my question... | shai | Vizard | 2 | 10-27-2004 11:55 AM |