Ghosts
Cute or creepy ghosts with manual placement, directional drift, and configurable visual variants.
Ambient effects add visible movement without replacing the full weather setup. Use them on their own or layer them with another particle or filter.
| Reference | Value |
|---|---|
| Package | FXMaster+ |
| Effect kind | Particle effect |
| Category | Ambient |
| Runtime type | ghosts |
| Exposed parameters | 30 |
Manual Placement
Section titled “Manual Placement”Enable Manual Placement to save individual Ghost positions instead of generating ghosts through Density and Lifetime. Use Place to add ghosts, Undo to remove the most recent placement, and Clear to remove the current placements.
Placement movement and appearance
Section titled “Placement movement and appearance”Manual Float Radius controls how far each placed ghost drifts from its saved point, while Direction controls its facing. Variants, Scale, Speed, Opacity, Glow, Wobble, Displacement, and Blur continue to define the appearance and movement of the placed ghosts.
Manual and automatic controls
Section titled “Manual and automatic controls”Orbit and Manual Placement are mutually exclusive. Density, Lifetime, and Token Avoidance are hidden in Manual Placement mode because placement count and saved positions replace automatic spawning and avoidance behavior.
Important controls
Section titled “Important controls”- Variants: Selects which ghost sprite variants can appear. Multiple selections mix those designs within the same effect.
- Manual Placement: Replaces automatic ghost distribution with exact positions placed on the current Scene.
- Wobble: Controls the amount of side-to-side and shape movement in the ghost animation.
- Displacement: Controls how strongly the ghost artwork warps and ripples while animating.
- Token Avoidance: Makes ghosts steer away from eligible tokens instead of moving directly through them.
Setup notes
Section titled “Setup notes”- Manual Placement creates fixed ghost positions, while the normal particle controls create ghosts that move across the Scene.
- Variants, Wobble, Displacement, Blur, and Glow provide the primary visual identity.
- Token Avoidance can keep moving ghosts from passing directly through tokens when desired.
Bundled preset usage
Section titled “Bundled preset usage”| Preset | API name | Availability | Variants |
|---|---|---|---|
| Gravewind | gravewind |
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.
ghosts 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 | Off | — | Always |
Below Tiles belowTiles | checkbox | Off | — | Always |
Below Foreground belowForeground | checkbox | Off | — | Always |
Levels levelsScene only | scene-levels | All Levels | — | Always |
Tint tint | color | #FFFFFF (disabled) | — | Always |
Sound FX soundFxEnabled | checkbox | Off | — | Always |
Sound FX Sounds soundFxManualSoundIds | multi-select | Rule default | — | |
Variants variants | multi-select | Creepy | Cute, Creepy | Always |
Manual Placement manualPlacement | checkbox | Off | — | |
Orbit orbit | checkbox | Off | — | |
Orbit Distance orbitDistance | range | 0.5 | 0–1 · step 0.01 | |
Manual Placement Controls placementActions | particle-actions | | — | |
Manual Float Radius manualFloatRadius | range | 0.35 | 0–2 · step 0.05 | |
Direction direction | range | 0 | 0–360 · step 5 | |
Scale scale | range | 0.27 | 0.1–1 · step 0.01 | Always |
Speed speed | range | 0.27 | 0.1–1 · step 0.01 | Always |
Lifetime lifetime | range | 0.27 | 0.1–1 · step 0.01 | |
Density density | range | 0.173 | 0.001–1 · step 0.001 | |
Opacity alpha | range | 1 | 0–1 · step 0.1 | Always |
Glow glow | range | 0.6 | 0–1 · step 0.05 | Always |
Wobble wobble | range | 0.7 | 0–1 · step 0.05 | Always |
Displacement displacement | range | 0.6 | 0–1 · step 0.05 | Always |
Blur blur | range | 0.15 | 0–1 · step 0.05 | Always |
Token Avoidance tokenAvoidance | checkbox | Off | — | |
Token Dispositions tokenAvoidanceDispositions | multi-select | Friendly, Neutral, Hostile, Secret | Friendly, Neutral, Hostile, Secret | |
Avoid Stationary Tokens tokenAvoidanceAtRest | checkbox | Off | — | |
Avoidance Radius tokenAvoidanceRadius | range | 1 | 0–3 · step 0.05 | |
Avoidance Strength tokenAvoidanceStrength | range | 0.65 | 0–1 · step 0.05 | |
Darkness Activation darknessActivationEnabled | checkbox | Off | — | Always |
Darkness Activation Range darknessActivationRange | range-dual | {"min":0,"max":1} | 0–1 · step 0.01 |
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({ particles: [{ "id": "apiMacro_wikighosts_p", "type": "ghosts", "options": { "belowTokens": false, "tint": { "value": "#FFFFFF", "apply": false }, "orbit": false, "direction": 0, "scale": 0.27 } }],});
await FXMASTER.api.effects.particles.stop(created.particles);For complete API behavior, scene targeting, stack ordering, and toggle groups, see the Direct Effect API guide.