[READ-ONLY] Mirror of https://github.com/probablykasper/2dcam. After Effects 2d camera
after-effects camera extendscript script
0

Configure Feed

Select the types of activity you want to include in your feed.

Added README.md with useful resources

Kasper (Mar 8, 2020, 4:31 AM +0100) 6f707856 e3bbfe83

+38
+38
README.md
··· 1 + # 2dCam 2 + 3 + ### Resources 4 + - [After Effects Scripting Guide](https://blogs.adobe.com/wp-content/blogs.dir/48/files/2012/06/After-Effects-CS6-Scripting-Guide.pdf?file=2012/06/After-Effects-CS6-Scripting-Guide.pdf) 5 + - [JavaScript Tools Guide](https://www.adobe.com/content/dam/acom/en/devnet/scripting/estk/javascript_tools_guide.pdf) 6 + - [Match names PDF](https://www.provideocoalition.com/aftereffects-plugin-match-names/) 7 + - Script for logging every match name of selected layer: 8 + ```js 9 + (function () { 10 + main(); 11 + function dumpPropTree(rootObj, nestingLevel) { 12 + var countProps = rootObj.numProperties; 13 + for (var propIndex = 1; propIndex <= countProps; propIndex++) { 14 + var prop = rootObj.property(propIndex); 15 + $.writeln(Array(nestingLevel * 4).join(" ") + "[" + nestingLevel + "-" + propIndex + "] " + "matchName: \"" + prop.matchName + "\", name: \"" + prop.name + "\""); 16 + if (prop.numProperties > 0) 17 + dumpPropTree(prop, nestingLevel + 1); 18 + } 19 + } 20 + function main() { 21 + var activeComp = app.project.activeItem; 22 + if (activeComp == null) { 23 + alert("Error: No active composition"); 24 + return; 25 + } 26 + var countSelectedLayers = activeComp.selectedLayers.length; 27 + if (countSelectedLayers == 0) { 28 + alert("Error: No selected layer(s)"); 29 + return; 30 + } 31 + for (selectedLayerIndex = 0; selectedLayerIndex < countSelectedLayers; selectedLayerIndex++) { 32 + var layer = activeComp.selectedLayers[selectedLayerIndex]; 33 + $.writeln("***************** [ Layer: \"" + layer.name + "\" ] *****************"); 34 + dumpPropTree(layer, 0); 35 + } 36 + } 37 + })(); 38 + ```