Skip to content

Camera Shake

A Camera Shake emitter shakes the camera for a moment: the jolt of an explosion, a heavy footstep, the rumble of an engine. It is made from an ordinary Part with Transform as Camera Shake. The Part becomes an invisible marker for where the shake comes from.

What it makes possible:

  • An explosion felt more the closer you stand. Falloff 80, Lifetime 0.6, an Amplitude graph from 2 to 0, a Rot. Amplitude graph from 1.5 to 0. The explosion’s On Emit event fires it.
  • An engine rumble near a machine. Mode Animate, Loop on, Amplitude 0.15, Frequency 18, Falloff 40.
  • Heavy footsteps. A short shake nested in the emitter that makes the dust of each step. Every puff of dust also thumps the camera.
  • An earthquake that builds. Lifetime 4, a Frequency graph from 3 to 14, an Amplitude graph from 0 to 1.5.

Exercise 11 makes a Camera Shake and adds it to an explosion.

Made fromAn ordinary Part, with ▾ ▸ Transform as Camera Shake
One particle isOne running shake. Nothing is created in the workspace.
Emit count starts at1
ModesEmit and Animate
SectionsEmission, Shake, Events, Advanced
Not presentSpawn, Motion and Link. There is no Linger row and no Emit Into row.

Select an ordinary Part that has not been transformed. Press ▾ beside Transform, then click Transform as Camera Shake.

  • The Part turns invisible.
  • Meshes and decals inside the Part are removed.
  • The Part’s collision is left as it was.
  • Nothing of the Part’s look is kept. The Part only marks a place.

The Emit count starts at 1. A new Camera Shake plays at the first press of the Emit button.

A shake moves the current camera. It is added on top of wherever the camera is placed in each frame. When the shake ends, the camera is exactly where it would have been without it.

The camera is pushed along three directions of the view: sideways, up and down, forward and back. It is tilted on three axes: pitch, yaw and roll.

RowKindStarts atUnitWhat it does
ModeListEmitEmit or Animate. See Emit against Animate.
LoopSwitchOffShown in Animate mode. Repeats the shake until switched off. Switching it on starts a shake at once.
EnabledSwitchOffShown in Emit mode. Starts shakes at the Rate until switched off.
RateNumber10Shakes per secondShown in Emit mode. How many shakes start each second while Enabled is on, or during a Duration.
LifetimeTwo numbers0.5SecondsHow long each shake lasts. Each picks a value between the two.
TimescaleGraph1The speed of the shake’s own clock. It slows, pauses or reverses the shake.

The Emit, Delay and Duration boxes on the HUD fire a Camera Shake as they fire any other emitter. Emission and the HUD describes the shared rows in full.

RowKindStarts atUnitWhat it does
AmplitudeGraph1StudsHow far the camera is pushed, over the life of the shake.
Rot. AmplitudeGraph0.6DegreesHow far the camera is tilted, over the life of the shake.
FrequencyGraph10About changes of direction per secondHow fast the shake wobbles, over its life.
FalloffNumber0StudsThe distance from the Part at which the shake has faded to nothing. At 0 there is no fade.

The three graphs start level. A new shake runs at full strength for half a second and stops dead. A graph that falls to 0 gives a shake that dies away.

The push at any instant is up to about half the value.

RowValueThe camera moves
Amplitude1Up to about half a stud each way.
Amplitude2Up to about 1 stud each way.
Rot. Amplitude0.6Up to about 0.3 degrees each way.
Rot. Amplitude2Up to about 1 degree each way.
  • At an Amplitude of 0 the camera is not pushed. At a Rot. Amplitude of 0 it is not tilted.
  • A value below 0 mirrors the motion.
  • Both graphs act on all three axes. There is no switch for one axis and no separate row for roll.
  • The plugin sets no upper limit on either row.
FrequencyThe shake
10A nervous rumble.
2A slow sway.
0The camera holds a fixed offset and does not shake.

Frequency is a graph, so the wobble can speed up or slow down during one shake. A change of Frequency during the shake never makes the camera jump.

Falloff weakens the shake with the distance from the camera to the Part. The strength falls in a straight line, from full at the Part to nothing at the Falloff distance.

With Falloff at 100:

Distance from the camera to the PartStrength of the shake
0 studsFull
25 studsThree quarters
50 studsHalf
100 studs and beyondNone

At 0 the shake is felt at full strength wherever the camera is. A value below 0 acts as 0. The empty box reads studs, 0=global.

CaseThe distance is measured to
The emitter is fired where it standsThe Part, where it is in each frame. Move the Part and the centre of the shake moves.
The Part is deleted during the shakeThe Part’s last position.
The emitter is nested in another emitterThe parent particle.
An event fires the emitter at a positionThat position, for the whole shake.

Several shakes at once are added together. Each shake has its own random pattern. Three shakes at once are stronger than one, and they do not move in step.

The plugin sets no limit on the total.

SettingShakes running at once
Emit count 1One shake, for the Lifetime.
Emit count 3Three shakes that overlap.
Enabled on, Rate 10, Lifetime 0.5About five. Ten start each second and each lasts half a second.
EmitAnimate
What playsA new shake for each emit.One shake for the emitter.
Emit count and RateUsed.Not used. The Rate row is hidden.
Fired again while playingAnother shake is added.The press is ignored until the shake ends.
LoopNot shown.Off: the shake plays once and ends. On: a steady rumble until Loop is switched off.

With Loop on, the graphs replay every Lifetime, and Falloff is read again at each pass. The shake carries on smoothly from one pass to the next.

Pressing Emit shakes the camera of the Studio viewport. The camera is left exactly where it was.

Switching the plugin off during a shake puts the camera back at once.

Motion Preview draws nothing for a Camera Shake.

A shake moves the camera of one player: the one whose machine fires it. For every player’s camera to shake, each player’s machine must fire the emitter. See Firing an effect.

Fired from a server script, a Camera Shake does nothing. The Output window reads, once:

[Part-Icles] CameraShake ignored on the server (no camera).

The Events section holds On Emit, On Death and On Destruction. There is no On Hit. See Events.

In an event script, payload.Particle is nil. The position reported is the camera’s. See The event script and its payload.

A Camera Shake can be nested in a Part, Model or Lightning emitter. It then fires once for each parent particle. See Nesting.

Emitters placed inside a Camera Shake are never fired.

RowKindStarts atWhat it does
Anim. StepsNumber100How many times the three graphs are read over one Lifetime. A value of 0 or less is run as 100.

The shake itself moves the camera in every frame. Only the graphs are read in steps.

Advanced describes this row in full.

ToolEffect on a Camera Shake
SizeMultiplies the Amplitude graph and Falloff. Rot. Amplitude is left alone.
TimeMultiplies Rate and the Frequency graph. Divides Lifetime.

Size and Time describes both tools.

  • No upper limit on the strength of one shake or on the total of several.
  • No setting for a player to reduce the shake.
  • No switch for a single axis. Both graphs act on all three axes.
  • No Linger row. A shake ends when its Lifetime ends.
  • A shake is felt by one player. A server script cannot fire it.
  • Emitters placed inside a Camera Shake are never fired.