Duststorm
Canvas-locked dust shader with directional flow, turbulence, streaks, and tinting.
Environmental filters change the Scene surface or atmosphere. They can cover the full Scene, be limited to Regions, and be moved within the effect stack.
| Reference | Value |
|---|---|
| Package | FXMaster+ |
| Effect kind | Filter effect |
| Category | Environmental |
| Runtime type | duststorm |
| Exposed parameters | 34 |
Important controls
Section titled “Important controls”- Direction: Sets the base travel direction of the dust filter.
- Direction Randomization: Randomly shifts the effect direction over time. At 1, the direction can randomize anywhere around the full compass.
- Density: Controls how much airborne dust is visible across the canvas.
- Streakiness: Controls how strongly the dust resolves into long directional streaks instead of a softer haze.
- Background: Render a persistent settled-sand surface behind the sandstorm. The surface follows the effect’s stack placement, scene or Region mask, Levels selection, and below-token/tile settings.
- Token Trails: Let visible tokens press darker, lower trails into accumulated sand as they move.
Setup notes
Section titled “Setup notes”- Within an enabled Duststorm effect, the airborne dust and persistent sand Background can be toggled and configured separately. Disabling Duststorm disables both.
- Direction Randomization controls variation around the base Direction; Time Between Direction Changes controls how often a new target is selected.
- Streakiness and Opacity define the airborne filter, while the Background controls define persistent sand coverage.
- Use Token Trails and trail refill to make token movement visibly disturb the surface.
Bundled preset usage
Section titled “Bundled preset usage”| Preset | API name | Availability | Variants |
|---|---|---|---|
| Ashfall | ashfall |
FXMaster+ | Normal, Top Down |
| Dust Devil | dust-devil |
FXMaster+ | Normal |
| Hurricane | hurricane |
FXMaster+ | Normal, Top Down |
| Luminous Sky | luminous-sky |
FXMaster+ | Normal |
| Sandstorm | sandstorm |
FXMaster+ | Normal |
| Tornado | tornado |
FXMaster+ | Normal |
Parameters
Section titled “Parameters”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.
duststorm API typeHover 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.
| Parameter | Control | Default | Range or choices | Availability |
|---|---|---|---|---|
Below Tokens belowTokens | checkbox | On | — | Always |
Below Tiles belowTiles | checkbox | Off | — | Always |
Below Foreground belowForeground | checkbox | Off | — | Always |
Levels levelsScene only | scene-levels | All Levels | — | Always |
Tint color | color | #b38b5a (enabled) | — | Always |
Sound FX soundFxEnabled | checkbox | Off | — | Always |
Sound FX Sounds soundFxManualSoundIds | multi-select | Rule default | — | |
Scale dimensions | range | 0.24 | 0–1 · step 0.01 | Always |
Speed speed | range | 0.2 | 0–1 · step 0.01 | Always |
Density density | range | 0.55 | 0–1 · step 0.05 | Always |
Direction Randomization directionRandomization | range | 0 | 0–1 · step 0.01 | Always |
Direction Change Radius directionRandomizationRadius | range | 1 | 0–1 · step 0.01 | |
Time Between Direction Changes directionChangeTime | range | 8 | 1–60 · step 0.5 | |
Streakiness streakiness | range | 0.15 | 0–1 · step 0.05 | Always |
Opacity opacity | range | 1 | 0–1 · step 0.05 | Always |
Direction direction | range | 0 | 0–360 · step 5 | Always |
Background backgroundEnabled | checkbox | Off | — | Always |
Background Fill backgroundMode | select | accumulate | Full Coverage, Fill Over Time | |
Time to Full Coverage backgroundDuration | range | 180 | 10–3600 · step 10 | |
Background Opacity backgroundOpacity | range | 0.76 | 0–1 · step 0.01 | |
Fill Variation backgroundFillVariation | range | 0.75 | 0–1 · step 0.05 | |
Dune Height backgroundDriftStrength | range | 0.62 | 0–1 · step 0.01 | |
Dune Size (Grid Spaces) backgroundDriftScale | range | 0.38 | 0.1–1 · step 0.01 | |
Sand Grit backgroundSandRippleStrength | range | 0.45 | 0–1 · step 0.05 | |
Dune Migration backgroundMigrationEnabled | checkbox | Off | — | |
Migration Speed (Grid Spaces/Minute) backgroundMigrationSpeed | range | 0.06 | 0.01–1 · step 0.01 | |
Token Trails backgroundTrailsEnabled | checkbox | Off | — | |
Refill Trails Over Time backgroundTrailRefillEnabled | checkbox | Off | — | |
Trail Refill Time backgroundTrailRefillDuration | range | 90 | 10–3600 · step 10 | |
Trail Width backgroundTrailWidth | range | 0.5 | 0–2 · step 0.05 | |
Trail Strength backgroundTrailStrength | range | 0.72 | 0–1 · step 0.01 | |
Darkness Activation darknessActivationEnabled | checkbox | Off | — | Always |
Darkness Activation Range darknessActivationRange | range-dual | {"min":0,"max":1} | 0–1 · step 0.01 | |
Edge Fade % fadePercentRegion only | range | 0 | 0–1 · step 0.01 | Always |
Direct-effect API example
Section titled “Direct-effect API example”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_wikiduststorm_f", "type": "duststorm", "options": { "belowTokens": true, "color": { "value": "#b38b5a", "apply": true }, "speed": 0.2, "direction": 0, "density": 0.55 } }],});
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.