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.