I’m tryng to rig an escalator without having to place/animate each step individually.
I created a single step (named “step001”) and used path constraint on a looped path, so this single step is animated as intended.
Now, for the several other steps (about 70 to 80 steps) I wanted to create an automated float expression that offsets each step a fixed amount.
So I created a slider (that i use to control the offset variable in my expression) and created a very simple float expression for my second step, which is:
parentPercent - offset
parentPercent is a variable linked to the percentage along the path of my first step (think of it as the leader and the others are the followers)
offset is a variable linked to the value of the slider I created. So I can easily change the offset just by adjusting the slider value.
Now, for the 3rd step, the expression should be:
parentPercent - offset*2
The “*2” is because it has to offset twice as much as the second step.
The fourth step would have a *3, the fifth would be *4, and so forth.
So it’s always the expression times n - 1.
n being some sort of step index.
I’m more familiar with after effects expressions, so I’m gonna say what I would do in AE, and would be thankful if anyone told me how to do it (or something similar) in 3ds Max:
I would use the “thisLayer.name” command to get the object name string, than I would get only the last two digits of the string (which would be 01, 02, 03…) and convert it to an integer, subtract 1 and then use that as my multiplier.
Than I could just create as many duplicates of my step as I needed and they would each magically fall into their place.
Is there any way I can do this is 3ds Max expressions?