MotionScript

@motion-script/core


@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?

optional mode?: EffectMode

Defined in: attributes/shape/effects/effect-data.ts:83

Inherited from

ModedEffect.mode


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