[Closed] Time warp script in 3ds max
Hi there,
I have recently needed a correct time warp feature in 3ds max. My friend suggested an older, but great script from Bobo, it called – MaxTrix.
You can find it here – http://www.scriptspot.com/bobo/mxs4/maxtrix/
But unfortunately, I think that there is something wrong with the script. Im using 3ds max 2009 64bit and it didnt work correctly.
The script creates a Temp camera that is shown during the script run and all the frames are also computed from this temp camera. But the time warp curve that is in Curve editor do not affect this temp camera at all.
Instead, the curve affects the original camera animation and all objects animation(you can see it in other not active viewport during the run of the script), but the Temp camera is still not affected.
(it was tested also be my two other friends and it does the same)
Maybe someone can take a look at the script…if you would like to test it, dont forget to animate the camera.
Thanks:)
It’s not a good practice to modify someone else’s script. Hopefully Bobo will be able to help you.
Anyone could help ? Actually I would like to PAY for correcting the script
I did it a bit diferent and works perfect:
Short description:
create a point named $WarpNullthePoint=Point name:“WarpNull” with this script:
thePoint=Point name:"WarpNull"
xxx = attributes Custom_Attributes
(
parameters main rollout:params
(
WarpAmount type:#float ui:WarpAmount default:0.0
)
rollout params "Custom_Attributes"
(
spinner WarpAmount "WarpAmount" type:#float )
)
CustAttributes.add thePoint xxx
Select All objects that you want to be affected by Time Warp and run this script:
for obj in $ do (
ts=position_script()
theScript=("dependson $WarpNull.pos.controller
at time (($WarpNull.position.x) as time) $"+obj.name+".pos.controller.Position_XYZ.controller.value")
obj.pos.controller = position_list ()
obj.pos.controller.Available.controller = ts
ts.script=theScript
ts=float_script()
obj.pos.controller.weight[2].controller=ts
ts.script="$WarpNull.Custom_Attributes.WarpAmount/100"
ts=float_script()
obj.pos.controller.weight[1] .controller=ts
ts.script="1-($WarpNull.Custom_Attributes.WarpAmount/100)"
ts=rotation_script()
theScript=("dependson $WarpNull.pos.controller
at time (($WarpNull.position.x) as time) $"+obj.name+".rotation.controller.Euler_XYZ.controller.value")
obj.rotation.controller = rotation_list ()
obj.rotation.controller.Available.controller = ts
ts.script=theScript
ts=float_script()
obj.rotation.controller.weight[2].controller=ts
ts.script="$WarpNull.Custom_Attributes.WarpAmount/100"
ts=float_script()
obj.rotation.controller.weight[1] .controller=ts
ts.script="1-($WarpNull.Custom_Attributes.WarpAmount/100)"
ts=scale_script()
theScript=("dependson $WarpNull.pos.controller
at time (($WarpNull.position.x) as time) $"+obj.name+".scale.controller.Bezier_Scale.controller.value")
obj.scale.controller = scale_list ()
obj.scale.controller.Available.controller = ts
ts.script=theScript
ts=float_script()
obj.scale.controller.weight[2].controller=ts
ts.script="$WarpNull.Custom_Attributes.WarpAmount/100"
ts=float_script()
obj.scale.controller.weight[1] .controller=ts
ts.script="1-($WarpNull.Custom_Attributes.WarpAmount/100)"
)
By animating POSITION X of the WARP point you get speed change
By animating WARP AMOUNT CUSTOM ATTRIBUTE you can controll hou much warp affects original animation
Check Attached scene to see the results and CHANGE TIME UNITS TO FRAMES:TICKS ! to get smooth motion
hey Daniel,
thanks for your script, it works very nice with keyframe animation !
Bobo script deals it diferently, it tweaks the timeline playbacks, so it affects all the animation like particles etc. but doesnt work for me. Shame that Bobo havent responded.
But anyway thanks again Daniel :wavey: .
idea of this script was that you can taimewarp SOME objects, with bobo version it was impossible, but dont bother him, any way respect to BOBO, HE IS GOD and seved my ass many times!
There is a better approach… do normal animation and WHEN REDNERING render frame based on the Animated curve. Motion blur will be wrong but advantage will be that everything in the scene will be timewarped, not only pos/rot/scale like in this script. I had somwhere in archives yhis version of warp but cant find it now. I Will send it too.