AE 软件中用表达式实现“万花筒”动画效果
2016-05-30赵新春
赵新春
摘 要:AE中表达式语法继承了Javascript语法,好学易用,运用AE表达式控制可以轻松实现用复杂的关键帧才能编辑出的动画,也可简单的表现出图层间的链接关系,使动画表现出更丰富多彩的效果。本实例制作中运用表达式语句控制,并多次用到合成嵌套、空对象、蒙板遮罩技术,以上技术的综合、合理运用均为成功的完成本动画制作提供可靠保证。
关键词:合成嵌套;表达式;空对象;蒙版;slider和Angle控制器
1 前言
AE软件中的表达式控制功能却被很多使用者忽略,当制作者要在作品中表现出图层之间的动态链接、使用表达式语句解决复杂的关键帧才能解决的动画时,AE表达式还是一个很好的选择。下面笔者就用AE中的表达式控制的方法来实现一个复杂的“万花筒”动画的制作过程。
2 万花筒动画技术实现
(1)创建一个合成并名称为base,时长为15秒,为合成设置背景颜色为深蓝色,其中设置合成背景颜色的方法为选中base合成,Composition>Background Color。
(2)导入素材。在项目窗口中,双击鼠标左键或点击右键选择导入—文件选项,导入所需素材,本例中导入logo.png及circle.png图片,作为万花筒旋转元素中的基本体。
(3)创建图片运动的父对象-空对象。在base合成中,将素材logo.png拖放至时间线窗口中,并按键盘S键,设置缩放为50%,再添加一个空对象,空对象的添加方法是在时间线窗口—右键—新建—空对象,将空对象放置在logo.png图片的上层。空对象是一个无法渲染的空层,主要用来当作辅助物体,比如父物体,驱动子物体运动,本身却无需渲染出来。
(4)为logo.png添加表达式控制使其抖动。在base合成中选中logo.png层,按P键,为Position属性添加表达式,其表达式语句为Wiggle(5,10),此语句含义为:logo.png图像在舞台窗口中抖动,每秒钟抖动5次,每次抖动范围为10像素。
(5)下面为空对象层添加两个表达式控制器,分别为滑块控制器和角度控制器。此两个控制器可以控制子对象的旋转与明暗变化。添加两个控制器的方法为选中Null 1层,选择Effect菜单—Expression Controls—Angle Control 或者Slider Control 两个选项。添加两个控制器命令后,在特效控制面板中分别将Slider Control和Angle Control重命名为Opacity Control 和Rotation Control。接下来为两个控制器分别添加动作,其中Rotation Control 添加两个关键帧,在第0秒和第15秒添加关键帧,参数分别为0×+0.00和 1×+0.00;为Opacity Control 添加3个关键帧,在第0秒、7.5秒和15秒添加关键帧,参数分别为100%、50%、100%。
(6)為logo.png层旋转属性、透明属性添加表达式如下:
Rotation(旋转)属性表达式为:
thisComp.layer("Null 1").effect("rotation Control")("Angle")
Opacity(透明)属性表达式为:
thisComp.layer("Null 1").effect("opacity Control")("Slider")
其中“Null 1”为空对象层的名称,将logo.png层旋转属性、透明属性链接到Null 1层的slider控制器与Angle控制器上,使之受两个控制器的控制。
(7)为logo.png层的Hue\Saturation属性添加控制色相\饱和度的表达式。添加表达式前,需要在特效控制面板中勾选Colorize(渐变色调替换)选项,然后为logo.png层的Hue\Saturation属性中Colorize Hue属性添加控制色相\饱和度的表达式为:
transform.rotation,此语句添加,使得logo.png图像的颜色变化随着logo.png图像的rotation属性值的变化而变化。
(8)合成嵌套。复制base合成,重新命名为:wht_base。在wht_base合成中,复制出4个logo.png图层,并为图层重新命名为1、2、3、4、5,为5个图像图层分别设置不同position位置,在舞台中摆放。分别为5个图像图层设置不同的旋转方式,添加表达式语句如下所示:
5层表达式为:
thisComp.layer("Null 1").effect("rotation Control")("Angle")
4层表达式为:
thisComp.layer("Null 1").effect("rotation Control")("Angle")*3
3层表达式为:
thisComp.layer("Null 1").effect("rotation Control")("Angle")*2
2层表达式为:
thisComp.layer("Null 1").effect("rotation Control")("Angle")*-2
1层表达式为:
thisComp.layer("Null 1").effect("rotation Control")("Angle")*-1
(9)复制wht_base合成,将新合成重新命名为:wht_base_part1_pre。在此合成中将1、2、3、4层删除,保留5层图像并将图像摆放在舞台中心。选中图层5及Null 1图层,按Ctrl+Shift+C键创建新合成,在弹出的对话框中,为新合成命名为:wht_part1。在wht_part1合成中,导入素材circle.png。为wht_base_part1_pre层添加Mask蒙版,添加蒙版使用矩形工具和钢笔工具共同完成,效果如下图所示。蒙版添加结束后,在时间线窗口将circle.png层隐藏。
(10)选中图层wht_base_part1_pre及circle.png图层,按Ctrl+Shift+C键创建新合成,在弹出的对话框中,为新合成命名为:wht_base_part1。在wht_base_part1合成中,按Ctrl+D键,复制出7个图层,并分别命名为1、2、3、4、5、6、7、8。为8个图层的Roation属性添加表达式,添加表达式语句如下所示,并分别为2、4、6、8图层的Scale属性设置参数值分别为(-100,100)。至此,第一个万花筒变换动画效果制作结束,效果图如下所示:
3 结束语
在此实例的实现过程中,由于篇幅有限,笔者仅完成了一重的万花筒旋转变形效果。那么,在以上的基础上,细心的读者可以按照以上步骤继续制作出另外两个合成,每个合成都如上效果所示,然后将三个合成最终合并在一个总结合成中,用表达式调整旋转角度,这样可制作出变换更加丰富的万花筒效果。
参考文献
[1]彭超.After Effects CS6完全自学手册[M].海洋出版社.2013