重置图层变换所有属性

干净!

重置图层变换所有属性

其他

用法:选择一个或多个图层,运行此脚本

重置图层的变换,比如拖拽创建形状图层的时候,会很方便
如果有关键帧的话,会在当前时间打个新关键帧,并重置。

代码

var comp = app.project.activeItem;
if (comp && comp.selectedLayers.length > 0) {
    for (var i = 0; i < comp.selectedLayers.length; i++) {

        var layer = comp.selectedLayers[i];
        reset_transform(comp, layer);
    };
} else {
    alert('您没有选中图层。');
};

/**
 * @description:重置图层变换,可以有关键帧
 * @param {*} comp :合成
 * @param {*} layer :图层
 */
function reset_transform(comp, layer) {
    var TRANSFORM = layer.property("ADBE Transform Group")

    // 锚点
    try {
        TRANSFORM.property("ADBE Anchor Point").setValue([comp.width / 2, comp.height / 2]);
    } catch (e) {
        TRANSFORM.property("ADBE Anchor Point").setValueAtTime(comp.time, [comp.width / 2, comp.height / 2]);
    }

    // 位置:要判断是否分离尺寸
    if (TRANSFORM.property("ADBE Position").dimensionsSeparated) {
        try {
            TRANSFORM.property("ADBE Position_0").setValue(comp.width / 2);  // X
            TRANSFORM.property("ADBE Position_1").setValue(comp.height / 2);  // Y
            TRANSFORM.property("ADBE Position_2").setValue(0);  // Y

        } catch (e) {
            TRANSFORM.property("ADBE Position_0").setValueAtTime(comp.time, comp.width / 2);  // X
            TRANSFORM.property("ADBE Position_1").setValueAtTime(comp.time, comp.height / 2);  // Y
            TRANSFORM.property("ADBE Position_2").setValueAtTime(comp.time, 0);  // Y

        }
    } else {
        try {
            TRANSFORM.property("ADBE Position").setValue([comp.width / 2, comp.height / 2]);
        } catch (e) {
            TRANSFORM.property("ADBE Position").setValueAtTime(comp.time, [comp.width / 2, comp.height / 2]);
        }
    }

    // 缩放 ADBE Scale
    try {
        TRANSFORM.property("ADBE Scale").setValue([100, 100, 100]);
    } catch (e) {
        TRANSFORM.property("ADBE Scale").setValueAtTime(comp.time, [100, 100, 100]);
    }

    // 旋转
    if (layer.threeDLayer) {
        try {
            TRANSFORM.property("ADBE Rotate X").setValue(0);  // X
            TRANSFORM.property("ADBE Rotate Y").setValue(0);  // Y
            TRANSFORM.property("ADBE Rotate Z").setValue(0);  // Z
        } catch (e) {
            TRANSFORM.property("ADBE Rotate X").setValueAtTime(comp.time, 0);  // X
            TRANSFORM.property("ADBE Rotate Y").setValueAtTime(comp.time, 0);  // Y
            TRANSFORM.property("ADBE Rotate Z").setValueAtTime(comp.time, 0);  // Z
        }
    } else {
        try {
            TRANSFORM.property("ADBE Rotate Z").setValue(0);
        } catch (e) {
            TRANSFORM.property("ADBE Rotate Z").setValueAtTime(comp.time, 0);
        }
    }

    // 方向
    if (layer.threeDLayer) {
        try {
            TRANSFORM.property("ADBE Orientation").setValue([0, 0, 0]);

        } catch (e) {
            TRANSFORM.property("ADBE Orientation").setValueAtTime(comp.time, [0, 0, 0]);
        }
    }

    // 不透明度
    try {
        TRANSFORM.property("ADBE Opacity").setValue(100);
    } catch (e) {
        TRANSFORM.property("ADBE Opacity").setValueAtTime(comp.time, 100);
    }
}

 

给TA充电
共{{data.count}}人
人已充电
AE开发脚本开发

【脚本UI】列表搜索框

2021-10-16 20:56:58

AE开发脚本开发

【脚本示例】随机添加效果

2021-10-18 22:32:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索