FilmGrainProps
Procedural film grain over a <Group>, clipped to what the group actually
drew. A child of Group, not a paint: it reads the group's own pixels, so
the group is rasterised once per frame while one is attached.
color alone gives single-colour grain; color with secondColor splits
the grain into two complementary halves; neither keeps the noise's own RGB
and takes its strength from opacity.
Properties
blendMode?
optional blendMode?: BlendMode;How the grain composites over the group. Defaults to 'srcOver'. Not
Animated: a value slot carries a number, and an enum only reaches one
through a handle write, which resolves the name to its wire code.
color?
optional color?: Color;Single-colour grain, its alpha the grain's opacity.
density?
optional density?: Animated<number>;How much of the group the grain reaches, 0–1. Defaults to 0.5.
opacity?
optional opacity?: Animated<number>;Colourless grain only: overall strength, 0–1. Defaults to 1. It is not written in the other two modes, so a handle write there re-encodes and changes nothing - set the colour's alpha instead.
ref?
optional ref?: NodeHandle;A handle from useNode(), for patching the grain without a render.
secondColor?
optional secondColor?: Color;With color, the second half's colour. A handle keeps one colour pool, so
unlike color this one re-encodes rather than patching; live channels
still work, written as [r, g, b, a] with shared values in it.
seed?
optional seed?: Animated<number>;The pattern's seed. Defaults to 0.
size?
optional size?: Animated<number>;Grain size in points - larger is coarser. Defaults to 4.