Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions nudging 3D layers along a single axis without disturbing keyframes???

  • nudging 3D layers along a single axis without disturbing keyframes???

    Posted by Terry Coolidge on July 28, 2006 at 3:06 pm

    Hi,

    I have many MANY 3D layers that need to reside in 3D space, but they only animate along their Y axis. So all of these layers (over 50 of them) have keyframes for their Position attribute. The animation in Y is what I want, the layers are in the proper position along the Z axis, but I want to nudge all of the layers along the X axis. However, I’m sure most of you are aware that if I select all my 3D layers and change just the X value, all layers then inherit the same Y and Z values… so that they now will occupy the exact same location! Obviously not what I want. Plus that will add a keyframe for every layer wherever the Current Time Indicator is currently resting. My Y animations are staggered across my timeline, so I don’t want any new keyframes. I simply want to keep everything exactly the way it is, but just nudge everything in X.

    I know about selecting all layers and then using the move tool in the composition window to only slide the layers in the X direction, but this doesn’t seem to give me the precision I need. When I say “nudge” I really mean “nudge.” I want to only move these things ever so slightly (decimal tenths). When using the tool in the composition window, the layers jump by increments much larger than that.

    And a related question. At one time I had all of these layers offset just slightly in X. (3.00, 3.15, 3.30, 3.45, 3.60, etc.) But now I want them all to have the same X value. But they are distributed along Z and they animate in Y, so how can I make over 50 layers have the same X value even though they are already keyframed, and I don’t want to disturb the Y and Z properties?

    Mylenium replied 19 years, 9 months ago 3 Members · 5 Replies
  • 5 Replies
  • Mylenium

    July 28, 2006 at 4:34 pm

    Apply expressions. Create an expression on one layer and then simply copy it using “Copy Expression only”. If you want all your layers to stay at X position 3, use this:

    new_position=[3,position[1],position[2];

    [new_position]

    If you are still not sure, add Slider Expression controls to a dummy layer/ guide layer (null or invisible solid), give each a unique name and use


    X=thisComp.layer(“Dummy”).effect(“Offset X”)(“Slider”);
    Y=thisComp.layer(“Dummy”).effect(“Offset Y”)(“Slider”);
    Z=thisComp.layer(“Dummy”).effect(“Offset Z”)(“Slider”);

    new_position=[X,position[1]+Y,position[2]+Z;

    [new_position]

    This will give you maximum flexibility without destroying existing animation.

    Mylenium

    [Pour Myl

  • Colin Braley

    July 28, 2006 at 4:39 pm

    For your first question:
    There might be an even easier way to do this, but I would just parent all your 3d layers to a 3d null and nudge the null 5 pixels in X.
    For your second situation I would one again create a 3d null and position it how you want all your other layers to be positioned along the X axis. Then I would add the following expression o the position property of all the 3d layers you want to move in X:
    //–
    nullLayer = thisComp.layer(“Null Layer”);
    [ nullLayer.position[0], position[1], position[2] ]
    //–
    That expression makes the layer use its own Y and Z positions and take its X position from the null.
    Hope this helps.
    ~Colin

  • Colin Braley

    July 28, 2006 at 4:41 pm

    Mylenium, you’re just too fast 🙂

  • Terry Coolidge

    July 28, 2006 at 4:47 pm

    Thank you, Mylenium and Colin. Much appreciated!!!

    – Terry

  • Mylenium

    July 28, 2006 at 5:14 pm

    [Colin Braley] “Mylenium, you’re just too fast :)”

    Nope, just lucky coincidence I was hanging around. Most of the time you beat me to it because I tend to sleep when across the pond business is in full swing *grin* ;o).

    Mylenium

    [Pour Myl

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