Class Bloom
A volume component that holds settings for the Bloom effect.
Inherited Members
Namespace: UnityEngine .Rendering.Universal
Assembly: Unity.RenderPipelines.Universal.Runtime.dll
Syntax
[Serializable]
[VolumeComponentMenu("Post-processing/Bloom")]
[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))]
public sealed class Bloom : 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 Bloom m_VolumeComponent;
[Serializable]
private struct VolumeSettings
{
public bool active;
public MinFloatParameter threshold;
public MinFloatParameter intensity;
public ClampedFloatParameter scatter;
public MinFloatParameter clamp;
public ColorParameter tint;
public BoolParameter highQualityFiltering;
public DownscaleParameter downscale;
public ClampedIntParameter maxIterations;
public TextureParameter dirtTexture;
public MinFloatParameter dirtIntensity;
public void SetVolumeComponentSettings(ref Bloom volumeComponent)
{
volumeComponent.active = active;
volumeComponent.threshold = threshold;
volumeComponent.intensity = intensity;
volumeComponent.scatter = scatter;
volumeComponent.clamp = clamp;
volumeComponent.tint = tint;
volumeComponent.highQualityFiltering = highQualityFiltering;
volumeComponent.downscale = downscale;
volumeComponent.maxIterations = maxIterations;
volumeComponent.dirtTexture = dirtTexture;
volumeComponent.dirtIntensity = dirtIntensity;
}
public void GetVolumeComponentSettings(ref Bloom volumeComponent)
{
active = volumeComponent.active;
threshold = volumeComponent.threshold;
intensity = volumeComponent.intensity;
scatter = volumeComponent.scatter;
clamp = volumeComponent.clamp;
tint = volumeComponent.tint;
highQualityFiltering = volumeComponent.highQualityFiltering;
downscale = volumeComponent.downscale;
maxIterations = volumeComponent.maxIterations;
dirtTexture = volumeComponent.dirtTexture;
dirtIntensity = volumeComponent.dirtIntensity;
}
}
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 Bloom volumeComponent)
{
if (volumeComponent != null)
return true;
if (volumeProfile == null)
{
Debug.LogError("ModifyVolumeComponent.GetVolumeComponent():\nvolumeProfile has not been assigned.");
return false;
}
volumeProfile.TryGet(out Bloom component);
if (component == null)
{
Debug.LogError($"ModifyVolumeComponent.GetVolumeComponent():\nMissing component in the \"{volumeProfile.name}\" VolumeProfile ");
return false;
}
volumeComponent = component;
return true;
}
}
Fields
clamp
Set the maximum intensity that Unity uses to calculate Bloom. If pixels in your Scene are more intense than this, URP renders them at their current intensity, but uses this intensity value for the purposes of Bloom calculations.
Declaration
[Tooltip("Set the maximum intensity that Unity uses to calculate Bloom. If pixels in your Scene are more intense than this, URP renders them at their current intensity, but uses this intensity value for the purposes of Bloom calculations.")]
public MinFloatParameter clamp
Field Value
Type | Description |
---|---|
Min |
See Also
dirtIntensity
Controls the strength of the lens dirt.
Declaration
[Tooltip("Amount of dirtiness.")]
public MinFloatParameter dirtIntensity
Field Value
Type | Description |
---|---|
Min |
See Also
dirtTexture
Specifies a Texture to add smudges or dust to the bloom effect.
Declaration
[Header("Lens Dirt")]
[Tooltip("Dirtiness texture to add smudges or dust to the bloom effect.")]
public TextureParameter dirtTexture
Field Value
Type | Description |
---|---|
Texture |
See Also
downscale
Controls the starting resolution that this effect begins processing.
Declaration
[Tooltip("The starting resolution that this effect begins processing.")]
public DownscaleParameter downscale
Field Value
Type | Description |
---|---|
Downscale |
See Also
highQualityFiltering
Controls whether to use bicubic sampling instead of bilinear sampling for the upsampling passes. This is slightly more expensive but helps getting smoother visuals.
Declaration
[Tooltip("Use bicubic sampling instead of bilinear sampling for the upsampling passes. This is slightly more expensive but helps getting smoother visuals.")]
public BoolParameter highQualityFiltering
Field Value
Type | Description |
---|---|
Bool |
See Also
intensity
Controls the strength of the bloom filter.
Declaration
[Tooltip("Strength of the bloom filter.")]
public MinFloatParameter intensity
Field Value
Type | Description |
---|---|
Min |
See Also
maxIterations
Controls the maximum number of iterations in the effect processing sequence.
Declaration
[Tooltip("The maximum number of iterations in the effect processing sequence.")]
public ClampedIntParameter maxIterations
Field Value
Type | Description |
---|---|
Clamped |
See Also
scatter
Controls the extent of the veiling effect.
Declaration
[Tooltip("Set the radius of the bloom effect.")]
public ClampedFloatParameter scatter
Field Value
Type | Description |
---|---|
Clamped |
See Also
threshold
Set the level of brightness to filter out pixels under this level. This value is expressed in gamma-space. A value above 0 will disregard energy conservation rules.
Declaration
[Header("Bloom")]
[Tooltip("Filters out pixels under this level of brightness. Value is in gamma-space.")]
public MinFloatParameter threshold
Field Value
Type | Description |
---|---|
Min |
See Also
tint
Specifies the tint of the bloom filter.
Declaration
[Tooltip("Use the color picker to select a color for the Bloom effect to tint to.")]
public ColorParameter tint
Field Value
Type | Description |
---|---|
Color |
See Also
Methods
IsActive()
Tells if the post process needs to be rendered or not.
Declaration
public bool IsActive()
Returns
Type | Description |
---|---|
bool |
|