CameraShake

Read with AI
All docs in one file (llms-full.txt)
CameraShake #3D #Node
CameraShake

Passes Camera In through unchanged while setting the internal trauma to 1 at the moment Shake Trigger fires, causing a shake. Trauma decreases linearly every frame by Decay × elapsed time, but the actual shake amount is the square of trauma, so it hits hard at first and then settles quickly. The shake uses Perlin noise: the position is offset along the camera’s local axes, and the rotation is added as Euler angles. Plug an audio onset into Shake Trigger and a camera that shakes on the kick can be built with a single node.

  • Position Amount (default 1)
  • Rotation Amount — degrees (default 3)
  • Frequency — how fast the noise advances (default 12, minimum 0.01)
  • Decay — the decay speed of trauma, per second (default 1.5, minimum 0.01)

While it is not shaking, the input camera is output as it is (settings such as orthographic projection are also preserved). When Camera In is not connected, the output is the default camera (position 0,0,-10 / FOV 60) being shaken.

Input ports

Port IDType
Camera InCameraDataInput
Shake Triggertrigger
Position Amountfloat
Rotation Amountfloat
Frequencyfloat
Decayfloat

Output ports

Port IDType
CameraCameraDataOutput

Scriptable members

PathType
amountInputfloat
rotAmountInputfloat
frequencyInputfloat
decayInputfloat

Synapse Apps (scripting)

await synapse.modules.create({ type: "CameraShake" })

Pages linking here

Also referenced from