3D Position to Null with FreeForm Pro
by Hunter Hempen on Oct 3, 2018 at 4:28:01 pm
Part of this ongoing animation I'm building requires using the Mettle FreeForm Pro plug in for some 3D warp on my layer. I'm using Dan's awesome "falling leaf" expression for some oscillating rotation movement, and ideally trying to parent the FreeForm layer's position to an external null to have it fall wherever I like. However, FreeForm operates by having its own 3D world vs. using the 3D switch in After Effects (like Particle World sort of?), so the 3D expression rules act differently.
The falling leaf expression goes onto FreeForm's Rotation Y and Rotation Z parameters:
oscFreq = 1.5;
maxTilt = 15; //degrees
No problem there. However simply pickwhipping FreeForm's Position X, Position Y, and Position Z to a Null with combined (as in not separated xyz) position makes the layer slip around like crazy. Obviously I guess this happens because the expression in each needs to define for X Y and Z instead of all feeding into the same position value. I tried the classic Video Copilot x=thisComp.layer("Null 5")....width/2
for X Y Z respectively, but the Null doesn't seem to move anything at all. I'm assuming it's because again, FreeForms world is very different and such expressions aren't the specific input it needs to translate position.
The whole point of using an external null control, is so that I can parent the single position keyframe to a stroke path for where the leaf should glide around to, as was also solved by Dan in this post
I'm aware FreeForm is a fairly old plugin and a little obscure to most, but any help with a position null expression variant would be appreciated.
Too bad she won't live! But then again, who does?
Re: 3D Position to Null with FreeForm Pro
by Kalleheikki Kannisto on Oct 5, 2018 at 2:11:34 pm
Without looking at Freeform interface, I believe the issue is simply getting the individual coordinates out of the null's position. The 3D position being an array with 3 individual value, you can get them connected correctly like this:
X position = thisComp.layer("Null 1")
Y position = thisComp.layer("Null 1")
Z position = thisComp.layer("Null 1")
Senior Graphic Designer