Pighaus Games Docs

These docs describe 1.3, which is in testing. The version on Fab is 1.1: read its docs.

Shakes in the world1.3

An explosion felt by distance, a place that shakes, a point of interest with a mood, a cutscene's hits, and Unreal's own camera shakes in both directions.

Most shakes start in gameplay code. These start somewhere else: at a place in the level, in a volume you walk through, in a point of interest, on a Sequencer timeline, or in Unreal's own shake system.

Played at a place#

Play Shake At takes a shake and the point where it happened, and works out how hard it should land from how far away the pawn is. You never calculate a strength at the call site, and the push points away from where it happened.

The shake asset carries the distances, under Played At A Place, because the right reach belongs to the event: a grenade is felt across a room, a collapsing building across a level.

SettingWhat it does
Inner Radiusfull strength anywhere inside this, in cm
Outer Radiusnothing at all beyond this
Falloffthe shape in between: Linear, Smooth, which reads as a wave arriving rather than a dial turning, or Inverse, which drops away fast and then lingers, the way real energy does over distance
Epicentre Biashow much the push points away from the blast, 1 being fully. Lower mixes in a random direction, so a distant rumble feels like it came from roughly over there. Only layers set to push From the event use it
Strength by distance for each falloff, the chosen one bright, with the radii dashed and the player marked.

For a one-off that's bigger or smaller than the asset usually is, pass your own radii to the call. A layer can also follow the distance itself with the Distance to where it happened driver: a far explosion that's all low rumble and a near one that's all kick can be the same shake.

Go deeperWhy distance is measured from the character

The camera sits behind the character and swings around as the shot moves. Measuring from it would make the same explosion a different strength depending on which way you happened to be looking. Measuring from the character keeps it steady.

Shake Volumes#

A Blendable Shake Volume is a box in the level, drawn in gold, that does any of four things. Each has its own switch, and they all work together:

SwitchWhat it does
Loop While Insideplays a Shake for as long as you're inside, strongest well inside and fading away towards the edges
On Enter and On Exitplay a Shake once as you walk in or out, send a named Camera Event, or both
Scale Groups Insidemakes some kinds of shake stronger or weaker while you're inside: quieter footsteps in a padded room, more rumble beside an engine
Swap The Handheldchanges the camera operator while you're inside: steadier in a lift, rougher on a boat deck

The loop fades over Edge Falloff, the distance in from the box's sides where it reaches full strength. Tick Fade At Top And Bottom for a box hung in the air, like a lift shaft. Leave it off for a box resting on the floor: it measures from the middle of you, so there you're never far enough in from the bottom to feel the loop at full strength.

A shake played on the way in or out pushes the way you were going, for any layer that follows the event's direction. Ignore Comfort on each part plays it at full strength whatever the player's comfort settings say, which is worth keeping for motion the scene can't do without.

Keeping it, or giving it back#

Mode decides what happens when you leave:

  • While Inside gives everything back. The loop fades out, the groups ease back and the handheld returns to normal.
  • Latch keeps its group scales and handheld after you leave, until another Latch volume changes them. The loop still only plays inside, and On Exit still plays.

A Latch volume's Groups list replaces the one an earlier Latch left, and an empty list puts those groups back. Leave a Latch's Handheld empty to put back the handheld an earlier Latch swapped in. Blend In Time and Blend Out Time set how long the group scales and the handheld take to arrive and go back.

Where several volumes scale one group, their scales multiply. Where swaps overlap, from volumes or from gameplay, the highest Priority wins, and the most recent on a tie.

Player Only ignores AI walking through. Enabled switches a volume off without removing it, and walking out still undoes what it started, so it's safe to switch off with the player inside.

Points of interest#

A point of interest can carry a mood with it while it holds the shot. Its Shake line has:

SettingWhat it does
Ambient Shakea shake that runs while the point of interest holds the shot, growing as it takes hold
Shake Strengthhow strongly, 1 being as authored
Ambient Shake Suppressionquietens the constant motion, bob, sway and lean, while it holds the shot: a quiet moment eases in with it
Transient Shake Suppressionquietens the one-offs, impacts, shakes and rumbles, while it holds the shot

Every point of interest gets its own place in the mix, so its shake arrives even while a Rig's handheld is playing, and the two blend.

Sequencer#

The Blendable Shake track plays one shake, picked on the track. A shake that runs until stopped plays for its section's length and follows the section's Intensity curve. One that plays once fires at each Intensity key, as strong as the key's value.

For a kick with a direction, Direction Source on the section is Vector, a direction you type in relative to the camera, or Bound Actor, which shoves the camera straight away from an actor bound into the sequence, picked in Impulse Actor. The bound actor stays right if the shot is re-blocked or the sequence reused with a different binding.

Sequencer shakes play as authored for everyone until you tick Obey Comfort Settings on the section. Tick it for anything long or violent enough to be uncomfortable.

The Blendable Effects Scale track sets the handheld and the shakes to a fixed level for a section, 0 for a locked-off shot. Sequencer has both tracks, and how a cutscene hands the shot back to gameplay.

Unreal's own shakes#

Shakes go both ways between Blendable and Unreal's own camera shake system.

Into Blendable: Play Engine Shake plays any Unreal camera shake class, so shakes from a marketplace pack still work beside Blendable's. The player's shake setting scales it, but it runs outside the mixer, so it isn't grouped, capped or quietened.

Out of Blendable: a Blendable Engine Shake is an Unreal camera shake class that plays a Blendable shake, for the places Blendable Shake doesn't reach: Sequencer's own Camera Shake track, the engine's camera shake notifies, Gameplay Cameras and Play World Camera Shake. The quickest way to make one is Create Unreal Camera Shake on the shake's panel, which makes the Blueprint beside it. On its pattern, Lasts For (s) sets how long Unreal plays a shake that runs until stopped.