Add closed captions or data driven graphics to your After Effects project using .csv files that a source text layer pulls data from.
Quick expression that will auto-resize a shape according to a text layer size.
Here is an example of my typical After Effects workspace. I like to have my Project Files on the far left with the Effects Control Panel to the right of it. This allows me to select any layer from the Comp’s Timeline and immediately see the effects applied to the selected layer without having to manually open the Effects Panel. I also keep my Motion Tracking panel next to the Timeline and below the Effects and Presets so I can quickly enter into Motion Tracking mode.
//FLICKER OPACITY blinkSpeed =10; n = Math.sin(time*blinkSpeed); if (n<=0) 0 else 100;
//OSCILLATE POSITION BACK AND FOURTH ON X AXIS: amplitude = 10; frequency = 3; temp=amplitude*Math.sin(time*frequency)+amplitude; // add the result to the current x pos temp=temp+transform.position[0]; //plug the new x into slot 0. y is currently left unchanged [temp, transform.position[1]]
//MAKE A LAYER BOUNCE: bounceSpeed=7; flight=01; bounceHeight=3.5; t=Math.abs((time*2*bounceSpeed)%2-1); t=linear(t,flight,0,0,1); b=Math.cos(t*Math.PI/2); value - [0,bounceHeight*b];
//FLICKER IN TO 100% OPACITY: //Adjust this flicker frequency to your taste flickerFrequency = 150; op = value; if(op > 0 && op < 100){ reverseAmt=100-transform.opacity; wiggledAmt=wiggle(flickerFrequency,reverseAmt); roundedAmt=Math.round((wiggledAmt/100)); roundedAmt*100; }
//BOUNCE ON MARKER EVENT (put in scale): n = 0; if (marker.numKeys > 0){ n = marker.nearestKey(time).index; if (marker.key(n).time > time){ n--; } } if (n == 0){ value; } else { max_dev=20; // max deviation in pixels spd=20; //speed of oscillation decay=6; //how fast it slows down t = time - marker.key(n).time; s = max_dev*Math.sin(spd*(t))/Math.exp(decay*t); value + [s,s]; }
//PENDELUM SWING: veloc = 10; //how fast it swings amplitude = 50; //how high decay = .999; amplitude*Math.sin(veloc*time)/Math.exp(decay*time);
———————————————————————————— //PENDULUM SWING ON MARKER EVENT(put in rotation): n = 0; if (marker.numKeys > 0){ n = marker.nearestKey(time).index; if (marker.key(n).time > time){ n--; } } if (n == 0){ value; } else { veloc = 10; //how fast it swings amplitude = 100; //how high decay = 4; t = time - marker.key(n).time; s= amplitude*Math.sin(veloc*t)/Math.exp(decay*t); value + s; }
//OSCILLATE LAYER IN AN ELLIPSE: //Custom Adjustments: radiusDistX = 30; //set to zero for up/down oscillation radiusDistY = 100; //set to zero for sideways oscillation period = 1; // DON'T ADJUST value + [Math.sin(time*period)*radiusDistX, -Math.cos(time*period)*radiusDistY]