There are a couple different ways to create a camera shake effect in After Effects, so I’m going to show you the way that I like the best. It’s the most versatile and can be controlled much better than the wiggle template you can find in the effects panel. It’s actually much simpler than it looks. With a little configuration and one line of code you can create a really awesome looking camera shake.
I am going to go out on a limb and assume that you, the reader, know the very basics of After Effects. If you don’t, there is a great tutorial to get you started on the best After Effects site called Video Copilot. You can also check this list of websites where you can learn Adobe After Effects.
Okay, now I’m really going to begin.
You might want to take a look at the following related articles:
- 15 Best Broadcast Package Templates for After Effects
- 20 Social Media Inspired After Effects Templates
- Animate Logo Like in Movies Using After Effects Templates
- 18 Cool Adobe After Effects Presets for Amazing Text Effects
- 20 Interactive Infographics After Effects Project Files
I’m going to start with a simple shape – in this case I used a basic star masked out of a solid. You need to make the layer 3D by toggling on the 3D box on that layer (the solid star). The camera won’t work if you don’t have any 3D layers. My composition is just set to 5 seconds at 30 fps. Remember to also turn on motion blur for the composition as well as for each layer.
Now add a camera. You can keep the basic settings or change them if you know what you’re doing. The default settings work just fine. You can quickly add a camera by right clicking in the composition area and selecting New -> Camera.
Add a null object layer. You can do this by right clicking in the layers panel or the composition area and selecting New -> Null Object.
Within effects and presets, select “Slider Control”. Add two instances of the slider control to the null object. Each of these will be used to control the amount of wiggle on your camera.
Open the camera layer within the layers panel by selecting the arrow on the camera layer to open the controls for the position and rotation. Now you’re going to add a quick piece of code to connect the wiggle of the camera to the slider controls that you just made.Alt + click the small keyframe button beside the position attribute so that a text field will appear as well as a drop down underneath the position attribute with more options. These options are for expressions, which you are about to create.
Now you can add the little line of code that I was talking about. Within the text field on the timeline, add “wiggle(” (without the quotations). Now with your cursor still in the expression field, you will want to pickwhip the position attribute on the camera to the first slider control you have set up on the null object. When you do this a bunch of code will pop up in your cursor’s place that tells AE where it should reference to get the first value for the wiggle.
I should mention that the wiggle expression needs 2 different values to work. An example would be “wiggle(1,56)”. The first number tells AE the frequency of the wiggle, or how many times per second it should wiggle. The second value tells AE how many pixels it should wiggle.If you don’t know what “pickwhipping” is, don’t worry it’s really easy. All you do is click and hold the little swirly icon under the position expression attribute and drag it to the null object slider effect until it highlights the effect, and let go. That’s what pickwhipping is. It’s just an easier way of linking objects together rather than entering in all that code that AE generates for you when you pickwhip inside an expression.
Okay, so now you have pickwhipped one slider control, you need to pickwhip the other. In the expression text box in the timeline, add a comma and then pickwhip the other slider control on the null object. Add a closing bracket to your code, and you’re done!
So how do you make it work? All you need to do now is keyframe those two sliders to your liking and watch the wiggle effect make it’s magic. So, if the slider values are both set to zero, it won’t wiggle at all. But if you keyframe the sliders to suddenly go from zero to 10 and zero to 50, your camera will shake accordingly. Try to remember which slider you used for the shakes per second and amount of pixels to shake. A good way to do this is rename the Slider Control and Slider Control 2 to be called “Amount per second” and “Amount of pixels”. You can rename layers quickly by highlighting them and pressing enter.
wiggle(thisComp.layer("Null 1").effect("Per Second")("Slider"),thisComp.layer("Null 1").effect("Amount of pixels")("Slider"))
One Final Thought
Now, you may be asking yourself why go to all of this trouble pickwhipping and stuff when you have the “Wiggle Position” effect? Well, first off, the wiggle position effect doesn’t work on camera layers. Also, if you want your whole scene to shake, you are going to have to add the wiggle position effect to one layer or null object and then pickwhip all the layers you want to be affected to that layer.
Using the expression and sliders, you can do this all with one layer and control the whole scene using just those two sliders. This technique is a much cleaner way, and also lets you wiggle in 3D space – where the regular wiggle position effect only wiggles the x and y positions.
You can download the project file for free below: