2D 到 3D 空
将 2D 位置附加到 3D Null
thisComp.layer("3D Layer Name").toComp([0,0,0]);
使用标记淡入淡出图层以设置持续时间
fadeFrames = 6; m = 0; t=time;
if(marker.numKeys > 0) {
m = marker.nearestKey(time).index;
tag = marker.key(m).comment;
if(tag == 'Highlight'){
tMin = marker.key(m).time;
tMax = tMin + marker.key(m).duration;
if(t < tMin){
linear(time, tMin - framesToTime(fadeFrames), tMin, 0, value);
} else {
linear(time, tMax - framesToTime(fadeFrames), tMax, value, 0);
}
} else {
value;
}
} else {value}
在文本上垂直居中锚点
使锚点始终垂直居中在文本图层上
y=value[1]-sourceRectAtTime(time).height/2;
[0,y]
将此表达式应用于要控制的属性(如不透明度)并确保它引用正确的控制层。
value * thisComp.layer("Controls").effect("Control Name")("Checkbox");
// replace Checkbox Control with your checkbox control
使用 Null 控制形状图层位置 – 与育儿类似,但保持形状图层的相对位置。
control=thisComp.layer("Control NULL"); // your controller null
controlPos = control.toComp(control.transform.anchorPoint);
fromComp(controlPos)
// apply to position property
延迟
一定帧数的延迟属性
delay = 5; //number of frames to delay
d = delay*thisComp.frameDuration*(index - 1);
thisComp.layer(1).rotation.valueAtTime(time - d)
使用滑块延迟关键帧
使用滑块控件将关键帧动画延迟定义的秒数。像标记触发器一样工作,但更简单。对 MOGRT 有用
delay = thisComp.layer("Controls").effect("Delay")("Slider"); // pickwhip to your Delay Slider (in seconds)
valueAtTime(time-delay)
下拉菜单选择
通过下拉菜单选择控制图层的不透明度。在图层的开头添加一个数字 [1,2,3,etc] 使其工作
select = thisComp.layer("CONTROLS").effect("Dropdown")("Menu"); // pick whip to your dropdown
(select == parseInt(thisLayer.name[0])) ? value : 0;
冻结随机数
生成随机数
seedRandom(index,true);
myValue = random(50) ;
获取当前日期和格式
获取当前日期的有用片段
d = new Date(Date(0));
// Format Settings
divider = "/"
yearLength = 2; // use 2 for YY, 4 for YYYY
忽略父轮换
保持孩子的当前旋转,即使父母旋转。
value - parent.transform.rotation
忽略父级
以另一个图层为父级时保持图层的比例。应用于子层的缩放属性。
s = [];parentScale = parent.transform.scale.value;for (i = 0; i < parentScale.length; i++){s[i] = (parentScale[i]== 0) ? 0 : value[i]*100/parentScale[i];}s
忽略父级(如果父级有父级)
以另一个图层为父级时保持图层的比例 – 即使该图层有父级。应用于子层的缩放属性。
L = thisLayer;
s = transform.scale.value;
while (L.hasParent){
L = L.parent;
for (i = 0; i < s.length; i++) s[i] *= 100/L.transform.scale.value[i]
}
s
继承父不透明度
从父层继承不透明度
(hasParent) ? parent.opacity : value;
继承父不透明度(可编辑)
从父级继承不透明度,但保留子级的可编辑性
(hasParent) ? (parent.opacity/100) * value : value;
反转不透明度
与另一层的不透明度交替不透明度。
t = thisComp.layer("Back").transform.opacity // Pickwhip the layer you want to invert
循环输入和输出
在时间上向前和向后循环动画
loopIn() + loopOut() - value;
循环路径关键帧
在形状图层或蒙版的路径属性上无缝循环关键帧。
// loop path keyframes. Behaves like loopOut('cycle')
if (numKeys >1 && time > key(numKeys).time) {
t1 = key(1).time;
t2 = key(numKeys).time;
span = t2 - t1;
delta = time - t2;
t = delta%span;
valueAtTime(t1 + t)
} else {
value
}
循环摆动
无缝循环摆动表达式(以秒为单位)
frequency = 2; // wiggles per second
amplitude = 40; // amount of pixels to wiggle
secondsToLoop = 3; // time to loop in seconds
// --------
t = time % secondsToLoop;
wiggle1 = wiggle(frequency, amplitude, 1, 0.5, t);
wiggle2 = wiggle(frequency, amplitude, 1, 0.5, t - secondsToLoop);
linear(t, 0, secondsToLoop, wiggle1, wiggle2)
保持描边宽度
在缩放图层时保持笔触宽度。应用于笔画宽度属性\n
value / length(toComp([0,0]), toComp([0.7071,0.7071])) || 0.001;
文字图层的最大宽度比例
使用 scale 属性限制文本层的最大宽度
maxW = effect("max-width")("Slider"); // pick whip to your slider
sourceW = sourceRectAtTime(time,true).width;
分色时间 + 摆动
使用摆动表达式添加分色时间定格动画效果。
f = 2;
a = 10;
posterizeTime(f);
wiggle(f, a);
将图层缩放到特定宽度
缩放图层以适合像素宽度。应用于比例属性
w = 600; // set to your target width
s = 100*w/thisLayer.width;
[s,s]
使用下拉菜单显示/隐藏图层
应用于图层的不透明度属性。将图层名称更改为以 [1,2,3] 开头以匹配 Dropdown 控件。\n
select = effect("Dropdown Control")("Menu").value;
标记上的触发表达式
使用标记触发操作的样板表达式
n=0;
if(marker.numKeys>0) {
n=marker.nearestKey(time).index;
if(marker.key(n).time>time) {
n--;
} if(n==0) {
value;
} else {
t=time-marker.key(n).time; //time since marker
//Do Stuff
}
} else {
value;
}
在两个值之间随机摆动。
min = -10; // minimum value
max = 50; // maximum value
freq = 5; // wiggles per second
amp = Math.abs(max-min)/2; // amount to wiggle
offset = (max+min)/2;
wiggle(f, a) + offset;
将摆动限制为一维(X 或 Y)。注意:摆动 X 尺寸。仅对于 Y 维度,将最后一行更改为 [value[0],w[1]]
frequency = 2;
amplitude = 10;
w = wiggle(frequency, amplitude);
[w[0],value[1]]
参考:
1.https://aereference.com/expressions
2.OD 晚点加