Keyframe Trigger v1.8 更新 & 使用例
小小怀强
编辑于 2025年02月17日 21:54
收录于文集
共8篇

新版本与旧版不兼容!如果你已在部分工程中使用旧版,请不要直接升级。

新版本更新了「生成后冻结状态」、「缩放大小」、「第二图层」参数,并修复了位置偏移点不能为负的问题。

生成后冻结状态

勾选「生成后冻结状态」,这会使得图层在触发生成后,不会被「位置偏移」、「旋转角度」、「缩放大小」的后续变化所影响。

借助这个功能,可以有下面的玩法:

  1. 勾选「生成后冻结状态」、「控制器影响偏移」。

  2. 使用表达式,将控制器的值设死为 1。

接下来,你就可以将「位置偏移」当成粒子发射位置使用了。可以通过表达式来设置发射位置,也可以将其绑定到其他对象(例如空对象)的位置上。

「旋转角度」、「缩放大小」也生效。

建议图层大小与合成大小保持一致。

将空对象的位置作为发射源

借助表达式,也可以间接实现在三维空间下的发射,但仅适合在摄像机位置固定的情况下,且无法处理三维空间下的图层穿透。

例如,借助 AE 的 .toComp() 函数,将空对象在 3D 空间的坐标转换为相对于合成的坐标,进而实现类似在三维空间下的发射。

代码块
JavaScript
自动换行
复制代码
thisComp.layer("点光 1").toComp([0,0])
复制成功

更可以在「缩放大小」处借助表达式,计算空对象与摄像机之间的距离,进而得到应得的缩放比例。

代码块
JavaScript
自动换行
复制代码
camPos = thisComp.activeCamera.toWorld([0, 0, 0]);
layerPos = thisComp.layer("点光 1").toWorld([0, 0, 0]);
distance = length(camPos, layerPos);
focalLength = thisComp.activeCamera.zoom;

scale = (focalLength / distance) * 100;
复制成功

间接实现 3D 粒子

第二图层

可以在「第二图层」处选择其他图层源,可以实现只有最新生成的图层是图层本身,其余已经生成的图层变为「第二图层」。

第二图层

此版本地址:https://github.com/MixBadGun/Keyframe-Trigger/releases/tag/1.8.0