Pighaus Games Docs

These docs describe Fixed Angles and Blendshot, the next update, in development: everything in 1.3 and what it adds. 1.3 is in testing: read its docs.

Shakes1.3

The operator's breathing, the bob of a walk, a landing, a gunshot, an earthquake. Everything the camera does on top of the shot is a shake.

A shake is a Blendable Shake Asset, made of layers that add up, and every shake plays into one mixer that keeps them in proportion.

There's one asset type for all of it. What a shake is depends on its layers and where you put it, not on which kind of asset you made, so the same breathing can be a Rig's handheld one day and a Shake Volume's loop the next.

Where shakes play from#

FromForSet on
Bodythe character's own motion, always running: bob, sway, lean, landingsthe pawn's Blendable Shake
Handheldthe camera operator: breathing, drift, a beat late on every pan. It blends with the shoteach Rig, with a fallback on the Blendable Shake
Also Runninga constant shake that belongs to one shot, like an engine roomeach Rig
Play Shakeone-offs from gameplay: a gunshot, a hitany Blueprint or C++
Play Shake Atone-offs that happen somewhere, felt by distance: an explosionany Blueprint or C++
Event Shakesa shake you already have, played whenever an event happensthe pawn's Blendable Shake
Shake Volumea place that shakes, or changes how shakes feel inside itthe level
Point of interesta shake while it holds the shotthe point of interest
Sequencershakes on a timelinethe Blendable Shake track

The first three are handheld and body motion, the last four are shakes in the world, and playing one from gameplay is the last step of making a shake.

Layers#

A layer is one source of motion, and Makes picks the kind:

MakesMoves likeGood for
Noisea smooth random wander, with Roughness for grit on topbreathing, sway, a rumble
Kicka push that springs backhits, recoil, landings, footfalls
Wavea steady rhythm, in four shapesheartbeats, machinery, a boat on water
Curveyour own keyframes, per axischoreographed hits, recoil patterns
Stridea cycle locked to the footfallshead bob that never drifts off the steps
Responsea value, followed through a springleaning into a turn, lagging behind a start
Settlea quick jitter that dies away, in a few frequencies at once, with Roughness for gritsomething with weight snapping into place: a reload, a goggle locking down, a door slamming home

Each layer has three channels, each with its own switch, amounts and speed:

  • Movement (cm): forward, right and up.
  • Tilt (deg): pitch, yaw and roll.
  • Lens (deg): widening or narrowing the view. Off until you tick it.

They're kept apart because they read differently. Tilt shows at any distance and movement mostly shows up close, so a shake that's lively at three metres can go flat at eight. When that happens it's nearly always the movement that went, and the fix is more tilt rather than more of everything.

A Kick peaks at exactly its Amount, at any frame rate. You tune how it comes back with Settles In, the seconds it takes to come to rest, and Overshoot, how far past rest it swings, rather than with spring stiffness and damping, which nobody can picture.

A Kick over time, worked out the way the plugin does it: it peaks at exactly its Amount, swings back past rest by its Overshoot, and has all but settled by Settles In.

A Settle is the shudder after a snap, the jitter animators give a weapon as a magazine seats, to say it has weight. It jolts the way of its Amount at once and dies away to nothing by Settles In, shuddering Speed times a second (10 to 20 for a snap) in a few frequencies at once, so it reads as weight rather than a wobble; Roughness adds grit. Layer one under a Kick for a blow with weight behind it. Shake_Impact_Settle, in the library's Impacts, is one ready to use.

When a layer plays#

PlaysThe layer runs
Continuouslyfor as long as its shake does
Once, when the shake startsone go each time the shake is played
Every time an event happenson a footstep, a landing, a jump, or an event you name
Over and overevery so many seconds, or every so many centimetres the camera travels

The shake as a whole either plays Once and ends by itself, or runs Until stopped. That's Plays at the top of its panel, and whoever plays it can override it.

Events are how a shake reacts without anyone calling it. The pawn's Blendable Shake fires the built-in ones by itself, footsteps, landings, jumps, crouching, jolts and whip pans, and gameplay, animations and volumes can send any others by name. Camera events has the list.

Stronger and weaker#

Driven By makes a layer follow what's going on. Each driver listens to one thing, and as that goes from Starts At to Full At, the layer goes from Strength at Start to Strength at Full. Several on one layer multiply.

There are thirty-eight things to listen to. A few, to give you the idea:

  • Camera: speed, so the operator works harder when the shot travels.
  • Character: falling speed, for a buffeting that builds on the way down.
  • Effort, which builds over a sprint and lingers after it, like being out of breath.
  • Focus, which you set while aiming, to steady the hands.
  • Distance to where it happened, for a shake played at a place.
  • A gameplay value, by name: anything your game feeds in with Set Gameplay Driver.

Changes are eased by Rises Over and Falls Over, and Reacts After makes a layer a beat late. That last one is most of what makes an operator read as a person rather than a machine.

Never quite the same twice#

Variation puts a plus-or-minus on a layer's strength, speed, reaction delay, overshoot and direction. One-shots and event layers roll new values every time they fire. Continuous layers let the values wander slowly inside the range instead, so a long handheld take never settles into a loop you can spot.

For a cinematic or a replay that has to match exactly, tick Same Every Time on the shake.

The mixer#

Every layer plays into a mixer group: Handheld, Body, Posture, Rumble, Impacts, World, Cinematic, or one of your own. Each group has a volume, and limits that squeeze smoothly rather than clip. Groups quieten each other, so a hit ducks the handheld for a moment and lands clean. The player's comfort sliders turn groups down, and a ceiling over everything together catches pile-ups.

Each group also decides how much the character holds their place on screen while it shakes, as Keep Character Framed. At 100% the character stays exactly where composition put them and the world shakes around them; at 0% the whole frame moves. The handheld sits at 60, the body at 30 and impacts at 0. It fades out close up, so first person is left alone.

The mixer has the groups and every rule.

The library#

Thirty shakes ship in the plugin's Shakes folder, sorted by kind: Handheld, Body, Impacts, Weapons, World and States. Each style's own shakes sit beside its Rigs, in its folder under Presets. Every one has a note at the bottom of its panel, under About This Shake, saying what it's for and how to drive it.

Duplicating the nearest one and tuning it is quicker than starting from nothing. On an engine that installs without the content, shake values has every one as a block you paste onto a new asset.

More on shakes#

  • Making a shake: build one on its panel, try it, and play it from gameplay.
  • Handheld and body motion: the operator on each Rig, the body on the pawn, and how they blend.
  • Camera events: footsteps, landings and your own events, and what answers them.
  • Shakes in the world: explosions by distance, Shake Volumes, points of interest, Sequencer and Unreal's own shakes.
  • The mixer: groups, ducking, limits and priorities, and what to check when a shake does nothing.