![]() |
|
|
|
#1
|
|||
|
|||
|
I think this should fix your problem:
Code:
import viz
import viztask
import vizact
viz.go()
viz.eyeheight(0)
viz.MainView.setPosition(0,0,-4)
car1 = viz.add('box.wrl')
rim1 = viz.add('box.wrl', color = [0,0,1])
car2 = viz.add('box.wrl', color = [1,0,1])
rim2 = viz.add('box.wrl', color = [0,1,0])
action1 = vizact.spin(0,0,1,60)
action2 = vizact.moveTo([-2,0,2],speed=2.00, interpolate=vizact.easeOut)
action3 = vizact.moveTo([-2,0,2],speed=4.00, interpolate=vizact.easeOut)
def actionTime():
rim1.addAction(action1,0)
rim2.addAction(action1,0)
car1.addAction(action2,0)
car2.addAction(action3,0)
vizact.onkeydown(' ', actionTime)
def onActionEnd(e):
if e.object is car1:
rim1.endAction(0)
elif e.object is car2:
rim2.endAction(0)
viz.callback(viz.ACTION_END_EVENT,onActionEnd)
!
Last edited by Frank Verberne; 01-03-2014 at 02:43 AM. Reason: improved readability of code |
|
#2
|
|||
|
|||
|
Frank, that only starts/stops the spinning, it doesn't ease-in or out.
I think a more flexible solution would be to wire -in 3ds max terms- the wheel rotation to the car translation. I can't really remember how it works best exactly, but here's a quick and dirty version, based on Frank's code: Code:
import viz
import vizact
import vizmat
viz.go()
car1 = viz.add('box.wrl')
carPos = car1.getPosition()
viz.eyeheight(0)
viz.MainView.setPosition(-5,0,-20)
action1 = vizact.moveTo([-10,0,0],speed=4.00, interpolate=vizact.easeInOut)
def actionTime():
car1.addAction(action1,0)
def onUpdate():
global carPos
newPos = car1.getPosition()
distance = vizmat.Distance(carPos,newPos)
rotation = distance * viz.getFrameElapsed() * 2000
car1.setEuler([0,0,rotation],viz.REL_LOCAL)
carPos = newPos
vizact.onkeydown(' ', actionTime)
vizact.onupdate(0, onUpdate)
|
![]() |
| Tags |
| car wheel rotation |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Steering wheel mini | Biom | Vizard | 2 | 06-18-2013 12:53 AM |
| Custom Joystick Rotation | mhead10 | Vizard | 9 | 11-26-2012 01:06 PM |
| Changing Force-feedback on Wheel | Cage | Vizard | 3 | 10-23-2010 09:37 AM |
| set bone rotation - cal3d | munteanu24d | Vizard | 0 | 03-23-2010 05:25 AM |
| Unable to perform 360 rotation using vizact.spinto | vijaykiran | Vizard | 2 | 09-29-2009 09:39 AM |