Skip to content

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

  1. Wire the plate (or the finished comp) into a CameraShake and pick a preset: Handheld, Walking, Running, Vehicle, Explosion hit, Earthquake or Subtle float.
  2. Turn intensity for how far it moves (pixels) and speed for how fast (wobbles a second); roughness adds jitter, rotation and zoom add turn and breath.
  3. hide_edges (on) zooms in just enough that the frame's edge never shows; motion blur is on, as a real shake has.
  4. For impacts, list frames in hits (24, 60); hit_strength and hit_decay set how hard and how long they ring. start, end and ease limit when it shakes.
  5. 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

InputWhat it takes
inthe image this node works on

Outputs

OutputType
outImage

Parameters

ParameterTypeDefaultWhat it does
intensityFloat8.0How far the picture moves, in pixels. The shake reaches about this far at its peaks and rarely past it.
speedFloat2.0How 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.
roughnessFloat0.4How jittery the motion is. 0 is a smooth, floating drift; 1 adds fine, fast jitter on top of the sway.
rotationFloat0.3How far the picture turns at its peaks, in degrees. Real handheld is usually under 1.
zoomFloat0.0How much the picture breathes in and out, in percent. 0 = no push.
horizontalFloat1.0How much of the shake is side to side (0 to 1). Lower it for a walk, whose bob is mostly vertical.
verticalFloat1.0How much of the shake is up and down (0 to 1).
seedInt1Which shake: the same numbers with another seed give a different motion with the same character.
hide_edgesBooltrueZoom 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.
motionblurFloat0.5Motion blur from the shake's own movement, as on Transform: 0 = off, 1 = everyday quality. A shake without blur looks like a jittery overlay.
shutterFloat0.5How long the shutter stays open, in frames (0.5 = a 180 degree shutter).
shutter_offsetChoicecentredWhere the shutter sits around the frame: centred on it, starting at it, or ending at it. centredstartend
startInt1The first frame that shakes. Before it the picture is still.
endInt0The last frame that shakes; after it the picture is still. 0 (the default) shakes to the end of the shot.
easeFloat0.0Frames over which the shake grows in after start and dies out before end. 0 starts and stops at once.
hitsTextFrames 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_strengthFloat3.0How hard each hit kicks, as a multiple of intensity.
hit_decayFloat12.0How many frames a hit takes to ring down.
filterChoicecubicHow the picture is resampled as it moves: cubic keeps it sharp; bilinear is softer and a little faster. impulsebilinearcubicmitchelllanczos
fpsFloat24.0The project's frame rate when the node was made: speed is per second. Set by Forged; hidden.
disabledBoolfalseBypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back.
labelTextA note shown under the node in the graph — what this node is FOR. Never affects the render or the cache.
hide_inputBoolfalseDraw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap).