Scripts
Bake object transforms
Copy and paste
Emailer
Flush
Implode explode
Instantiate
Make names unique
Poly counter
Print selection
Reset viewport
Selector
Bake object transforms
Maxscript snippet to bake object transforms, and kill the linkage hierarchy. Will also work with target cameras and lights.
fn bakeObjectTransforms objs start:animationRange.start end:animationRange.end step:1 = ( local handles = 25 start = start - handles end = end + handles if classOf objs != Array then objs = #(objs) local arr = #() for obj in objs do -- Loop though given objects ( if isValidNode obj then ( appendIfUnique arr obj if isValidNode obj.target then ( appendIfUnique arr obj.target ) ) ) for obj in arr do -- Loop though given objects ( local p if classOf obj.transform.controller == lookat then ( p = copy obj.transform.controller p.position.controller = linear_position() p.scale.controller = linear_scale() ) else ( p = PRS() -- Create standard transform controller to bake keys into p.position.controller = linear_position() p.rotation.controller = tcb_rotation() p.scale.controller = linear_scale() ) -- Set initial transform at time start, with animate off, in coordsys world ( p.value = obj.transform ) for t = start to end by step do -- Loop over given time range ( at time t, with animate on, in coordsys world -- At time t grab obj transform in world space ( p.value = obj.transform ) ) obj.parent = undefined -- Remove parent obj.transform.controller = p -- Assign new transform controller ) ) -- Test bakeObjectTransforms (selection as array)