Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions 3D Position to Null with FreeForm Pro

  • 3D Position to Null with FreeForm Pro

    Posted by Hunter Hempen on October 3, 2018 at 4:28 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:

    Y:
    oscFreq = 1.5;
    maxTilt = 15; //degrees
    maxTilt*Math.cos(oscFreq*Math.PI*2*time)

    Z:
    seed_random(index,true);
    random(360);

    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?
    -Gaff
    —–

    Kalleheikki Kannisto replied 7 years, 7 months ago 2 Members · 1 Reply
  • 1 Reply
  • Kalleheikki Kannisto

    October 5, 2018 at 2:11 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”)[0]
    Y position = thisComp.layer(“Null 1”)[1]
    Z position = thisComp.layer(“Null 1”)[2]

    Kalleheikki Kannisto
    Senior Graphic Designer

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy