使用 After Effects 表达式编写简单的阴影行为脚本
Using After Effects Expression To Script A Simple Shadow Behavior
我正在做一个 AE 项目,其中大约 50 个表情符号应该在 floor.To 上有阴影 floor.To 让事情变得更容易表情符号到地板上。
这是我试过的方法
Drop Shadow Approach
你可以看到影子在变大变小,但方向不对。因此,当表情符号靠近地板时,它会缩小,而当距离更远时,它会变大。我需要与当前行为相反的东西。
我该如何实现?
这是我对阴影层的 scale 属性 使用的表达式。阴影层与表情符号层是分开的。所以我的构图只有 2 层。
var y = thisComp.layer("smile").position[1];
var dist = Math.sqrt( Math.pow((this.position[0]-this.position[0]), 2) + Math.pow((this.position[1]-y), 2) );
newValue = dist ;
xScale = newValue;
yScale = newValue;
[xScale,yScale]
感谢您的宝贵时间。
这里的基本概念是将值从一个范围映射到另一个范围。你想说(例如)当距离在 0 到 100 之间变化时,比例应该在 1 和 0 之间按比例变化。
function map ( x, oldMin, oldMax, newMin, newMax ) {
return newMin + ( x - oldMin ) / ( oldMax - oldMin ) * ( newMax - newMin );
}
var minDistance = 0;
var maxDistance = 100;
var maxScale = 1;
var minScale = 0;
xScale = yScale = map( dist, minDistance, maxDistance, maxScale, minScale );
我正在做一个 AE 项目,其中大约 50 个表情符号应该在 floor.To 上有阴影 floor.To 让事情变得更容易表情符号到地板上。
这是我试过的方法
Drop Shadow Approach
你可以看到影子在变大变小,但方向不对。因此,当表情符号靠近地板时,它会缩小,而当距离更远时,它会变大。我需要与当前行为相反的东西。
我该如何实现?
这是我对阴影层的 scale 属性 使用的表达式。阴影层与表情符号层是分开的。所以我的构图只有 2 层。
var y = thisComp.layer("smile").position[1];
var dist = Math.sqrt( Math.pow((this.position[0]-this.position[0]), 2) + Math.pow((this.position[1]-y), 2) );
newValue = dist ;
xScale = newValue;
yScale = newValue;
[xScale,yScale]
感谢您的宝贵时间。
这里的基本概念是将值从一个范围映射到另一个范围。你想说(例如)当距离在 0 到 100 之间变化时,比例应该在 1 和 0 之间按比例变化。
function map ( x, oldMin, oldMax, newMin, newMax ) {
return newMin + ( x - oldMin ) / ( oldMax - oldMin ) * ( newMax - newMin );
}
var minDistance = 0;
var maxDistance = 100;
var maxScale = 1;
var minScale = 0;
xScale = yScale = map( dist, minDistance, maxDistance, maxScale, minScale );