-
[AE脚本开发]合并多条路径为一条
使用方法 选择要合并的路径, 运行脚本即可 脚本源码 'use strict'; var comp = app.project.activeItem; if (comp && comp instanceof CompItem) { var selectedShapes = comp.selectedProperties; var extend = function extend(array1, array2) { var newArray = []; for (var index = 0; index < array1.length; index++) { newArray.push(array1[index]); } for (var index = 0; index < array2.length; index++) { newArray.push(array2[index]); } return newArray; }; var selectedShapes = comp.selectedProperties; var propertyArrays = { featherInterps: [], featherRadii: [], featherRelCornerAngles: [], featherRelSegLocs: [], featherSegLocs: [], featherTensions: [], featherTypes: [], inTangents: [], outTangents: [], vertices: [], closed: false, }; for (var i = 0; i < selectedShapes.length; i++) { var prop = selectedShapes[i]; if (prop.matchName === 'ADBE Vector Shape') { var propV = prop.value; for (var key in propertyArrays) { if (key == 'closed') { propertyArrays[key] = propV[key]; continue; } if (propertyArrays.hasOwnProperty(key)) { propertyArrays[key] = extend(propertyArrays[key], propV[key]); } } } } var myShape = new Shape(); for (var key in propertyArrays) { if (propertyArrays.hasOwnProperty(key) && (propertyArrays[key].length > 0 || key == 'closed')) { myShape[key] = propertyArrays[key]; } } var newShapeLayer = comp.layers.addShape(); newShapeLayer.name = 'Merged Shapes'; var shapeGroup = newShapeLayer.property('ADBE Root Vectors Group'); var pGroup = shapeGroup.addProperty('ADBE Vector Shape - Group'); pGroup.property('ADBE Vector Shape').setValue(myShape); } else { alert('请在合成中选择路径!'); }…- 0
- 0
- 174