教程
链接:https://courses.motiondesign.school/courses/702212/lectures/13284118
动画制作工具Animator
简单快速地设置图层属性动画,可以复制到其他涂层,可结合图层内遮罩使用
可以设置成预设,存在‘效果和预设’里,在其他项目中复用
范围选择器主要属性:起始、结束、偏移
- 起始start:范围选择器左端的位置
- 结束end:范围选择器右端的位置
- 偏移offset:整个范围选择器的位置,-100到100表示从最左到最右的位置
依据‘Base On’:改变文字动画的运动模式
- 字符:逐字符
- 词:逐单词
- 行:逐行
形状Shape:改变范围选择器的形状
- 正方形Square:以方形范围显示文字,通常对start和end属性做动画

- 上斜坡Ramp Up:以梯形范围显示文字,通常对offset属性做动画

- 下斜坡Ramp Down:与Ramp Up运动方向相反,常用于文字消失
- Triangle、Round、Smooth:同时结合了文字出现和消失的动画,不常用
运动缓动:Animator没办法通过ease关键帧来缓和运动,而是利用属性来缓动
- 平滑度Smoothness:只对Square形状有效,调整整体的平滑度
- 缓和高Ease High:动画开始时的平滑度
- 缓和低Ease Low:动画结束时的平滑度
随机排序Random Order:让文字动画随机进行,而不是连续的
- Random Seed:调整随机顺序
表达式Expression:添加表达式选择器,在数量Amount下添加表达式
- 动画是自动发生的,不需要关键帧,可以替代范围选择器的动画
- 通过调整图层在时间轴上的入点、出点,来控制动画的开始和结束
- 一个的弹性动画表达式
- 效果:

- 弹性动画(出现) ``` delay = .08; //负责显示每个符号的时间,以秒为单位 freq = 2; //移动频率 amplitude = 100; //文字移动的距离 decay = 8.0; //每个符号震荡的持续时间
- 效果:
myDelay = delaytextIndex; t = (time - inPoint) - myDelay; if (t >= 0){ s = amplitudeMath.cos(freqt2Math.PI)/Math.exp(decayt); [s,s] }else{ value; }
- 弹性动画(消失)
delay = .08; //负责显示每个符号的时间,以秒为单位 freq = 2; //移动频率 amplitude = 100; //文字移动的距离 decay = 8.0; //每个符号震荡的持续时间
myDelay = delay(textIndex - textTotal - 1); t = (outPoint - time) + myDelay; if (t >= 0){ s = amplitudeMath.cos(freqt2Math.PI)/Math.exp(decayt); [s,s] }else{ value }
- 弹性动画(出现和消失)
delay = .08; //负责显示每个符号的时间,以秒为单位 freq = 2; //移动频率 amplitude = 100; //文字移动的距离 decay = 8.0; //每个符号震荡的持续时间
myDelayIn = delaytextIndex; myDelayOut = delay(textIndex - textTotal - 1); t = (time - inPoint) - myDelayIn; t2 = (outPoint - time) + myDelayOut; if (time 2 > outPoint + inPoint) t = t2; if (t >= 0){ s = amplitudeMath.cos(freqt2Math.PI)/Math.exp(decayt); [s,s] }else{ value } ```
文字动画案例
1、利用矩形工具在图层内建立蒙板,添加Animator的透明度和位置,透明度改成0,位置改成0,90
2、对偏移offset建立关键帧:0帧-50%,1秒50%
3、在‘高级’下将‘依据’改成行,‘形状’改成Ramp Up,ease high改成20%,ease low改成80%
效果图

