Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Expression Quesiton need answers please.

  • Expression Quesiton need answers please.

    Posted by Christopher Rotter on June 23, 2009 at 5:25 pm

    I would like to know how can I loopOut (3) axis at once ? If I apply loopOut(“cycle”,0) to each axis it doesn’t loop as I want it too. How can you add a valueInTime to a loopOut expression ?

    Can you start a layer at a specific seconds using expressions?

    How can I have a bulge effect control a radio wave, when the bulge happens the wave happens here is what I have so far in terms of expressions.

    Christopher Rotter replied 16 years, 10 months ago 2 Members · 10 Replies
  • 10 Replies
  • Dan Ebberts

    June 23, 2009 at 5:36 pm

    It sounds like your start and end keframes for x,y,z don’t line up time-wise. If that’s the case, you’re not going to get anywhere with loopOut(). You could make your own time-based looper, something like this:

    loopStart = 1;
    loopEnd = 4;

    if (time < loopStart){ value }else{ t = loopStart + (time-loopStart)%(loopEnd-loopStart); valueAtTime(t) } Dan

  • Christopher Rotter

    June 23, 2009 at 11:32 pm

    Should I apply that expression to each axis ? If so I tried that and it didn’t loop ? I haven’t learned conditions yet so I’m clueless in that area, but I would like to know how to apply this expression to my project ?

    Also if I have loopOut how do I add valueInTime to the same expression so that I can loop the expression but tell the other layer to delay by XX number of seconds using valueInTime ?

  • Dan Ebberts

    June 24, 2009 at 3:31 am

    >Should I apply that expression to each axis ?

    Yes.

    >If so I tried that and it didn’t loop ?

    You have to edit the first two lines of the expression to encompass the time span you want to loop. If you did that, I don’t know what’s wrong.

    >Also if I have loopOut how do I add valueInTime.

    You’re losing me here. loopOut() and valueAtTime() don’t go together. They can both be applied to properties, but not to each other.

    >…so that I can loop the expression but tell the other layer to delay by XX number of seconds using valueInTime.

    An expression can’t tell another layer (or property) to do anything. It can only affect the property to which it’s applied.

    Dan

  • Christopher Rotter

    June 24, 2009 at 12:43 pm

    >Should I apply that expression to each axis ?

    Yes.

    >If so I tried that and it didn’t loop ?

    You have to edit the first two lines of the expression to encompass the time span you want to loop. If you did that, I don’t know what’s wrong.

    I did, I changed (4) to 12-16 and nothing happened.


    You’re losing me here. loopOut() and valueAtTime() don’t go together. They can both be applied to properties, but not to each other.

    How can I loop another frame not a frame that is as the previous statement and change it’s offset in seconds for when I have multiple layers of the same object>

  • Dan Ebberts

    June 24, 2009 at 3:01 pm

    OK, let’s back up. The keyframed animation you want to loop occurs between 12 seconds and 16 seconds, is that correct?

    So you edited the expression to look like this:

    loopStart = 12;
    loopEnd = 16;

    if (time < loopStart){ value }else{ t = loopStart + (time-loopStart)%(loopEnd-loopStart); valueAtTime(t) } Then you applied it to each of the keyframed rotation properties, and nothing happened? Surely something happened. Do you mean that you didn't get the result you expected or that there is now no animation at all, or that the animation is exactly same as it was without the expressions, or ??? Dan

  • Christopher Rotter

    June 24, 2009 at 7:22 pm

    OK, let’s back up. The keyframed animation you want to loop occurs between 12 seconds and 16 seconds, is that correct?

    So you edited the expression to look like this:

    loopStart = 12;
    loopEnd = 16;

    The keyframed animaiton I want to loop occurs between 0 frames and 1:00 frames, I don’t know what that is in seconds cause I can’t seem to get AE to display in seconds.

    Then you applied it to each of the keyframed rotation properties, and nothing happened?

    Surely something happened. Do you mean that you didn’t get the result you expected or that there is now no animation at all, or that the animation is exactly same as it was without the expressions, or ???

    The animation is exactly the same as it was without the expression.

  • Dan Ebberts

    June 24, 2009 at 8:13 pm

    Expression time is in seconds, not frames. Try it this way:

    loopStart = 0; // start loop at time 0
    loopEnd = 1; // stop loop at 1 second

    if (time < loopStart){ value }else{ t = loopStart + (time-loopStart)%(loopEnd-loopStart); valueAtTime(t) } Dan

  • Christopher Rotter

    June 24, 2009 at 10:23 pm

    I entered in that expression, after fixing the time code the length of the loop is 60 seconds so I entered it as:

    loopStart = 0;
    loopEnd = 60;

    It didn’t work same as before.

  • Dan Ebberts

    June 25, 2009 at 1:13 am

    Without seeing your project I’d only be guessing…

    Dan

  • Christopher Rotter

    June 25, 2009 at 1:56 am

    What I have is a 3D invigorator object that I have already animated on the X,Y,Z axis I have applied your expression to each axis, since my goal is to have the object loop then duplicate it and have others loop and have those other layers offset.

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