Apply an Ease curve on top of your noise then shif the keys on the ease curve to create the offset.
Convert noise animation to keyframes
JHN
#22
That would be an even better/faster solution indeed. And there I was messing about with list controllers 
-Johan
avolution
#23
I guess my max is too old?
When I run this I get this in the listener
-- Error occurred in i loop
-- Frame:
-- i: 1
-- p: $Point_Helper:slave_01 @ [10.000000,0.000000,0.000000]
-- Unknown property: "AddConstant" in SubAnim:Position_Script
OK
JHN
#24
Yeah I think it doesn’t have the new script controller in that version of max.
Here’s a variant based on what floopyb said, with the ease curve
for i = 1 to 200 do
(
local p = point name:(uniqueName "slave_")
p.pos.controller = position_list()
p.pos.controller.available.controller = noise_position frequency:0.05 fractal:false seed:(random 0 10000) noise_strength:[0,150,0]
-- Add ease curve to the noise controller
addEaseCurve p.pos.controller[2].controller
p.pos.controller[2].controller.Ease_Curve.controller
-- Add actual keyframes to the easecurve
for i = 0 to 100 by 50 do
(
local sKey = addNewKey p.pos.controller[2].controller.Ease_Curve.controller i
sKey.Value = i
sKey.inTangentType = #linear
sKey.outTangentType = #linear
)
-- set out of range types
setBeforeORT p.pos.controller[2].controller.Ease_Curve.controller #linear
setAfterORT p.pos.controller[2].controller.Ease_Curve.controller #linear
-- delete randomly somewhere between 0 and 100 frames to make the shift
deleteTime p.pos.controller[2].controller.Ease_Curve.controller (interval -3000f (-3000f + random 0f 100f ))
-- list controller set right
p.pos.controller.weight = #(100,100)
p.pos.controller.setActive 1
-- offset the point helper
p.pos.controller[1].value = [10*i,0,0]
)
I think this should work in max 9.
-Johan
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.