Greyscale & Posterize
Greyscale converts the surface to luminance; Posterize quantizes each channel into a small number of steps. Together they cover retro 8-bit palettes, painterly comic looks, and runtime state grading such as frozen or broken visuals.
When to use it
- Comic look — Posterize 3–5 with Outline.
- Retro and 8-bit aesthetics — Posterize 2–4 with a tight palette.
- Frozen or dead states — greyscale 1.0 at runtime via script.
- Painterly look — a light posterize (8–12) softens gradients without crushing them.
Difference from Cel Shading
Modes
- Greyscale — lerps the surface toward luminance. Useful for state changes such as frozen, dead, or paused.
- Posterize — quantizes each RGB channel into N steps. Two steps gives a hard 8-bit read; sixteen is subtle.
PBR against the canonical comic stack. Drag to compare.
Properties
Usage
- For the comic look, set Posterize Levels to 3–5, Amount to 1.0, then enable Outline.
- For a subtle painterly result, set Levels to 8–12 and Amount to 0.4.
- For a frozen or dead state, animate Greyscale Amount from 0 to 1 over half a second.
- Mask the effect to keep skin and eyes colored on an otherwise posterized character.
StartCoroutine(LerpFloat(material, "_GreyscaleAmount", 0f, 1f, 0.4f));
material.SetInt("_PosterizeLevels", 4);
material.SetFloat("_PosterizeAmount", 1.0f);Tips & gotchas
- Posterize runs after lighting, so band edges follow the shading and may shift as the camera moves. Use Cel Shading for bands locked to NdotL.
- Greyscale followed by Hue Shift has no effect — you cannot shift the hue of a color already stripped to grey.
- Bloom amplifies banding; drop posterize levels by one if you run heavy bloom.
- Posterize costs roughly three ALU per channel, which is negligible on mobile.
Related
- Cel Shading — quantize lighting too.
- Outline — finish the comic stack.
- Hue Shift — pair with posterize for palette mapping.
- Color Adjustments — smoother grading alternative.
Last updated on