Film Grain

Film Grain operator properties for Script Engine. Adds movie-style grain texture on top of the layer for a cinematic, analog look. Useful for giving digital footage a film aesthetic, hiding the cleanliness of computer-generated content, blending sources shot on different cameras into a consistent look, adding texture to flat or banded areas, or stylising playback graphics for retro/vintage themes. Combines monochromatic luminance grain with optional chroma (colour) grain and tonal shaping so shadows and highlights can keep different amounts of grain.

Property Type Access Description
Amount int get/set Overall grain intensity, percent. [min=0, max=100, default=25]. 0 disables grain. 15-30 gives a subtle filmic feel. 50+ produces a pronounced, noisy look reminiscent of high-ISO or push-processed film.
Size int get/set Grain particle size. [min=10, max=100, default=20]. Lower values resemble fine-grain low-ISO film. Higher values resemble coarse, chunky grain typical of high-speed or pushed stocks.
Softness int get/set Softness of grain edges, percent. [min=0, max=100, default=30]. 0 keeps grain crisp and sharp. Higher values blur grain particles for a softer, more natural film appearance.
LuminanceAmount int get/set Luminance grain amount, percent. [min=0, max=100, default=80]. Same noise pattern applied to all colour channels, producing classic black-and-white film grain. Higher values give a more obvious brightness-only texture.
ChromaAmount int get/set Chroma (colour) grain amount, percent. [min=0, max=100, default=20]. Different noise per colour channel, producing the colourful speckle of colour film. Keep low for subtle organic feel; raise for stronger vintage colour-noise look.
ChromaSaturation int get/set Saturation of the chroma grain, percent. [min=0, max=200, default=100]. 100 keeps colour grain at natural saturation. Lower values make the colour speckle more pastel; higher values exaggerate the colour shifts for a noisier, more vivid feel.
Midpoint int get/set Brightness level where grain is strongest, percent. [min=0, max=100, default=50]. 50 puts peak grain in midtones (the typical film look). Move lower to bias grain into shadows, higher to push it into highlights.
ShadowProtection int get/set Reduce grain in dark areas, percent. [min=0, max=100, default=30]. Real film typically shows less grain in deep shadows. Higher values keep blacks cleaner; 0 lets grain extend fully into shadow regions.
HighlightProtection int get/set Reduce grain in bright areas, percent. [min=0, max=100, default=0]. Useful for keeping highlights and skies clean while still grainy in midtones and shadows.
BlendMode GrainBlendMode get/set How grain mixes with the image. [default=Overlay]. Overlay = natural film-style mix. Soft Light = subtler. Add = grain brightens the image (more glow). Linear = simple straight blend, gives a flatter, dustier look.
Animated bool get/set Whether the grain pattern changes each frame. [default=Yes]. Yes gives the lively crawling grain typical of moving film. No freezes the grain so it stays put on the image — useful for stylised stills or to avoid distracting motion.
Seed int get/set Random seed that determines the exact grain pattern. [min=0, max=9999, default=random]. Two layers using the same seed produce the same grain — useful for matching grain across cuts. Change the seed for a fresh random pattern.
RandomizeSeedCmd Command get Pick a new random seed, giving a fresh grain pattern.
RedAmount int get/set Grain amount in the red channel, percent. [min=0, max=200, default=100]. 100 is normal. Lower or raise to bias chroma noise toward warmer tones, simulating quirks of specific film stocks.
GreenAmount int get/set Grain amount in the green channel, percent. [min=0, max=200, default=100]. 100 is normal. Adjust to weight grain toward or away from green tones.
BlueAmount int get/set Grain amount in the blue channel, percent. [min=0, max=200, default=100]. 100 is normal. Older colour film often had stronger blue-channel grain — raise this for a more authentic vintage look.
ShowGrainOnly bool get/set Show only the grain pattern on a neutral gray background. [default=No]. Useful for previewing what the grain looks like by itself when tuning size, softness, and channel mix.
Minilog FormattedMessage get/set Most recent status message from the operator (read-only, debug).

Inherits from: AbstractOperator, AbstractAudioMetering.

See also: Film Grain in Operators — user-facing introduction, screenshots, and section summaries.