【AE脚本】添加修剪调整图层 | 朝仓 | 免费

【AE脚本】添加修剪调整图层 | 朝仓 | 免费

UI版本

/*-------------------------------------
Select Parents N Children

Version History
1.0.0  -  Aug 16, 2021
    Initial release
-------------------------------------*/

//______Files Path______
var thisFile = new File(this);
var thisFolderPath = thisFile.path; 
//______Build Main Panel______
function buildUI(thisObj){
    if (thisObj instanceof Panel){
        var win = thisObj;
    }else{
        execute();
    }       
    return win;
}

try{
    var win = buildUI(this);
    var buttonRect = [0, 0, 170, 24];
    var panelButtonSpace = [5, 5, 5, 5];
    var buttonSpace = [0, 30, 0, 30];
    var buttonA = win.add("button", panelButtonSpace + buttonRect, "Trimmed Adjustment Layer");

    buttonA.helpTip = "Shift Click = Add adjustment layers to each selected layers";
    buttonA.onClick = function(){
        execute();
    }
}catch (e){
}
//try catch <-- To make it work even if you don't have it in ScriptUI Panels.

var comp = app.project.activeItem;

// Sort array
function sortArr(arr){
    arr.sort(function(a,b){
        if( a < b ) return -1;
        if( a > b ) return 1;
        return 0;
    });
}

// Add Trimmed Adjustment Layer
function atal(){
    app.beginUndoGroup("atal");
    var comp = app.project.activeItem;
    var slLayers = comp.selectedLayers;
    var inPArr = [];
    var outPArr = [];
    for(i=0; i<slLayers.length; i++){
        inP = slLayers[i].inPoint;
        inPArr.push(inP);
        outP = slLayers[i].outPoint;
        outPArr.push(outP);
    }
    sortArr(inPArr);
    sortArr(outPArr);
    app.executeCommand(2279);   //Adjustment Layer
    var slAdLayers = comp.selectedLayers;
    slAdLayers[0].inPoint = inPArr[0];
    slAdLayers[0].outPoint = outPArr[outPArr.length-1];
    app.endUndoGroup();
}

// Add trimmed adjustment layer to each selected layers
function atalEach(){
    app.beginUndoGroup("atalEach");
    var comp = app.project.activeItem;
    var slLayers = comp.selectedLayers;
    for(i=0; i<slLayers.length; i++){
        inP = slLayers[i].inPoint;
        outP = slLayers[i].outPoint;
        app.executeCommand(2279);   //Adjustment Layer
        var slAdLayers = comp.selectedLayers;
        slAdLayers[0].inPoint = inP;
        slAdLayers[0].outPoint = outP;
        slAdLayers[0].moveBefore(slLayers[i]);
    }
    app.endUndoGroup();
}

// Execute this script
function execute(){
    var keyboardState = ScriptUI.environment.keyboardState;
    if (keyboardState.shiftKey) {
        atalEach();
    }else{
        atal();
    }
}

无UI版本

/*-------------------------------------
Select Parents N Children

Version History
1.0.0  -  Aug 16, 2021
    Initial release
-------------------------------------*/

//______Files Path______
var thisFile = new File(this);
var thisFolderPath = thisFile.path; 
//______Build Main Panel______
function buildUI(thisObj){
    if (thisObj instanceof Panel){
        var win = thisObj;
    }else{
        execute();
    }       
    return win;
}

try{
    var win = buildUI(this);
    var buttonRect = [0, 0, 170, 24];
    var panelButtonSpace = [5, 5, 5, 5];
    var buttonSpace = [0, 30, 0, 30];
    var buttonA = win.add("button", panelButtonSpace + buttonRect, "Trimmed Adjustment Layer");
    buttonA.onClick = function(){
        execute();
    }
}catch (e){
}
//try catch <-- To make it work even if you don't have it in ScriptUI Panels.

var comp = app.project.activeItem;

// Sort array
function sortArr(arr){
    arr.sort(function(a,b){
        if( a < b ) return -1;
        if( a > b ) return 1;
        return 0;
    });
}

// Add Trimmed Adjustment Layer
function atal(){
    app.beginUndoGroup("atal");
    var comp = app.project.activeItem;
    var slLayers = comp.selectedLayers;
    var inPArr = [];
    var outPArr = [];
    for(i=0; i<slLayers.length; i++){
        inP = slLayers[i].inPoint;
        inPArr.push(inP);
        outP = slLayers[i].outPoint;
        outPArr.push(outP);
    }
    sortArr(inPArr);
    sortArr(outPArr);
    app.executeCommand(2279);   //Adjustment Layer
    var slAdLayers = comp.selectedLayers;
    slAdLayers[0].inPoint = inPArr[0];
    slAdLayers[0].outPoint = outPArr[outPArr.length-1];
    app.endUndoGroup();
}

// Add trimmed adjustment layer to each selected layers
function atalEach(){
    app.beginUndoGroup("atalEach");
    var comp = app.project.activeItem;
    var slLayers = comp.selectedLayers;
    for(i=0; i<slLayers.length; i++){
        inP = slLayers[i].inPoint;
        outP = slLayers[i].outPoint;
        app.executeCommand(2279);   //Adjustment Layer
        var slAdLayers = comp.selectedLayers;
        slAdLayers[0].inPoint = inP;
        slAdLayers[0].outPoint = outP;
        slAdLayers[0].moveBefore(slLayers[i]);
    }
    app.endUndoGroup();
}

// Execute this script
function execute(){
    /*
    var keyboardState = ScriptUI.environment.keyboardState;
    if (keyboardState.shiftKey) {
        atalEach();
    }else{
        atal();
    }
    */
   atal();
}

 

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

[AE脚本]选择轨道遮罩层

2021-9-10 13:54:57

AEAE开发AE插件/脚本脚本开发

【AE脚本】图层批量位移 | 朝仓 | 免费

2021-9-10 14:01:24

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