美文网首页AE教程AE动效AE
AE循环表达式最全面教程+循环时间的控制教程

AE循环表达式最全面教程+循环时间的控制教程

作者: l_m_h | 来源:发表于2019-08-03 21:49 被阅读17次

    废话不多说,我这里只有干货。

    首先前面是给初学者看的,全面解释ae循环表达式用法。

    如果你已知道,请下拉到最后第三大点的,如何控制循环表达式的开始和结束的时间。

    时间控制教程可以套用在大多数表达式中。

    首先我们要知道怎么打开循环表达式,因为太简单了,

    不会的看参考教程https://jingyan.baidu.com/article/a3a3f8113a721a8da2eb8a92.html

    再不会请自行百度教程....

    然后里面的四个基本表达式,分别是:

    loopIn(type = "cycle", numKeyframes = 0)

    loopOut(type = "cycle", numKeyframes = 0)

    loopInDuration(type = "cycle", duration = 0)

    loopOutDuration(type = "cycle", duration = 0)

    一、首先说明他们相同的地方

    type =“?”  可以替换为不同的循环类型

    拿loopOut来举例:

    类型1  圆形循环

    loopOut(type="cycle",numkeyframes=0)

    cycle是个圆形的类型的循环,就是对一组动作进行循环。

    如果你有5个关键帧,分别为12345。

    那它的循环模式就是12345,12345,12345,12345。(如下GIF图)

    圆形循环

    类型2  乒乓循环

    loopOut(type="pingpong",numkeyframes=0)

    pingpong 是个兵乓的类型的循环,就像那样兵乓球的作用来使用。

    同上,如果你有关键帧12345个关键帧,

    那它循环模式就是12345,54321,12345,54321(如下GIF图)

    乒乓循环

    类型3 弥补循环

    loopOut(type="Offset",numkeyframes=0)

    Offset意思根据关键帧计算出后面运动轨迹。(例子:下台阶循环,只需做一套动作,自动继续计算出下台阶的动作)

    同上,如果你有关键帧123个关键帧,

    那它循环模式就是12345678910...直至运动到合成画面外看不见(如下GIF图)

    弥补循环


    类型3 持续循环帧

    loopOut(type="continue")

    延续最后一帧的方向和运动速度,做不停做动作。

    同上,如果你有关键帧123个关键帧,

    那它循环模式就是123,3+n...直至合成画面外。(如下GIF图)

    持续循环帧


    二、In和Out的区别,numkeyframes和Duration区别

    1.loopIn的意思:

    用这个表达式为例   loopIn(type="cycle",numkeyframes=0)

    假设循环的关键帧设在6-8秒时候为一套动作。

    那么6秒前秒会一直循环6-8秒的这套动作(不一定是由第1关键帧开始,要看前面空出的时长),

    循环到达6秒到达关键帧,开始完成最后一套动作,在8秒时结束循环。(如下GIF图)

    loopIn

    备注:可以看到动画开始时,是由第5关键帧开始循环,因为该循环在6秒时候要开始吻合最后的5个关键帧,所以开始的位置对应推算。

    2.loopOut的意思:

    用这个表达式为例

    loopOut(type="cycle",numkeyframes=0)

    假设循环的关键帧设在4-6秒时候为一套。

    那么4秒前时间循环不会动,4-6秒时候开始第一套循环一套,并在6秒后面一直无限圆形循环。(如下GIF图)

    loopOut  

    3.上两例中numkeyframes的意思:

    numkeyframes表示循环哪些关键帧,=0表示循环所有关键帧。

    ● 在loopIn中,numkeyframes=1表示2个关键帧,=2表示前3个关键帧,以此类推。

    ● 相反在loopOut中,numkeyframes=1表示最后2个关键帧,=2表示最后3个关键帧,以此类推。

    也可以不写,默认是0。

    4.Duration的意思:

    duration = 0时候一切遵循以上Out和In的基本解释。

    duration = 1,这里分为两种:

    ● 第一种,loopInDuration(type = "cycle", duration = 1)     

    假设循环的关键帧设在4-6秒时候为一套动作。

    duration = 1表示循环该套动作的前1秒内的动作。(如下截图,只循环红框内的关键帧)

     duration = 1指该套动作的一秒内

    动画效果如下GIF图,前4秒一直循环该动作第1-3关键帧。

    loopInDuration中 duration = 1时的循环动作

    ● 第二种,loopOutDuration(type = "cycle", duration = 1)     

    还是假设循环的关键帧设在4-6秒时候为一套动作。

    duration = 1表示循环该套动作的最后1秒内的动作。(如下截图,只循环红框内的关键帧)

    duration = 1 指该套动作的最后一秒内

    动画效果如下GIF图,前4秒不动,4秒开始关键帧动作,并在完成后一直循环第3-5关键帧的动作

    loopOutDuration中  duration = 1 时的循环动作




    三、如何控制循环表达式的开始和结束时间

    就是用下面表达式:

    timeToStart = 2;

    timeToStop = 10;

    if ((time > timeToStart) && (time < timeToStop))

    {loopIn(type="pingpong",numkeyframes=0);}

    else

    { value;}

    使用以上表达式便可控制开始和结束时间。

    timeToStart = 循环开始时间

    timeToStop = 循环结束时间

    其中加粗画横线的循环表达式是可以替换的,可以替换成以上任意一类型循环表达式。

    因为loopOut的循环特性,所以开始时间在loopOut中为特例,

    无论设为什么,他都是以循环动画的第一帧关键帧的时间为准。

    loopIn相反,结束时间是最后一帧关键帧控制。

    它也可以套用在其他类型的表达式上,而且为了方便可以链接用滑块控制数值。

    这些以后有空写教程再讲。

    教程完毕。

    备注:原文链接也是我的另外一个简书账号

    原创教程,原创图文,未经本人同意挪用,一律保留追究责任。

    相关文章

      网友评论

        本文标题:AE循环表达式最全面教程+循环时间的控制教程

        本文链接:https://www.haomeiwen.com/subject/bqbjdctx.html