[Closed] "Moving Forward"
Very new to maxscript and I’m trying to write a script that turns a wheel accurately based on it’s distance moved. All is working until the motion of the wheel ‘reverses’ and it continues to spin the wrong way.
So how can I give an object a ‘forwards’ direction or vector, so that I can detect when it’s travelling ‘backwards’…E.g I thought I’d be able to say that the Y axis of a parent object was the forward direction of the attached wheel but I’m unable to detect anything useful along its axis of travel…
I’m looking at the -in coordsys local/parent- for clues but any help would be appeciated…
If you’re writing your own, check out the rollin script:
http://www.asd.3d.pl/scripts/rollin/rollin.html
It may provide some insights.
yeah thanks – seen it – but it didn’t really help solve my problem as it doesn’t work 100% of the time…
I have also been through the script before to understand how he’s detecting a reverse direction but to no avail…
the script I’m looking at is a rotation script so works as you animate…and looks like this…
obj = $Cylinder01 –name of object
timeres = 1f
fn getrot t =(
myradius=obj.radius
if t<0f then return 0
t0 = t-timeres
t1 = t
rot0 = getrot(t0)
p0 = at time t0 obj.position
p1 = at time t1 obj.position
if p0 == p1 then return rot0
dif = (p1-p0)
len = Length(dif)
angle = 4*len/((myradius+myradius)*pi)
rot1 = rot0 + angle
)
getrot(currenttime)