3

I actually found the answer in the CS3 scripting guide. CompItem#selectedLayers actually returns an array of AVLayer objects. AVLayer is a subclass of Layer and has quite a few attributes. Here are a few of them: Masks Effects Anchor points Position Scale X Rotation Y Rotation Opacity Oddly enough, when calling these attributes you need to pay attention ...


3

You can use ffmpeg to do something like this programmatically. It has the capability to composite and edit footage as well as adding effects and text. It is a command line app, so works in the shell of your choice on Linux/Mac/Windows. Youtube reputedly uses ffmpeg to process their videos, so it's safe to say that it's very widely adopted. FFMPEG is free and ...


2

Have you got the latest version? After Effects CC 2018 is all about data driven animation. Either way you can use external file to drive expressions (in older versions too) using the eval javascript function. I explain it on my blog thus: If you have a file that contains something like this: var vals = {"rotation":8, "scaleX":150, "scaleY":200}; you can ...


2

The size in pixels is easily computed as the source's original dimensions multiplied by the scale. Or in other words p = d × s where p=pixel dimensions required, d=source dimensions, s=scale. So to set the scale so that it takes a given source and makes it conform to a desired dimensions: s = p / d In an expression on the scale property you'd use var ...


2

You were close. if (numKeys > 1){ t1 = key(1).time; t2 = key(2).time; v1 = [95, 95]; //or if it's 3d [95, 95, 95] slider = comp("INPUT").layer("CONTROL").effect("Zoom intensity")("Slider"); v2 = [slider, slider]; // or [slider,slider,slider] if 3D linear((time, t1, t2, v1, v2); } else { value } You were right that the scale property ...


2

The easiest way to do this is to use an expression. First you convert audio to keyframes. Then set an expression on your opacity channel. If you drag the pick-whip for the expression to the audio keyframe property you'll get an opacity that bounces all over the place like crazy, so we're going to have to do a bit more to it. First, in the opacity channel ...


2

I found the right property that has to be changed and wrote a function that does the job: function renameComposition(newName) { var curComp = null; for (var i = 1; i < app.project.numItems +1; i++) { if(app.project.item(i) instanceof CompItem) { curComp = app.project.item(i); curComp.name = newName; } }...


2

Make sure that only the comps you want rendered are in the top level of the project. If there are compositions that you don't want rendered, such as subcomps, put them in a folder in your project window


2

Scripting can do anything you can do with the UI. This isn't something you can do with the UI, so no, you can't do it with scripting. If you change the colour of precomp1.layer1.simpleRectangleLayer then it changes for all instances of precomp1. That's how precomps work. You'd have to make a script that would do the same thing you'd have to do with the UI—...


1

It depends how you mean: Option 1: If you put the image in Layer 1 inside a Comp, then any change to the image inside the Comp will change in both Layer 1 and Layer 2 (assuming you also put the Comp on Layer 2). Option 2: You could put a load of different images inside a comp, a different one on each frame. Then in your master comp, place this comp, but ...


1

Short answer: no. Long answer: There may be an unknown, undocumented hack that enables this, like modifying some of the core classes, or a workaround, like writing to a file and reading the results, but I've never heard of such a thing. You probably know this, but it might be worth spelling out the differences between the two. Expressions are evaluated ...


1

There are some built-in functions just for this purpose. You'll find them in the interpolation folder in the expression drop-down. The simplest is the linear() function: linear(t, value1, value2) This function interpolates in a linear fashion between value1 and value2 based on the value of t, where 0 ≤ t ≤ 1. So if t=0 the function returns value1 and if t=...


1

The Characteristic plugin for After Effects is built specifically for this: https://aescripts.com/characteristic/ You can set kerning and spacing parameters for each character. Check out this tutorial to see how the font is set up: https://vimeo.com/72438545 I hope this helps your situation!


1

I'd suggest animate the 'Opacity' property of the outer glow: Click to enlarge Create a keyframe by clicking on the stopwatch of outer glow 'opacity' and set its value to 0% Create a second keyframe and set its value to 100% Alt-Click the stopwatch to create an expression and insert loopOut(type = "pingpong") to get an endless loop of both values ...


1

To my knowledge there is no tool available for editing After Effects project files other than After Effects itself. However you can script After Effect using Adobe's Extendscript language, so that it will work without user interaction, and even without showing the GUI. Extendscript is based on ECMAscript (basically it's Javascript) and allows you to do ...


Only top voted, non community-wiki answers of a minimum length are eligible