在After Effects(AE)中,跟随表达式通常指的是让一个对象或属性根据另一个对象或属性的运动来移动或变化。这在动画制作中非常有用,可以实现复杂的动态效果,而无需手动设置大量的关键帧。以下是几种常见的AE跟随表达式应用场景及其实现方法:
1. 路径跟随动画
实现原理:使用表达式可以让一个对象(如形状图层、文本层等)沿着预定的路径运动。这通常涉及到`pointOnPath()`方法,它可以根据路径的百分比位置返回该点的坐标。
关键代码示例:
“`javascript
var _path = thisComp.layer(“指定层名称”).mask(“蒙版名称”).maskPath;
var _percentage = thisComp.layer(“控制层名称”).effect(“结束”)(“滑块”) / 100;
position = _path.pointOnPath(_percentage, time);
“`
2. 摄像机角度跟随
实现需求:当需要对象始终面向摄像机时,可以使用`toWorld()`和`fromWorld()`函数来转换空间坐标,确保对象的朝向正确。
关键代码示例:
“`javascript
var cameraPOI = toWorld(thisComp.activeCamera.pointOfInterest);
var cameraPos = toWorld(thisComp.activeCamera.position);
var delta = sub(cameraPOI, cameraPos);
rotationZ = radiansToDegrees(Math.atan2(delta[0], delta[2]));
“`
3. 动态拖尾跟随
应用场合:创建物体运动后的拖尾效果,使拖尾跟随主体运动。
表达式示例:
“`javascript
delay = 5; // 延迟帧数
d = delaythisComp.frameDuration(index 1);
thisComp.layer(1).position.valueAtTime(time d);
“`
这段表达式可以加在位置属性上,以实现拖尾效果,其中`index`用于确定拖尾序列中的位置。
4. 层间属性跟随
说明:让一个层的属性(如位置、旋转)跟随另一个层的相同属性。
简单应用:
如果要让层B的位置跟随层A的位置,可以直接在层B的位置属性上使用表达式`thisComp.layer(“层A”).position`。
这些跟随表达式的应用大大简化了动画制作流程,提高了效率,使得复杂的动态效果变得易于实现。在实际操作中,根据具体需求调整表达式参数,可以创造出丰富多变的视觉效果。
原创文章,作者:AE插件合集,如若转载,请注明出处:https://www.aeheji.com/7160.html