原文:MDS链接
Loop_Cycle.gif

After Effects中的循环表达式。循环一系列关键帧。步行循环,徽标展示,背景设计等等时,循环可以减少大量工作。

示例

loopOut();loopIn("pingpong");
loopOut("offset",2);
loopOutDuration("cycle",3);

循环参数

效果图后循环图

参数可以分为3个部分:"属性","循环类型"和"修饰符"。如果什么都不填的话,默认循环类型为'cycle'。

循环属性 loopIn vs loopOut

循环输入vs循环输出.gif

从技术上讲,有4种不同类型的属性,本文最后将介绍另外两种。现在主要讲loopOut和loopIn。他俩本质完全相同,只是有一个区别:

loopOut(); //在最后一个关键帧的右边循环
loopIn(); //在第一个关键帧的向左边循环

不过90%都是使用loopOut。

循环类型

有4种循环类型

cycle 循环

无限循环关键帧。

Loop_Cycle.gif

示例:

loopOut(); or loopOut("cycle");
loopIn(); or loopIn("cycle");

"cycle"无线循环关键帧。到达最后一个关键帧时,会从第一个关键帧开始,重复循环。

pingpong 乒乓

循环“往复”,像乒乓球一样,一去一回。

乒乓循环后effects.gif

 

示例:

loopOut("pingpong");
loopIn("pingpong");

顾名思义,"乒乓"循环类型在您的第一个和最后一个关键帧之间来回移动。从头到尾,再从尾到头,一遍又一遍。

offset 偏移

通过在起始值上加或减去结束值,然后将差值应用于最终关键帧或开始关键帧再次循环。这么解释令人困惑,但请看上面的示例。如您所见,offset将继续循环运动,在结尾处叠加之前的效果,而不会恢复为原始起始值。在我看来,Offset循环类型是功能最强大且潜在有用的循环类型,但它永远也不会得到应有的重视。

effects.gif之后的循环偏移

例子:

loopOut("offset");
loopIn("offset");

continue 持续

按照最后一个关键帧的速度/值持续下去。直到……永远。

在effects.gif之后继续循环

例子:

loopOut("continue");
loopIn("continue");

nerdloopexpression.gif

注意:选择表达式窗口左侧的小图形按钮,在图形编辑器(称为AE表达式图形)中看到循环continue运动的直观表示。

后期表达图Example.png

参数修饰符

记录loop.gif

不起作用的参数修饰符示例(下面的细分)。
最后一个是参数修饰符。虽然这个名字听起来很吓人,但实际上并不难理解。本质上,它将告诉After Effects您要循环哪些关键帧。例如,如果您有一个包含5个关键帧的序列,则可以告诉After Effects仅循环最后2个。这只需添加一个逗号和一个数字即可。

循环出offset.gif
该数字告诉After Effects在修改后的循环中应包含多少个关键帧。例如,修饰符为1的loopOut属性将仅包含2个关键帧:最后一个关键帧和之前的关键帧。以下是一些示例,因此我们位于同一页面上:
loopOut("pingpong",1); // 将在最后两个关键帧之间循环
lloopIn("offset",2);  //将在前三个关键帧之间循环。
一旦掌握了修饰符,修饰符实际上真的很容易使用。修饰符只能应用于循环,乒乓和偏移三种类型。

持续时间循环属性

Loop_Out_Duration.gif

持续时间修饰符以秒为单位。

loopInDuration("pingpong",2);
loopOutDuration("offset", 4);

最后,我们应该讨论两种不同类型的循环属性:loopInDuration()和loopOutDuration()。他俩与loopIn()和loopOut()非常相似。但有一个主要区别:
当将参数修饰符应用于"持续时间循环属性"时,它是基于时间(秒)循环。
基本上,如果在duration循环属性之后添加逗号和数字,则表达式将基于秒而不是关键帧进行循环。在很多情况下,我认为这种循环不是很有用,但现在就知道了。

回头见!回头见!回头见!回头见!

(这也是一个循环...明白吗?)
希望您已准备好将循环添加到下一个After Effects项目。循环确实是一种出色的工具,可以节省大量时间。如果您想了解有关After Effects或Motion Design的更多信息,请访问我们的博客,我们定期在此发布令人振奋的教程。
GoodbyeLoopExpression.gif



您的电子邮箱地址不会被公开。 必填项已用*标注

评论(2)

  • 1231 2020年8月11日 下午4:56

    好好好

  • b95075981 2020年10月18日 上午11:18

    有个地方写错了。
    ----------------------------------------------------
    1loopOut(); //循环到最后一个关键帧之前
    2loopIn(); //在第一个关键帧之后循环
    ----------------------------------------------------
    写反了