Class ColorAdjustments
A volume component that holds settings for the Color Adjustments effect.
Inherited Members
Namespace: UnityEngine .Rendering.Universal
Assembly: Unity.RenderPipelines.Universal.Runtime.dll
Syntax
[Serializable]
[VolumeComponentMenu("Post-processing/Color Adjustments")]
[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))]
public sealed class ColorAdjustments : VolumeComponent, IApplyRevertPropertyContextMenuItemProvider, IPostProcessComponent
Remarks
You can add Unity
Examples
This sample code shows how settings can be retrieved and modified in runtime:
using System;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
public class ModifyVolumeComponent : MonoBehaviour
{
[SerializeField] VolumeProfile volumeProfile;
[SerializeField] VolumeSettings volumeSettings;
private bool m_HasRetrievedVolumeComponent;
private ColorAdjustments m_VolumeComponent;
[Serializable]
private struct VolumeSettings
{
public bool active;
public FloatParameter postExposure;
public ClampedFloatParameter contrast;
public ColorParameter colorFilter;
public ClampedFloatParameter hueShift;
public ClampedFloatParameter saturation;
public void SetVolumeComponentSettings(ref ColorAdjustments volumeComponent)
{
volumeComponent.active = active;
volumeComponent.postExposure = postExposure;
volumeComponent.contrast = contrast;
volumeComponent.colorFilter = colorFilter;
volumeComponent.hueShift = hueShift;
volumeComponent.saturation = saturation;
}
public void GetVolumeComponentSettings(ref ColorAdjustments volumeComponent)
{
active = volumeComponent.active;
postExposure = volumeComponent.postExposure;
contrast = volumeComponent.contrast;
colorFilter = volumeComponent.colorFilter;
hueShift = volumeComponent.hueShift;
saturation = volumeComponent.saturation;
}
}
private void Start()
{
m_HasRetrievedVolumeComponent = GetVolumeComponent(in volumeProfile, ref m_VolumeComponent);
if (m_HasRetrievedVolumeComponent)
volumeSettings.GetVolumeComponentSettings(ref m_VolumeComponent);
}
private void Update()
{
if (!m_HasRetrievedVolumeComponent)
return;
volumeSettings.SetVolumeComponentSettings(ref m_VolumeComponent);
}
private static bool GetVolumeComponent(in VolumeProfile volumeProfile, ref ColorAdjustments volumeComponent)
{
if (volumeComponent != null)
return true;
if (volumeProfile == null)
{
Debug.LogError("ModifyVolumeComponent.GetVolumeComponent():\nvolumeProfile has not been assigned.");
return false;
}
volumeProfile.TryGet(out ColorAdjustments component);
if (component == null)
{
Debug.LogError($"ModifyVolumeComponent.GetVolumeComponent():\nMissing component in the \"{volumeProfile.name}\" VolumeProfile ");
return false;
}
volumeComponent = component;
return true;
}
}
Fields
colorFilter
Specifies the color that URP tints the render to.
Declaration
[Tooltip("Tint the render by multiplying a color.")]
public ColorParameter colorFilter
Field Value
Type | Description |
---|---|
Color |
See Also
contrast
Controls the overall range of the tonal values.
Declaration
[Tooltip("Expands or shrinks the overall range of tonal values.")]
public ClampedFloatParameter contrast
Field Value
Type | Description |
---|---|
Clamped |
See Also
hueShift
Controls the hue of all colors in the render.
Declaration
[Tooltip("Shift the hue of all colors.")]
public ClampedFloatParameter hueShift
Field Value
Type | Description |
---|---|
Clamped |
See Also
postExposure
Adjusts the overall exposure of the scene in EV100. This is applied after HDR effect and right before tonemapping so it won't affect previous effects in the chain.
Declaration
[Tooltip("Adjusts the overall exposure of the scene in EV100. This is applied after HDR effect and right before tonemapping so it won't affect previous effects in the chain.")]
public FloatParameter postExposure
Field Value
Type | Description |
---|---|
Float |
See Also
saturation
Controls the intensity of all colors in the render.
Declaration
[Tooltip("Pushes the intensity of all colors.")]
public ClampedFloatParameter saturation
Field Value
Type | Description |
---|---|
Clamped |
See Also
Methods
IsActive()
Tells if the post process needs to be rendered or not.
Declaration
public bool IsActive()
Returns
Type | Description |
---|---|
bool |
|