教程
地址:https://courses.motiondesign.school/courses/fundamentals/lectures/5744816
https://courses.motiondesign.school/courses/fundamentals/lectures/5744827
使用:路径动画循环;‘效果-扭曲-湍流置换’;‘效果-时间-色调分离时间’;‘效果-设置遮罩’;父级链接;表达式toComp(value);‘效果-无线电波’;‘效果-散布’;切换定格关键帧;表达式time*数字、posterizeTime();‘效果-填充’
过程
火焰及小人3
| 火焰 | 1、给火焰fire1层加8个关键帧,修改为不同的形状,添加路径循环代码(附1) 2、给大小属性添加wiggle代码(附2) 3、添加Bend it效果,使用loopOut()让其循环 4、对Bend属性,使用motion tool将其Ease Out和Ease In值设为65左右 5、添加‘效果-时间-色调分离时间’,改为15 6、复制fire1,改为fire2,将混合模式改为叠加 7、对fire3层重复以上操作 8、加入motion制作的火焰资源,火焰烟雾不显示只留下粒子,调整尺寸高低位置 9、给粒子添加‘效果-扭曲-湍流置换’,置换类型改为扭转,大小为5 10、复制粒子层,稍微往左移动 |
‘效果-时间-色调分离时间’可以调整单个图层帧速率 ‘效果-扭曲-湍流置换’,有扭转效果 motion提供的火焰合成(包括火焰、粒子、烟雾) fire_rig_freebie_cc_2015.aep |
|---|---|---|
| 小人3 | 1、将吉他纹理建立遮罩,使用设置遮罩,选择用作遮罩的图层 2、将身体各部分间建立父级链接 - 身体是头、手臂、吉他琴身的父级 - 吉他是倚在上面的左臂、吉他琴颈、吉他纹理的父级 - 头是帽子、耳朵、眼睛的父级 - 吉他琴颈是放在上面的右手的父级 |
3、给左手添加Bend it效果,对其Start和End参数添加表达式toComp(value),再对Bend参数添加动画,使用loopOut()让其循环
4、对右手建立2个位置关键帧,复制并使用时间反向关键帧,然后将速度曲线改为开始加速最后平稳减速
5、根据右手移动的位置,对右手臂建立路径动画
6、对眼睛,使用矩形工具建立蒙版,蒙版路径建立动画,复制眼睛层改为黑色建立蒙版作为眼珠,位置建立关键帧达到眼珠移动效果
7、头部和耳朵,旋转+Bend it
8、身体,旋转
9、将身体、头部和耳朵的关键帧偏移,以达到更自然的效果,选全部关键帧往前移知道把时间最后图层的第一个关键帧移到最前
10、影子,路径
11、将人物合成加进主合成里,使用矩形工具建立蒙版 | 遮罩的两种方式:
- TrkMat-遮罩”上方图层”,需要建立副本
- ‘效果-设置遮罩’,仅适用于矢量或形状图层
父级链接:将一个或多个图层的基本变换属性链接到父级图层
关键帧辅助-时间反向关键帧,将两个关键帧调换
身体先动带动头部再带动耳朵,关键帧略偏移:身体》头部》耳朵
使用CC Bend It效果时,起点和终点不跟随图层的移动是一个常见问题,因此可能会导致一些错误。
只需将toComp(value)表达式应用于起点和终点即可。当图层在视口中消失时不要惊慌。这是因为起点和终点已更改位置,手动固定其位置即可。
|
附1-路径循环代码:
try{timeStart = thisProperty.key(1).time;duration = thisProperty.key(thisProperty.numKeys).time-timeStart;pingPong = false; //change to true value if you want to loop animationn back & forthquant=Math.floor((time-timeStart)/duration);if(quant<0) quant = 0if(quant%2 == 1 && pingPong == true){ t = 2*timeStart+ (quant+1)*duration - time;}else{t = time-quant*duration;}}catch(err){t = time;}thisProperty.valueAtTime(t)
附2-wiggle代码:
freq = 1;amp = 110;loopTime = 3;t = time % loopTime;wiggle1 = wiggle(freq, amp, 1, 0.5, t);wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime);linear(t, 0, loopTime, wiggle1, wiggle2)
小人1、2

