@motion-script/core / GrainEffect
Interface: GrainEffect
Defined in: attributes/shape/effects/implementations/grain.ts:17
Film grain — per-pixel noise blended into the node's own content.
The noise is signed (it lightens and darkens around the source value) and scaled by the local alpha, so it never bleeds past the silhouette and never shifts the average exposure.
Grain that doesn't move reads as a texture rather than as film, so
animated re-seeds the field every frame from the node's elapsed time.
For a deterministic render (e.g. a pixel-diff test) leave it off and animate
seed instead — a tween over seed gives the same shimmer frame-locked
to the timeline.
Extends
Properties
amount
amount:
number
Defined in: attributes/shape/effects/implementations/grain.ts:20
0–1 noise amplitude. 0 = off.
animated
animated:
boolean
Defined in: attributes/shape/effects/implementations/grain.ts:26
Re-seed every frame from the node's elapsed time.
colored
colored:
boolean
Defined in: attributes/shape/effects/implementations/grain.ts:28
Per-channel noise (colour speckle) instead of one luminance value.
mode?
optionalmode?:EffectMode
Defined in: attributes/shape/effects/effect-data.ts:83
Inherited from
seed
seed:
number
Defined in: attributes/shape/effects/implementations/grain.ts:24
Random field offset. Animate it (or set animated) to make the grain crawl.
size
size:
number
Defined in: attributes/shape/effects/implementations/grain.ts:22
Grain cell size in px — 1 is per-pixel, higher is chunkier.
type
type:
"grain"
Defined in: attributes/shape/effects/implementations/grain.ts:18