[Closed] Delay Transform script
Here is the basic structure: (ie. 10 box objects)
MasterObj: Box01
SlaveObj: Box02 to Box10
On the MasterObj I create list controllers for Pos, Rot and Scl. (freeze transform)
On the Slaves I also create list controller so they keep current Pos, Rot and Scl and add a Script controller that gets the previous slave’s Pos, Rot or Scl with a delay…
The thing is that when a slave gets “linked” to the previous slave it gets the rotation as Quat values, and the multiply does work (at least in the listener) but I cant see any change in the viewports…
One other thing… I only teste with object created in the top VP (local and world values are aligned) but when I did a test with another object the master got rotated arround…
My guess is that I’m missing something on the creation of the list controllers (freeze transform)…
If any of you guys could have a look at the code it would be greate!!!
I think its preety well organized…
Thanks a lot for the input…
Cheers
Tiago
hey fellas this thread got me playing around with the idea of delay transforms, and after playing with the script you put up for a bit (which was great) discovered some pro’s and con’s.
so attempted one of my one…also popping my cherry on script posting as well, so please don’t look to hard at the code. pretty buggy but it shows the concept.
thought the script could be improved with the addition of distance into the equation.
i.e the further away the object the longer the delay…this will also get over the problem with your script in that in matters in which order you select the slave as to which is animated first.
I’ve also used a matrix transform script, instead of controllers, which may help with some of your problems…looking forwards to the next update.
www.hotknife.co.uk/delay/delay.avi is a quick example…
anyway hope this helps, script attached…works in the same way but does not matter if you animate the master first…just don’t have any spaces in the names of the objects
Hey,
I’ve been using somewhat the same fundamental for secondaries in objetcs like earrings etc. using a time delay in a position script controller. A query: can someone use this system and also create some damping??? The sudden stop in a frame based delay does not look good at times. A higher level would be if we could detect deflections. For this, i’ve tried using intersect rays, but am not getting anywhere as yet. Also i would like to know what people have to say about springs in Max. I havent had a good experiance, but ive seen a clip on the net of very well implemented deflections using springs. Would like to know how.
Thanks,
Vikram.
Hi vicky,
you could use the script controller for the delays, and you could derive the dampening from a spring controller and add up both to get the required result.
Yes, spring controllers are slow, but its only when they are in a complex heirarchy where
even parents have springs on them that the system becomes sluggish at higher frame counts.
shibu
This is great… I learned how to do this in Houdini before, it is really easy as they have a frame variable you can use in any expression, I’ve been trying to figure out how to do it in maxscript ever since.
So thanks!
Hey Shibu,
Thanks for the help. Actually I’ve been trying your system of using rays to define distance between two objects. I get a variable distance parameter but havent figured how to instruct the helper to react after the minimum distance value is achieved. Is there a better way to get some kind of scripted solution to detect deflection (when i say better i mean easier) and also react to it as desired.
Thanks,
Vikram