saturation
Intuitively increases or decreases the saturation (vibrancy) of an input color using an adjustment factor, supporting a smooth transition from grayscale to super-saturated.
Core Advantages
Abstracts complex color theory (interpolating between a color and its luminance) into a high-performance, easy-to-understand node, allowing developers intuitive artistic control via a single parameter for a wide range of effects from desaturated to super-vibrant.
Common Uses
As a post-processing effect to set the overall artistic tone of a scene, such as creating a vintage or lively atmosphere.
As visual feedback in games, like desaturating the screen to simulate a near-death state.
Adding interactivity to materials, such as restoring a stone statue's color on mouse hover.
Highlighting selected UI elements by increasing their saturation.
How to adjust
The effect is entirely controlled by the `adjustment` float parameter. A value of `0.0` results in a complete grayscale (black and white) effect; `0.5` creates a faded look; `1.0` leaves the original color unchanged; and values greater than `1.0` 'super-saturate' the color, making it more vibrant. Connecting it to a `timer` node can create a dynamic color 'breathing' animation.
Code Examples
1// Use a uniform to dynamically control the saturation level
2const finalColor = saturation( baseColor, saturationLevel );