| 运动部位 | 分析效果 | 最终使用效果 |
|---|---|---|
| 头部摇晃 | 旋转 | 旋转 |
| 耳朵跟着头摇晃 | 旋转+Bend | Bend 关键帧偏移:头部》耳朵 |
| 眨眼 | 蒙版路径 | 蒙版路径 |
| 左手举东西晃动 | 旋转+Bend | 手臂旋转,手旋转+Bend,东西Bend 关键帧偏移:手臂》手》手上的东西 |
| 左腿及上面右手 | 路径+旋转 | 旋转 |
| 抬脚尖,左脚3下左右脚1下 | 旋转+Bend | 旋转+Bend |
| 身上的影子 | 路径 | 路径 |

| 运动部位 | 分析效果 | 最终使用效果 |
|---|---|---|
| 头部下跌突然抬起,摇头 | 旋转+位置+Bend | 位置+旋转 |
| 耳朵跟着头动,有个微小反弹 | 旋转+Bend | 旋转+Bend 关键帧偏移:头部》耳朵 |
| 眼睛闭上突然睁开、眨眼 | 蒙版路径 | 蒙版路径 |
| 左右脚轮流上下 | 路径 | 位置 |
| 抬脚尖 | 旋转+Bend | 旋转 |
| 左右手晃动 | 旋转+位置 | 旋转 |
| 身上的影子 | 路径 | 路径 |
风格化
| 火光 | 1、新建椭圆形状图层,颜色改为与火焰相同,混合模式改为强光 2、添加‘效果-模糊-高斯模糊’,数值改为80 3、添加‘效果-散布’,数量增加到360,勾选随机分布每个帧 4、添加‘效果-时间-色调分离时间’,帧率10 5、大小建立关键帧,添加loopOut()表达式,做成火光闪烁的效果 |
‘效果-散布’增加噪波效果 |
|---|---|---|
| 地面的阴影 | 1、添加‘效果-扭曲-湍流置换’,数量10,大小65,此时有扭曲效果 2、对演化参数添加表达式time*1080,让扭曲效果随时间变化强烈 3、表达式第一行加入posterizeTime(8),更具动画效果 |
将时间乘以任意数字,会使值的变化更明显 例如,将时间* 360 应用于“旋转”属性,使物体每秒旋转一整圈 ![]() posterizeTime()效果等同色调分离时间,但可用于单独的属性,效果只能用于图层 注意:如果使用posterizeTime()表达式,并与其他表达式如wiggle,loopOut,time等组合,请将posterizeTime()放在其他表达式之前的行上! |
| 月亮光辉 | 1、月亮图层添加图层样式-外发光,颜色白色,不透明度50%,混合模式改为滤色,大小35,杂色10% 2、大小参数建立关键帧,达成光芒闪耀效果 3、添加posterizeTime(10) |
|
| 月亮光波 | 1、新建纯色层,添加‘效果-无线电波’,发射点移到月亮上 2、频率0.5,扩展1.5,寿命6,描边改为白色,不透明度0.1,开始和末端宽度1 3、动画往前移,直到第一帧同时出现两个波纹,以达到完美循环 4、添加‘效果-扭曲-湍流置换’,大小24 |
‘效果-无线电波’提供扩散波纹动画 |
| 树木纹理 | 1、导入纹理psd 2、大小旋转建立关键帧,1个上下颠倒1个左右颠倒,保证纹理布满窗口 3、添加loopOut()使之循环,选中关键帧右键切换定格关键帧 4、加入主合成中,因为纹理层是合成因此不能使用效果-设置遮罩,采用TrkMat方法建立遮罩 5、透明度50% 6、篝火堆也需添加纹理,使用‘效果-填充’改变其颜色为火焰色,混合模式改为叠加 |
定格关键帧消除关键帧间参数变化产生的补充动画,直接跳转两个关键帧画面 |
| 木桩上光辉 | 1、位置,上下移动,loopOut() 2、缩放,posterizeTime(5),wiggle(3,10) 3、不透明度,posterizeTime(8),wiggle(3,50) 4、加入主合成中,采用TrkMat方法建立遮罩 5、将任一木桩的光辉动画偏移,不要让其同步播放 |
|
| 人物动画 | 添加色调分离时间,帧率15,增加手绘动画效果 |
压缩体积
地址:https://ezgif.com/
优化方法:有损GIF
效果图


