嘿嘿,火星挂了的前一天又装了台新机用来学习,新机就是顺手,谁知道火星紧接着就挂了,都赶到一块了。。
最近学起了maya,其余的心思也都放到了df上,脑子乱,ae给冷落了,嘿嘿,发个教程练练手,可不能学一个丢一个。。咳
开始了。
先看一种效果:新建一comp,一solid,进行缩放,具体参数如图
此主题相关图片如下:
给这个solid的缩放属性添加表达式(alt+scale的马表),具体如图
给这个solid的缩放属性添加表达式(alt+scale的马表),具体如图
对这个表达式要说两句,让大家都详细的明白其意思。
max=10;
sudu=10;
decay=0.1;
x=scale[0]+max*Math.sin(sudu*(time-in_point))/Math.exp(decay*time);
y=scale[0]*scale[1]/x;
[x,y]
ps:这里sin函数中的time-in_point大家先不用管,可以先看作是time,可为什么要减去in_point呢?后面我会提及,接着往下看
这个表达式中,max表示缩放变化的最大值,sudu就是速度,是指变化的速度,decay是控制变化的时长的。大家可以自己改变数值来查看各种效果。
正弦函数的图大家肯定都知道,波浪形,在正一与负一之间往返,这就是我们这里变化的核心,我们只是把这个函数的函数值的范围进行控制,那就是max的作用,sin的函数值只是1到-1,max乘以函数使其函数值变成max到-max。
exp函数是指数函数,不断增加的图象,忘了的话翻高中数学书~~这里sin函数下面除以了exp函数,那就是表示对一个固定变化范围的函数值除以一个不断增大的函数值,其结果?~当然最终的数值是不断的减小的,而且是非线性的,这对最后的效果会显得很自然~
上面两段说的是x=scale[0]+max*Math.sin(sudu*(time-in_point))/Math.exp(decay*time);
我们来看y=scale[0]*scale[1]/x;
变化一下scale[0]*scale[1]/x就是scale[0]/x*scale[1],我们变换了一下位置而已,但是可以更好的理解,前两项scale[0]/x中,我们从上面的内容可以了解到,x=scale[0]+max*Math.sin(sudu*(time-in_point))/Math.exp(decay*time),这是指x要比scale[0]大了max*Math.sin(sudu*(time-in_point))/Math.exp(decay*time)此时的scale[0]/x当然的就是一个很小的数了,其结果基本同x的倒数相似了,但不等同于其倒数,我们换算一下就可以了解:
从上面的图可以看出,这是一个比较小的数,但不是绝对的,它取决于scale[0]这个数值,所以我们在对一个图像添加该表达式的时候要注意缩放到一定大小,调试的时候可以注意一下。
差不多了都明白了吧。。
接着,预览,该solid开始上下左右的缩放,上下的幅度大于左右的,效果类似于果冻掉到桌子上。。。嘿嘿。为了看的效果明显一点,我把上面的表达式中的decay的0.1改成了0.3
现在重建一个comp,我们来对这个效果进行一个小的应用。
我建立三个text层,看:
7、
给每个text都添加上面的表达式,但是把max的值调大,我这里是60,大家随意
8、
预览。发现变形是从每个字的左下角开始变形的,这是因为中心点默认在左下角
10、
预览
这样出现字想必比较突然,我们加入入场的情节
把这三个复制,关闭复制层的表达式
调整原先的层的入点,如图
ps:现在明白为什么要用time-in_point而不用time了吧?呵呵~
此主题相关图片如下:
11、
把复制层的起始位置调整到如图,,加关键帧
此主题相关图片如下:
12、
拖动时间线到原先三层的入点,做给复制层的位置加关键帧,位置如图
13、
衔接成功~
预览,效果一般,直上直下的落下感觉不是很自然,我们给入点的位置稍作变动,偏向旁边一点
此主题相关图片如下:
14、
预览,调整位置的速度图,要有俯冲的感觉
15、
暂时想不出别的了,大家还可以随意发挥哈~