![]() |
|
#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 01: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 |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Steering wheel mini | Biom | Vizard | 2 | 06-17-2013 11:53 PM |
Custom Joystick Rotation | mhead10 | Vizard | 9 | 11-26-2012 12:06 PM |
Changing Force-feedback on Wheel | Cage | Vizard | 3 | 10-23-2010 08:37 AM |
set bone rotation - cal3d | munteanu24d | Vizard | 0 | 03-23-2010 04:25 AM |
Unable to perform 360 rotation using vizact.spinto | vijaykiran | Vizard | 2 | 09-29-2009 08:39 AM |