I used to add one keyframe to the camera to prepare the camera for a shake action. Then open the graph editor and add a noise modifier on the Z-location and Y Euler rotation. I don’t need an addon for that, I said. Now I see the Camera Shakify addon, and I talk differently. The addon is a little addon that doesn’t occupy the N-panel, and it is also free. So for me, reasons enough to have this addon in the toolbox.
How the Camera Shakify addon works
Super simple! Select your camera and under Camera Shakify you press the + button. Then, next, to shake, you see a drop-down and choose a preset. You can set the influence, scale, and if need the speed and Frame Offset. If something doesn’t seem right, press the button Fix All Camera Shakes.
A quick peek into the code.
From now on I will take a peek into the code for free addons. And as I peek into the files, there are three: __init__.py, action_utils.py, and shake_data.py. We start with __init__py because that is the file that blender reads as first. We see some imports, followed by a Panel class. A Panel class is to draw the user interface in Blender. The next class is a UI list, and honestly, I’ve never used this before. If you are like me and want to learn about it, visit this page of the Blender API.
Next are a few functions and operators. In the first function, it looks like actions (text from shake_data.py) got linked to the camera. And the second function ensures actions in the UI got refreshed. The last function is the fix when something doesn’t seem right.
In the file action utils.py, there are 3 functions related to action, curves, and data. And shake_data.py contains pure data of the shakes.
So, what I see here is that there is a data file, which looks like JSON to me, and action_utils.py translates that into curves. Meaning that this addon is not using noise modifiers to let the camera shake.
Where to get the Camera Shakify Addon
You can get the Camera Shakify addon on Github (Cessen). Click the green button, and click download zip. It is always good to check if there are newer versions and to read instructions.