ADOBE AFTER EFFECTS: Forum Expressions Tutorials Podcasts Creative Cloud

Shaking an AE camera (not footage!)

COW Forums : Adobe After Effects

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Colin CarverShaking an AE camera (not footage!)
by on Jun 20, 2012 at 9:22:21 pm

Is there a way to shake an actual AE camera in after effects? I know it's pretty simple to add a camera shake to pre-rendered footage using wiggle etc. but I want to actually shake the AE camera proper.

Return to posts index

Colin CarverRe: Shaking an AE camera (not footage!)
by on Jun 20, 2012 at 9:27:33 pm

(sorry, press post too soon!)

I know I could add a wiggle expression to the camera position property, but I can't figure out a way to make the shake go gradually from small to large.

Return to posts index

Tero AhlforsRe: Shaking an AE camera (not footage!)
by on Jun 21, 2012 at 4:37:30 am

Take a slider control (or whatever control you want) from Effect -> Expression Controls and pickwhip the wiggle value to it. Then animate the controller.

Return to posts index

John CuevasRe: Shaking an AE camera (not footage!)
by on Jun 21, 2012 at 12:57:01 pm

Because AE recalculates expressions on each frame a really smooth ramp up and down for wiggle is actually pretty difficult. Dan Ebberts wrote a brilliant expression though that does exactly that though, create smooth ramps up and down for wiggle.

Create a null and add 2 sliders and name them Frequency & Amplitude. Add this expression to the position property of your null and then parent the camera position to the null so that the wiggle is added to it. Just keyframe the null and you are all set:

freq = effect("Frequency")("Slider");
amp = effect("Amplitude")("Slider");

if (freq.numKeys > 0){
accum = 0;
v0 = freq.valueAtTime(0);
t0 = 0;
i = 1;
while (i <= freq.numKeys){
t = freq.key(i).time;
if (t < time){
accum += (v0 + freq.key(i).value)*(t - t0)/2;
v0 = freq.key(i).value;
t0 = t;
if (i == freq.numKeys){
accum += (time - t0)*v0;
accum += (freq + v0)*(time - t0)/2;
accum = freq*time;

Johnny Cuevas, Editor

"I have not failed 700 times. I have succeeded in proving that those 700 ways will not work. When I have eliminated the ways that will not work, I will find the way that will work."
---THOMAS EDISON on inventing the light bulb.

Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2016 All Rights Reserved