使线段两端跟随两个图层的位置移动

  • 创建形状图层 - 添加路径
  • 形状图层 - 路径添加如下表达式:
// 把 A、B 的锚点转换为合成坐标
var A_comp = thisComp.layer("形状图层 2").toComp(thisComp.layer("形状图层 2").anchorPoint);
var B_comp = thisComp.layer("形状图层 3").toComp(thisComp.layer("形状图层 3").anchorPoint);

// 把合成坐标转换为当前 Shape Layer 的本地坐标
A = thisLayer.fromComp(A_comp);
B = thisLayer.fromComp(B_comp);

// 创建开口路径
createPath([A, B], [], [], false);

数字增长效果

  • 可以突破“编号”最大30000的数值限制
  • 文本图层 - 源文本添加如下表达式:
// ---------- 参数设置 ----------
var duration = 3;      // 动画总时长(秒)
var start = 0;         // 起始数字
var end = 50000;       // 结束数字
var decimals = 0;      // 保留小数位数

// ---------- 缓动设置 ----------
// 数值越大越慢,推荐参数范围: 1 < n < 5
var a = 1;             // 缓动曲线开头参数
var b = 4;             // 缓动曲线结尾参数

// ---------- 计算归一化时间 ----------
var t = clamp((time - inPoint)/duration, 0, 1);

// ---------- 曲线计算 ----------
var progress = Math.pow(t, a)/(Math.pow(t, a)+Math.pow(1-t,b));

// ---------- 基础数值 ----------
var val = start + (end - start) * progress;

// ---------- 动画结束后固定数字 ----------
if (t >= 1){
    val = end;
}

// ---------- 输出小数 ----------
val.toFixed(decimals);

矩形形状图层一端可伸缩变换

  • 形状图层 - 矩形 - 变换 - 锚点添加如下表达式:
[0,content("矩形 1").content("矩形路径 1").size[1]/2];

标签: none

添加新评论