Seamlessly loop keyframes on a Path property, making it ideal for shape layers and masks. Use this expression to create continuously looping paths for animated shapes.
// Delete expression if you need to edit path
try{
 timeStart = thisProperty.key(1).time;
 duration = thisProperty.key(thisProperty.numKeys).time-timeStart;
 pingPong = false;
 quant=Math.floor((time-timeStart)/duration);
 if(quant<0) quant = 0;
 if(quant%2 == 1 && pingPong == true){
 t = 2*timeStart+ (quant+1)*duration – time;
 }
-50%
-50%
00hrs : 00mins : 00sec
Happy HolidaysSale sitewide
Shop now
 else{
 t = time-quant*duration;
 }
}
catch(err){
 t = time;
}
thisProperty.valueAtTime(t);
Pro tip: Go to AEJuice Pack Manager – Expressions Pack to apply this expression in 1 click. Here are direct links for the latest plugin version:
Windows / macOS

Our Bestsellers