首页 > 解决方案 > 使用 ExtendScript 将 compItem 转换为不同大小无法按预期工作

问题描述

我在 AfterEffect 的 ratio 中有一个 compItem 9:16。我正在编写一个脚本来自动将其转换为不同的大小/比率。例如 to16:9和 other 等。

如果我通过 AfterEffect 手动复制当前的 compItem 并更改像素大小(从 1080:1920 到 1920:1080),它会从顶部和底部平均裁剪视频,这很好。

但是通过 ExtendScript,如果我复制 & 然后更新width& height,它只会从一侧(底部)裁剪视频。

以下是我写的脚本。任何见解都会有很大帮助,谢谢。

var copies = {
    '4:5': [1080, 1350],
    '1:1': [1080, 1080],
    '16:9': [1920, 1080]
};

var currentComp = app.project.activeItem;

for (var i in copies) {
    var newCompItem = currentComp.duplicate();
    var width = copies[i][0];
    var height = copies[i][1];
    newCompItem.name = i;
    newCompItem.width = width;
    newCompItem.height = height;
};

标签: javascriptadobeextendscriptafter-effects

解决方案


可以通过以下步骤来实现:

  1. Null Object在当前合成中创建一个新的。
  2. 使其成为合成中所有图层的父级。
  3. 编写一个脚本来改变上述构图的大小。
  4. Null Object.

居中Null Object将自动居中图层,因为它是它们的父母。


推荐阅读