Skip to content

Screen Shake

Visual reference
FXMasterFilter effectAPI type: screenshake
Preview shows Screen Shake with Timed mode disabled

Timed or continuous camera shake with strength, speed, smoothness, decay, edge protection, and audio-aware controls.

Visual filters change the rendered Scene. Check map, token, and text visibility after changing their strength or opacity.

Reference Value
Package FXMaster
Effect kind Filter effect
Category Visual
Runtime type screenshake
Exposed parameters 21
  • Timed: When enabled, the scene effect turns itself off after Duration. Disable for a continuous shake, or enable Audio Aware for audio-triggered bursts.
  • Strength: Maximum shake displacement. 0 = no movement; 1 = strongest shake.
  • Shake Speed: Controls how quickly the shake changes direction. Higher values feel like rapid vibration; lower values feel like a heavier rolling impact.
  • Smoothness: Smooths the shake path. Higher = softer camera drift; lower = harsher impact jitter.
  • Decay: How strongly a timed shake fades toward zero over its duration.
  • Edge Protection: Slightly overscans the composited image while shaking to reduce exposed edges.
  • Audio Aware: Allows bass-heavy audio peaks to trigger Screen Shake. Use Audio Channels to choose what it listens to and Audio Bass Threshold to control sensitivity.
  • Timed automatically ends the effect after the configured Duration.
  • Edge Protection reduces exposed canvas edges during displacement; stronger shake generally needs more protection.
  • Audio Aware can turn the filter into a reactive thunder, impact, or music-bass effect.

No bundled preset currently uses this effect directly. Add it through Filter Effects or the Direct Effect API.

The table combines the settings available for this effect in Scene and Region contexts. Scene-only and Region-only badges identify controls limited to one context. Hover or focus an info button to see what the parameter changes on the canvas. Select it to keep the card open. Each card also includes the default, range or choices, context, availability, API key, and control type.

21 exposed parameters1 Scene-only1 Region-onlyscreenshake API type

Hover or focus an info button to see what the parameter changes on the canvas. Select it to keep the card open. Context badges identify Scene-only and Region-only controls; unbadged parameters are available in both. Hover or focus an availability condition to highlight the parameter that controls it.

ParameterControlDefaultRange or choicesAvailability
Below Tokens
belowTokens
checkboxOffAlways
Below Tiles
belowTiles
checkboxOffAlways
Below Foreground
belowForeground
checkboxOffAlways
Levels
levelsScene only
scene-levelsAll LevelsAlways
Sound FX
soundFxEnabled
checkboxOffAlways
Sound FX Sounds
soundFxManualSoundIds
multi-selectRule default
Timed
timed
checkboxOn
Strength
strength
range0.550–1 · step 0.01Always
Blur
blur
range0.120–1 · step 0.01Always
Duration
duration
range1.50.1–10 · step 0.1
Shake Speed
speed
range0.550–1 · step 0.01Always
Smoothness
smoothness
range0.450–1 · step 0.01Always
Decay
decay
range0.80–1 · step 0.01
Axis
axis
selectbothBoth, Horizontal, VerticalAlways
Edge Protection
edgeProtection
range0.60–1 · step 0.01Always
Audio Aware
audioAware
checkboxOffAlways
Audio Channels
audioChannels
multi-selectEnvironmentMusic, Environment, Interface
Audio Bass Threshold
audioBassThreshold
range0.750–1 · step 0.01
Darkness Activation
darknessActivationEnabled
checkboxOffAlways
Darkness Activation Range
darknessActivationRange
range-dual{"min":0,"max":1}0–1 · step 0.01
Edge Fade %
fadePercentRegion only
range00–1 · step 0.01Always

The Direct Effect API creates a separate row shown through Manage API Effects. Add a stable apiMacro_…_p or apiMacro_…_f ID when later macro calls need to update or stop the same row.

const created = await FXMASTER.api.effects.play({
filters: [{
"id": "apiMacro_wikiscreenshake_f",
"type": "screenshake",
"options": {
"timed": true,
"strength": 0.25,
"duration": 1.2,
"speed": 0.5,
"smoothness": 0.5,
"decay": 0.5
}
}],
});
await FXMASTER.api.effects.filters.stop(created.filters);

For complete API behavior, scene targeting, stack ordering, and toggle groups, see the Direct Effect API guide.