还记得上篇文章结尾处的“抽风小圆点”吗?你做出来了吗?
希望你们做不出来,哈哈,开玩笑。其实实现的办法有好多种,我也试过几种,经过自己的不断探索,我发现了我认为最“完美”的一种办法。它不仅容易实现,灵活性大,效果也是我认为最好的。
同样,我们要先来认识一个效果器 CC Smear(效果>扭曲>CC Smear),下面来看图说话。
我先画个圆,然后把CC Smear效果加到圆上,如下图:
快看,抽了。我们再来观察一下CC Smear的默认参数面板,聪明的同学也许看到这里已经猜出了我的办法。
根据CC Smear存在于扭曲分类中加上这么简单的参数面板,相信大家很容易就能理解这个CC Smear能够实现什么样的效果。我们试着来改变一下参数,Reach=45;Radius=45(说明:Reach和Radius数值尽量相近,以保证小圆点的圆度,而数值越大扭曲的程度也会越大,这里我只是大概设置了一下参数,大家可以随便调戏一下这些参数),如下图:
没错,那么“From”和“To”就是影响扭曲方向的坐标点,“From”一般默认在图形的原点位置,“To”就是这个扭曲的方向。到这里我们就已经完成了70%了。
我们试着移动小圆点,发现“From”和“To”并没有跟随着小圆点一起移动,且出现了诡异的扭曲,如下图:
所以我们接下来的工作就是要让“From”和“To”跟随着小圆点。那么怎么跟随呢?没错,还是用表达式。前面的文章中我们已经成功的利用表达式链接各种属性,这里还是熟悉的操作,熟悉的味道。我们让“From”和“To”关联小圆点的位置属性,具体操作如下:
同样alt+右键点击“From”和“To”前面的小砝码激活表达式面板,并把它们连接到小圆点的位置属性(温馨提示:点击面板中的锁头可以锁定面板的视图哦):
这时再移动小圆点我们可以发现“From”和“To”已经完全链接到位置属性了,但是小圆点并没出现“抽风”的症状?
因为我们还差最关键的一步,前面我已经了解了“To”的坐标位置是决定扭曲方向和程度的,当“To”和“From”坐标位置完全一致时,自然看不到效果,所以我们还需要对“To”做一个延迟表达式语句。还没忘记怎么写吧?
我们在“To”属性的表达式窗口中,“transform.position”后头加上“.valueAtTime(time-0.07)”(让它返回延迟了0.07秒小圆点的位置坐标,注意不要漏掉小点“.”)
然后我们对小圆点的位置属性随便做几个关键帧,效果如下(具体参数大家可以再细调以达到更佳的效果,这里我只是简单方法演示):
大功告成,我们来总结一下:
1.画个小圆点;
2.添加“CC Smear”效果器;
3.设置好“Reach”和“Radius”;
4.将“From”链接到位置属性;
5.将“To”链接到位置属性并延迟;
6.给小圆点位置属性加上关键帧后,我们不用考虑小圆点的速度,运动轨迹,运动方向,把它们交给程序去完成吧;
是不是很简单实用呢?你学会了吗?
『关于属性的维度问题』
在上一篇关于linear的文章中,很多人都遇到了位置的x轴属性怎么链接缩放属性的问题,其实就是一维属性怎么链接二维或者三维,四维属性的问题。
下表是各种维度的属性参考(引用官方说明文档):
一般情况下,你在表达式的结尾输入“x”(x的定义根据你表达式的前文),该属性的最终返回值就是“x”的值;输入“[x,y]”,该属性的返回值就是“[x,y]”的值。一维的属性要求返回一个一维的值,二维属性要求返回一个二维的值,以此类推。
当你直接把位置属性的x轴关联给缩放属性,缩放属性最终返回了一个一维的值,自然就会报错。所以缩放属性的表达式结尾处一般我会这样写“[x,x]”。即让缩放属性的宽、高都等于x,其实只要你最终返回一个二维的值给它表达式就能正常工作(至于x,y,z...怎么定义就看你了)。详情也可以参考附件中的Ae源文件(请用CC或更高版本打开)。
那么本文就先到这了,如果你觉得本文对你有所帮助那就来个赞吧!我会毫不犹豫的收下的:)