4 Replies Latest reply on May 23, 2017 11:45 AM by Rick Gerard

    pause a LoopOut expression??


      Hello and thank you for for time.

      I have an animated object in a loop by using "LoopOut" However I want to object to stop in place at frame 736 and resume from its paused position at frame 800 and continue on with the LoopOut.

      Is there a way to pause in this circumstance?


        • 1. Re: pause a LoopOut expression??
          Dave LaRonde Level 6

          Prerender and use time remapping.

          • 2. Re: pause a LoopOut expression??
            Mylenium Most Valuable Participant

            Animation --> Keyframe Assistants --> Convert Expression to Keyframes, then split layers or shift around keyframes. and time-remapping as Dave said would also work on pre-comps...



            • 3. Re: pause a LoopOut expression??
              ericsten Level 2

              Hey D, you can achieve this by adding a "Checkbox Control" to your layer and then adjusting your expression to an if else statement.



              B=effect("Checkbox Control")("Checkbox");


              if (B==1) {loopOut();} else {A;}

              • 4. Re: pause a LoopOut expression??
                Rick Gerard Adobe Community Professional & MVP

                You can also add a time based if statement to the expression. By far the easiest way is to convert the expression to keyframes and then select and delete the keyframes you don't want...


                To create a frame based if statement you first define frame numbers by using f = timeToFrames(); There are a bunch of other arguments you can add in the parentheses but empty is fine. See the Expression Language Menu>General for the full list. Then you just add an if with the conditional or like this: if (f < 736 || f > 800) and tell it what to do {loopOut()}


                The "||" means or, if you were to type "&&" that would mean and.


                Again there are a bunch of things you can put in the parenthesis following loopOut that you can learn about in the Expression Language Menu>Property section. The option "pingpong" is not listed but you can find info about using loopOut("pingpong") by typing loop out expression in the search help field. The last part is just to add an else statement that says else {value} to return the current value of the position property when the conditions of the if statement are not met. The complete expression looks like this:


                f = timeToFrames();

                if (f  < 736 ||  f > 800 ) {loopOut()};

                else {value}