Old Film
Applies scratches, noise, flicker, and vintage film degradation.
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 | oldfilm |
| Exposed parameters | 14 |
Important controls
Section titled “Important controls”- Sepia: Adds a warm brown archival tint to the scene. Higher values move farther away from the original colors.
- Noise Density: Controls how much animated film grain appears over the scene.
- Noise Size: Changes the size of the film-grain pattern. Higher values make each grain cluster larger and more visible.
- Scratch Density: Changes how many film scratches are visible at the same time.
- Scratch Size: Changes the width and visibility of individual film scratches.
Setup notes
Section titled “Setup notes”- Balance Sepia, Noise Density, and Scratch Density instead of maximizing all three at once.
- Higher values can work well for a short transition, while lower values are easier to leave active for a complete Scene.
Bundled preset usage
Section titled “Bundled preset usage”No bundled preset currently uses this effect directly. Add it through Filter Effects or the Direct Effect API.
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.
oldfilm 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 |
Sepia sepia | range | 0.3 | 0–1 · step 0.1 | Always |
Noise Density noise | range | 0.5 | 0–1 · step 0.1 | Always |
Noise Size noiseSize | range | 0.2 | 0–1 · step 0.01 | Always |
Scratch Density scratchDensity | range | 0.3 | 0–1 · step 0.05 | Always |
Scratch Size scratch | range | 0.05 | 0–1 · step 0.05 | Always |
Sound FX soundFxEnabled | checkbox | Off | — | Always |
Sound FX Sounds soundFxManualSoundIds | multi-select | Rule default | — | |
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_wikioldfilm_f", "type": "oldfilm", "options": { "belowTokens": false } }],});
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.