动效设计一课一得

AE循环表达式使用参照表

1、loopIn ( type = "cycle", numKeyframe = 0 )

loopIn(type = "cycle/pingpong/offset/continue", numKeyframes = 0)

loopIn://向前循环动画帧

Type://循环的类型

Cycle://从头开始一直循环范围内的动画帧

Pingpong://向乒乓球一样,来回循环范围内的动画帧

Offset://以上个循环结束的状态开始下一个循环

Continue://一直持续循环结束时的状态

numKeyframes://确定循环的帧数,为0时,默认循环所有的帧;Continue没有第二个参数

2、loopOut ( type = "cycle", numKeyframe = 0 )

loopOut(type = "cycle/pingpong/offset/continue", numKeyframes = 0)

loopout://向后循环动画帧

Type://循环的类型

Cycle://从头开始一直循环范围内的动画帧

Pingpong://向乒乓球一样,来回循环范围内的动画帧

Offset://以上个循环结束的状态开始下一个循环

Continue://一直持续循环结束时的状态

numKeyframes://确定循环的帧数,为0时,默认循环所有的帧;Continue没有第二个参数

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

loopInDuration(type = "cycle/pingpong/offset/continue", duration = 0)

loopIn://向前循环动画时间

Type://循环的类型

Cycle://从头开始一直循环范围内的动画时间

Pingpong://向乒乓球一样,来回循环范围内的动画时间

Offset://以上个循环结束的状态开始下一个循环

Continue://一直持续循环结束时的状态

duration://确定循环的帧数,为0时,默认循环从0开始到结束帧的所有的时间;Continue没有第二个参数

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

loopOutDuration(type = "cycle/pingpong/offset/continue", duration = 0)

loopout://向后循环动画时间

Type://循环的类型

Cycle://从头开始一直循环范围内的动画时间

Pingpong://向乒乓球一样,来回循环范围内的动画时间

Offset://以上个循环结束的状态开始下一个循环

Continue://一直持续循环结束时的状态

duration://确定循环的帧数,为0时,默认循环从0开始到结束帧的所有的时间;Continue没有第二个参数

接下来介绍了如何使用loopIn()loopOut()函数来实现不同的循环效果。

一、AE中4种循环表达式,分别是:

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

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

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

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


二、 4种循环表达式的相同之处

1、type的4种不同的循环类型"cycle/pingpong/offset/continue”使用相同;

· Cycle://从头开始一直循环范围内的动画帧。

· Pingpong://类似乒乓球,来回循环范围内的动画帧。

· Offset://以上一次循环结束的状态开始下一个循环。

· Continue://一直持续循环结束时的状态

2、循环类型的含义

类型一、无限循环【type = "cycle"】

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

【loopIn】来举例

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

则关键帧开始向前到入点循环关键帧的动画,如分别为a、b、c这三个关键帧。那么它的循环模式就是abc、abc、abc.......到关键帧结束点停止动画。(反复循环到关键帧结束点)

【loopOut】来举例

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

从关键帧结束点向后循环关键帧的动画,如分别为a、b、c这三个关键帧。而它的循环模式则是关键帧结束点开始向后循环 abc、abc、abc.......(反复循环到出点)

类型二、来回循环【type = "pingpong"】

【loopIn】来举例

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

“pingpong”循环,它的功能类似于乒乓球的来回反弹。

则关键帧开始向前到入点循环关键帧的动画,如分别为a、b、c这三个关键帧。而它的循环模式则是关键帧开始向后循环 abc、cba、abc......(反复循环到出点)

类型三、偏移循环【type="Offset"】

【loopIn】来举例

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

“Offset”根据关键帧的位置信息计算出后续动画的偏移值,用于从而影响运动轨迹。(如:上梯子,做一个动作,可自动循环后面上梯子的动作)

则关键帧开始向前到入点循环关键帧的动画,如分别为a、b、c这三个关键帧。而它的循环模式是abcdefg.....直至运动到合成画面外不可见。

类型四、持续循环【type="continue"】

【loopIn】来举例

loopIn(type="continue")

则关键帧开始向前到入点循环关键帧的动画,如分别为1、2、3这三个关键帧。而它的循环模式是-3+n、-3、-2、-1、1、2、3直至运动到合成画面外不可见。


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

1、loopIn的含义:

例:loopIn(type="cycle",numkeyframes=0)

【loopIn】:关键帧开始向前到入点循环关键帧的动画

00001. 在时间轴中,选择一个关键帧作为起始关键帧。

00002. 在该关键帧上应用"loopIn"表达式。

这样,该关键帧之前的关键帧将被复制并循环播放,形成一个无限循环的动画效果。

需要注意的是,"loopIn"表达式还可以附加其他参数来自定义循环的方式。例如,你可以使用"loopIn(type = “pingpong”)"来实现来回循环播放。

2.loopOut的含义:

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

【loopOut】:从关键帧结束点向后循环关键帧的动画,

00001. 在时间轴中,将一个关键帧设置为终止关键帧。

00002. 在该关键帧上应用"loopOut"表达式。

这样,在该关键帧之后的关键帧将被复制并循环播放,从而形成一个无限循环的动画效果。

需要注意的是,"loopOut"表达式可以根据需要进行进一步的调整,以支持不同的循环方式和方式。例如,你可以使用"loopOut(type = “pingpong”)"来实现来回循环播放。还有其他参数和选项可以用于定制循环的行为。

3、numkeyframes的含义:

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

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

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

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

在实际使用中,也可以不写。默认的值是0。

4.Duration的含义:

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

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

duration = 1,这里分为两种:

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

duration = 1表示循环该套动作的前1秒内的动作。

解释:在当前关键帧开始循环播放,循环的类型为 “cycle”,循环的持续时间为 1 秒。

参数说明:

· “type”:循环的类型。可选的值包括 “cycle”、“pingpong”、“continue” 等,默认为 “cycle”。

· “duration”:循环的持续时间。单位可以是帧数或秒数,默认为 1 秒。

第二种、loopInDuration(type = "cycle", duration = 1)

duration = 1表示循环该套动作的最后1秒内的动作。

解释:在当前关键帧结束后循环播放,循环的类型为 “cycle”,循环的持续时间为 1 秒。

参数说明:

· “type”:循环的类型。可选的值包括 “cycle”、“pingpong”、“continue” 等,默认为 “cycle”。

· “duration”:循环的持续时间。单位可以是帧数或秒数,默认为 1 秒。


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

示例:

timeToStart = 2; // 循环开始时间

timeToStop = 10; // 循环结束时间

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

loopOut(type="Offset",numkeyframes=0); // 在指定的时间范围内循环播放(Offset方式)

} else {

value; // 不在指定的时间范围内,保持原始值

}

这段代码的逻辑是检查当前时间是否在指定的时间范围内。

如果在开始时间和结束时间之间,则应用循环表达式 loopOut(type="Offset",numkeyframes=0) 来循环播放关键帧(Offset方式)。

如果不在指定的时间范围内,则保持原始值不做循环处理。代码中的 time 是 AE 的内置全局变量,表示当前时间。

可以根据需要修改 timeToStart 和 timeToStop 的值来定义你想要的循环开始和结束时间。

同时,也可以根据需要更改循环的类型和循环次数等参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值