当前位置: 主页 > 软件教程 > AfterEffects > [实例]AE表达式制作的文字3D“流”特效

[实例]AE表达式制作的文字3D“流”特效

2009-12-27   www.qhhhg.com / 整理 点击: 标签:特效 AE 表达式
  

  这篇教程将将通过制作一个复杂而有趣的效果,向大家解释AE表达式的使用过程和一般思路。  

  许多常用的合成软件都具有表达式的功能,用来实现一些特殊的效果。Aftereffects当然也不例外,Aftereffects提供基于JavaScript的优秀表达式工具和函数,使许多平时难以想象的效果的制作有了可能。有人也许会认为使用表达式会因为不熟悉脚本语言和 JavaScript而难以掌握,其实完全没有必要。不得不承认,对于那些完全没有编程基础的合成师而言,使用表达式可能会有一些困难,但是其实难度并不是太大的,而且在你用表达式完成了一个以往无法完成的效果时,成功的满足感会让你对AE和它的表达式充满兴趣。

  静态效果:

  动态效果:http://www.creativecow.net/articles/chao_joe/textstream/textstream_final.mov

  注:为了不重复那些手册里面有,而且是最基础的语法规则等基本常识,本文不再赘述这些内容。这些问题如有不明白请自己查阅,对于那些没有看过相关的说明也没有任何编程背景的朋友,我建议先看一下再来。

首先让我们看看我们将要完成的是个什么样的效果。今天我们将要制作的是一股文字形成的“流”,就是说成千上万内容颜色各异的文字汇合成一股流,并且我们将可以通过一系列的控制杆控制整个“流”的形状,里面的文字的大小,路径,颜色,以及各项参数的随机程度。其实实用粒子系统可以制作类似的效果,但是,如果你需要你的粒子系统受某个路径的控制,这就比较困难了。例如,如果我们要这个流最终形成一个心形,这种效果AE以及大部分合成软件的粒子系统就有些力不从心了。当然,使用3D软件,例如3Dmax我们也可以完成这样的效果,但是也就意味着我们在把3D元素和合成的视频组合的时候可能遇到更加严重的困难。

好了,鉴于AE的粒子系统甚至插件也难以完成这样的特效,我们决定向表达式求助了。在设计表达式之前,就像所有程序设计的过程一样,我们需要了解我们需要完成什么,如何完成。我决定用这样的方法完成这个效果:首先创建一个“向导”层,他将按照我们给定的3D路径运动,然后我们将通过表达式创建一系列文字层,每一层都会自动模仿向导的动作,形成一股流。但是流的概念包括很多混乱因素,即所有文字层都模仿向导,但是每层都模仿的不完全一样,有的出发早,有的晚;有的飞行快,有的慢;有的大,有的小;颜色和文字内容也不一样;等等。之后,为了便于控制所有这些因素,我们还需要用一些控件对他们进行控制。这里补充一句,trapcode的插件在本教程写好几个月后更新了,已经具备了类似的功能。但是请注意,使用过的就会明白,这两者仍然是有区别的。

那么我们到底要计算机怎么做才能实现我们的要求的效果呢?首先要明白,计算机只不过是工具,他们不会直接给出解决的方案,他们最擅长的就是“模仿”。要知道我们需要他模仿什么,只要想,如果让你手动做这个效果,你怎么做?我们通常制作这个效果的方法是这样的:首先创建一个新的文字层,输入内容,设置颜色,设置关键帧动画,让它沿我们给出的路径运动。再然后复制该层,修改内容、颜色、关键帧、出入点等属性,得到一个新的“粒子”,然后再复制,再修改,直到拥有足够的粒子为止。使用这个方法,应该是可以实现这个效果的,而且其实一点难度都没有,不需要什么高级的操作。但是复制调节几十个层也许还只是比较累人,如果要调节几百个层呢?万一调节完了需要改动呢?看问题来了把?这就需要表达式出手了。但是到这里,我们也从中得到了灵感,就是我们将这些调整的工作交给表达式去做,中间给他赋予一些规则,让他按照这些规则完成我们的工作,而我们甚至可以随时修改某些规则,从而改变最终的结果。

明白了这些思路,我们得出了以下结论:

我们要对文字层的几个属性加入表达式,让计算机再合适的范围内,随机为属性选择数值,而所有层选择的规则又可以受一些统一的控件的控制。下面让我们进入实际的操作。之后为了在这个教程中显示这种做法带来的好处,我们将先建立一个3D的灯箱,然后让我们的文字流围绕这个灯箱,呈螺旋形运动。

1:制作一个3D的灯箱。(因为本教程的重点不是3D层的合成,这一段会比较简略。)

首先启动AE,建立一个新的comp,大小设置为400*400,命名为Cubeface。打开这个comp,创建一个400*400的solid层,颜色设置灰色,修改透明度值为50%,这层将成为灯箱半透明的玻璃部位。复制该层,设置透明度为100%,颜色改为白色,为图层添加一个矩形mask,设置maskshape为substract,mask expansion 为-17,得到了一个白色的框框,这个将成为灯箱的框。最后导入一个你喜欢的图片,放在最上层。这样灯箱的一面就做好了。

我的图片:

  2:新建一个comp命名为cube,倒入刚才制作的cubeface,复制为4个,转化为3D层,设置他们的position和orientation属性分别为下图,组成一个方盒子(没有底和顶)。

 

3:新建一个comp命名为main,长度设置为30秒,导入刚才制作的cube, 打开层塌陷开关,复制改层,把盒子堆叠成柱状,并用类似的方法制作一个文字框,组成一个灯箱,添加旋转关键桢,让灯箱的不同部件转动起来。为了让场景更加美观,我们用两个solid层制作了地面和背景墙壁,并添加了几盏灯光,让场景更加有质感。

最终整个场景的效果如图:

顶一下
(12)
80%
踩一下
(3)
20%
精彩推荐