The mixer1.3
Every shake plays into a group. Groups have a volume and limits, quieten each other, answer to the player's comfort sliders and sit under one ceiling, so a busy moment never stacks into more than you meant.
Shakes add up. Left alone, a sprint, a landing and a nearby explosion stack into more motion than anyone authored. The mixer sits between the shakes and the screen and keeps them in proportion. It's Mixer on the pawn's Blendable Shake.
Groups#
Every layer plays into a group: the one it names under Group, or else its shake's. Seven come with the mixer, and you can add your own:
| Group | For | Answers to |
|---|---|---|
| Handheld | the camera operator | the handheld slider |
| Body | the bob and sway of the character's own motion | the handheld slider |
| Posture | leaning, momentum, the look trailing behind, the lens widening with a boost | the handheld slider |
| Rumble | short knocks: footsteps, crouching, a jolt | the shake slider |
| Impacts | hits, landings, the jump, recoil | the shake slider |
| World | events in the level: explosions, earthquakes, engines | the shake slider |
| Cinematic | motion authored for a cutscene | the shake slider |
A layer naming a group that isn't there plays into Impacts, or the first group if there's no Impacts, so a typo never silences it.
Each group has a Volume, its overall level, and a Player Slider: which of the player's comfort sliders turns it down, the handheld one, the shake one, or Neither for authored motion the comfort sliders shouldn't remove. It also has Keep Character Framed (%), how much the character holds their spot on screen while the group shakes everything around them: 60% for the handheld, 30% for the body, 0% for the rest.
Limits that squeeze#
Each group has a limit for movement, tilt and lens, and a point above which it starts squeezing:
| Squeezed above | Limit | |
|---|---|---|
| Handheld, Body and Posture | 7 cm, 6°, 10° of lens | 14 cm, 13°, 20° of lens |
| Rumble | 10 cm, 6°, 10° of lens | 20 cm, 13°, 20° of lens |
| Impacts, World and Cinematic | 45 cm, 22.5°, 15° of lens | 60 cm, 30°, 30° of lens |
Below the first number a group plays exactly as authored. Past it, it's squeezed smoothly, nearing the limit and never passing it. Nothing clips, so even a pile-up still moves like motion rather than hitting a wall. The constant groups are kept modest because they're on screen the whole time; the one-off groups have room, because a single big hit must never be blunted.
Over everything together there's a ceiling: Most Movement (cm), Most Tilt (deg) per axis and Most Lens (deg), at 40, 25 and 30. It's a net for pile-ups, not a way to tune the feel.
Ducking#
A group can quieten others while it plays, listed under its Ducks. Out of the box, Impacts ducks the handheld by 60% and the body by 40%, and World ducks the handheld by 40%. A hit then reads sharply instead of having to out-shout the bob.
| Setting | What it does |
|---|---|
| Quietens | the group to duck |
| By | how far down, 0 to 1. 0.6 leaves 40% of it |
| Full At Movement (cm) and Full At Tilt (deg) | how much this group has to move or tilt the camera for the duck to be complete. Tilt alone can get it there, so a hit that's all rotation still clears the stage |
| Arrives At | how quickly the duck comes in. Keep it high, so it's in place as the hit peaks |
| Lets Go At | how quickly it lets go. Keep it low, so the ducked group comes back smoothly |
Get Duck Level reads how far the Handheld group is ducked right now, 1 being not at all.
Priorities, and copies of one shake#
Three settings on each shake, on its Playing Again line, decide what happens when it's played while it's already running:
| Setting | What it does | Good for |
|---|---|---|
| Only One At A Time | playing it again carries on or starts over, as Played Again says, instead of adding a second copy | charge-ups, and most shakes that run until stopped |
| Most At Once | a cap on copies of this shake; another play drops the oldest | rapid fire, where twenty stacked kicks just read as a blur |
| Priority | within its group, a higher priority holds lower ones down while it plays | an earthquake flattening the footstep rumble |
Priority does nothing until the group's Lower Priorities Held Down By is above 0, and equal priorities never hold each other down, so leaving everything at 0 keeps plain adding. Held Down At and Let Back Up At are how quickly lower priorities go down and come back; keep the second low, so they return unnoticed.
Go deeperWhy the caps compare only copies of the same shake
Both copy rules are decided when the shake is asked for, and only ever against other copies of the same asset. Once two copies are adding together there's no telling them apart any more, and holding back a different shake is a mixing decision, which belongs to the groups, where the priorities, the ducks and the comfort sliders already are.
Turning a group up or down from gameplay#
Push Group Scale makes one group stronger or weaker until you Pop Group Scale with the same Source: quieter footsteps in a padded room, more rumble beside an engine. 0 silences the group, 1 leaves it be, 2 doubles it. Where several sources scale one group their scales multiply, and every change eases rather than steps. Get Group Scale reads the result. A Shake Volume does the same for a place.
The player's comfort#
The player's settings reach the mix in three ways. Each group answers to the handheld slider or the shake slider. Per Group scales single groups on top, for a menu with finer options. And Keep Horizon Level takes the roll out after everything is mixed, so every shake, lean and peek keeps its movement, pitch and yaw and the horizon stays put. Comfort has the menu side.
With a Blendable Follow Camera, its Comfort is the one a settings menu writes to. With any other camera, Blendable Shake's own Comfort (Without A Follow Camera) is used instead.
Seeing the mix#
Tick Draw Camera Stack on the Follow Camera. The camera stack readout ends with the mixer: a meter per group, how far each one is ducked, and every running shake with its layers' levels, plus the locomotion state, the stride and the effort.
When a shake does nothing#
The readout lists what's playing. Almost every "my shake did nothing" comes down to one of these:
- It isn't running. A layer waiting on an event only hears it while its shake runs: in Body, on the Rig in force, or played and not yet stopped.
- It was out of range. Play Shake At returned 0 because the pawn was outside the Outer Radius.
- It carried on instead. The shake is Only One At A Time with Played Again set to carry on, so your play joined the copy already running, at the larger of the two strengths.
- Its drivers are at zero. A layer driven by Character: aiming does nothing while you aren't aiming. On the shake's panel, set the sliders to what the game would see and watch the graph.
- Something turned it down. The player's comfort sliders, Per Group, a point of interest's suppression, a Rig's Handheld Transient Scale, a group's Volume, or a Push Group Scale or Shake Volume at 0.
- A higher priority holds it down in the same group.
- Nobody's looking. Only For The Local Player skips pawns no local player is looking through, and with Shake Other Cameras Too off, nothing shakes while the player looks through another camera.
- The call went nowhere. A feedback call on an actor with nothing implementing Blendable Feedback Sink is quietly ignored, by design.