Nodes · Transform
CameraShake
Transformv1coreConcat: Xform
Overview
Shake the picture like a camera: pick a preset (Handheld, Walking, Running, Vehicle, Explosion hit, Earthquake) and turn intensity for how far and speed for how fast. hide_edges zooms in just enough that the frame's edge never shows, and motion blur is on. It is a Transform underneath, so it joins the Transforms around it in one resample. The viewer draws the shake's path over the range with a dot at this frame.
How to
How-to
- Wire the plate (or the finished comp) into a CameraShake and pick a preset: Handheld, Walking, Running, Vehicle, Explosion hit, Earthquake or Subtle float.
- Turn
intensityfor how far it moves (pixels) andspeedfor how fast (wobbles a second);roughnessadds jitter,rotationandzoomadd turn and breath. hide_edges(on) zooms in just enough that the frame's edge never shows; motion blur is on, as a real shake has.- For impacts, list frames in
hits(24, 60);hit_strengthandhit_decayset how hard and how long they ring.start,endandeaselimit when it shakes. - The viewer draws the shake's path over the range with a dot at this frame. It is a Transform underneath and joins the Transforms around it in one resample.
Inputs
| Input | What it takes |
|---|---|
| in | the image this node works on |
Outputs
| Output | Type |
|---|---|
| out | Image |
Parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
| intensity | Float | 8.0 | How far the picture moves, in pixels. The shake reaches about this far at its peaks and rarely past it. |
| speed | Float | 2.0 | How fast it shakes: wobbles per second. 1 to 2 is a person holding the camera, 3 to 4 is running, 6 and up is an engine or a road. |
| roughness | Float | 0.4 | How jittery the motion is. 0 is a smooth, floating drift; 1 adds fine, fast jitter on top of the sway. |
| rotation | Float | 0.3 | How far the picture turns at its peaks, in degrees. Real handheld is usually under 1. |
| zoom | Float | 0.0 | How much the picture breathes in and out, in percent. 0 = no push. |
| horizontal | Float | 1.0 | How much of the shake is side to side (0 to 1). Lower it for a walk, whose bob is mostly vertical. |
| vertical | Float | 1.0 | How much of the shake is up and down (0 to 1). |
| seed | Int | 1 | Which shake: the same numbers with another seed give a different motion with the same character. |
| hide_edges | Bool | true | Zoom in just enough that the edge of the frame never shows, on any frame: worked out from how far the shake can move and turn, so the zoom is steady. Off shows the frame moving over black. |
| motionblur | Float | 0.5 | Motion blur from the shake's own movement, as on Transform: 0 = off, 1 = everyday quality. A shake without blur looks like a jittery overlay. |
| shutter | Float | 0.5 | How long the shutter stays open, in frames (0.5 = a 180 degree shutter). |
| shutter_offset | Choice | centred | Where the shutter sits around the frame: centred on it, starting at it, or ending at it. centredstartend |
| start | Int | 1 | The first frame that shakes. Before it the picture is still. |
| end | Int | 0 | The last frame that shakes; after it the picture is still. 0 (the default) shakes to the end of the shot. |
| ease | Float | 0.0 | Frames over which the shake grows in after start and dies out before end. 0 starts and stops at once. |
| hits | Text | Frames where a jolt hits, as a list: 24, 60, 112. Each kicks the picture a seeded way and rings down, on top of the steady shake: explosions, impacts, a door slam. | |
| hit_strength | Float | 3.0 | How hard each hit kicks, as a multiple of intensity. |
| hit_decay | Float | 12.0 | How many frames a hit takes to ring down. |
| filter | Choice | cubic | How the picture is resampled as it moves: cubic keeps it sharp; bilinear is softer and a little faster. impulsebilinearcubicmitchelllanczos |
| fps | Float | 24.0 | The project's frame rate when the node was made: speed is per second. Set by Forged; hidden. |
| disabled | Bool | false | Bypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back. |
| label | Text | A note shown under the node in the graph — what this node is FOR. Never affects the render or the cache. | |
| hide_input | Bool | false | Draw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap). |