返回列表 回复 发帖

表达式范例之多米诺骨牌效果

效果

新建一Comp,320X240,30fps,5s,图略
在Timeline中新建一深绿色Solid,打开三维层按钮,点击Comp窗口右下侧,将视角改为"Custom View1",调整为如下状态

调整相关参数,使绿色Solid的位置发生改变

导入一张多米诺骨牌图片,拖至Timeline中放在最上一层,同时打开三维层按钮

调整Anchor Point位置,使节点处于骨牌最下方中心位置

调整视角位置,Scale,Position位置,使其处于如图的位置

设置骨牌倾倒动画效果,为X Rotation设置关键祯

0:00:00:01/0x+0.0dgr
0:00:01:01/0x-89.0dgr

Ctrl+D复制"Domino.jpg"层,并分别把原来图片层和复制的图片层改名为"Domino1.jpg"和"Domino2.jpg"

按住Alt键配合鼠标点击"Domino2.jpg"层Position 前的码表,快速打开表达式输入框,然后用鼠按住表达式拾取按钮(右排三个按钮中的第二个蜘蛛网图案样式的按钮)不放,拖至"Domino1.jpg"的Position 上

这时候在表达式输入框中自动出现了一句代码:

thisComp.layer("Domino1.jpg").position
含义是当前层的Position位置与上一层的Position位置相同,但是我们在这个教程中想实现的效果是骨牌依此倒下的效果,所以位置不能重叠,我们在这句代码后面再加一句:

thisComp.layer("Domino1.jpg").position+ [85,0,0]
含义是当前层的Position的X轴比上一层的Position的X轴位置向右移了85个单位的距离
来看一下效果

骨牌倒下的时间是有一个时间差的,只有第一张倒下并碰到第二张时,第二张骨牌才会倒下,所以接下来设置时间差
按住Alt键配合鼠标点击"Domino2.jpg"层X Rotation 前的码表,快速打开表达式输入框,然后用鼠按住表达式拾取按钮(右排三个按钮中的第二个蜘蛛网图案样式的按钮)不放,拖至"Domino1.jpg"的X Rotation 上

这时候在表达式输入框中自动出现了一句代码:

thisComp.layer("Domino1.jpg").rotationX
含义是当前层的X轴旋转角度与上一层的旋转角度保持一致,但是这不符合物理规律了,所以我们对这句代码进行修改,修改如下:

thisComp.layer("Domino1.jpg").rotationX.value_at_time(time-0.4)
含义是当前层的X轴旋转角度与上一层的旋转角度保持一致,但是会延迟0.4秒的时间 看一下效果

感觉牌与牌之间的间隔太小了,第一张牌倒下去之后透视出现问题,我们把距离拉长一点:

thisComp.layer("Domino1.jpg").position+ [115,0,0]
选择"Domino2.jpg"层,Ctrl+D复制两层,分别改名为"Domino3.jpg","Domino4.jpg",

如上面代码所似,更改代码中的层文件名即可

效果截图:

返回列表