【AE脚本】批量分离mask或者更改mask模式

// by 熊喵

app.beginUndoGroup(mask操作)
var p = app.project.activeItem.selectedProperties;
var l = app.project.activeItem.selectedLayers;
if(p.length|l.length){
    if(p.length&&p[0].isMask){ //如果选中了mask,则批量将mask模式改为无
        for(var i=0; i<p.length; i++){ 
            p[i].maskMode = MaskMode.NONE
        }
    }else{ //如果没有选中mask,则分离所有选中图层的mask
        for(var i=l.length-1; i>=0; i--){ //处理所有选中的图层,因为会删除选中的层,所以反向遍历
            go(l[i])
        }
    }
}else{
    alert(请先选中图层或mask!,提示:)
}
app.endUndoGroup()

function go(layer){
    if(layer.mask.numProperties>1){ //mask数量至少大于1才做处理
        for(var i=1; i<=layer.mask.numProperties; i++){
            deleteMask(layer.duplicate(),i) //处理复制后的图层
        }
        layer.remove();
    }
}
function deleteMask(layer,index){
    for(var i=layer.mask.numProperties; i>0; i--){ //遍历mask然后删除,因为会删除mask,所以反向遍历
        if(i != index){ //排除指定的mask
            layer.mask(i).remove()
        }
    }
}

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

【AE脚本】批量变更图层叠加模式

2021-8-25 12:00:11

AE开发编程脚本开发

清除项目多余素材

2021-8-25 12:04:36

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