docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class Bloom

    A volume component that holds settings for the Bloom effect.

    Inheritance
    object
    Object
    ScriptableObject
    VolumeComponent
    Bloom
    Implements
    IApplyRevertPropertyContextMenuItemProvider
    IPostProcessComponent
    Inherited Members
    VolumeComponent.active
    VolumeComponent.Override(VolumeComponent, float)
    VolumeComponent.SetAllOverridesTo(bool)
    VolumeComponent.GetHashCode()
    VolumeComponent.AnyPropertiesIsOverridden()
    VolumeComponent.Release()
    VolumeComponent.TryGetRevertMethodForFieldName(SerializedProperty, out Action<SerializedProperty>)
    VolumeComponent.GetSourceTerm()
    VolumeComponent.TryGetApplyMethodForFieldName(SerializedProperty, out Action<SerializedProperty>)
    VolumeComponent.GetSourceName(Component)
    VolumeComponent.displayName
    VolumeComponent.parameters
    ScriptableObject.CreateInstance(string)
    ScriptableObject.CreateInstance(Type)
    ScriptableObject.CreateInstance<T>()
    Object.GetEntityId()
    Object.GetInstanceID()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    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 VolumeComponent to a VolumeProfile in the Editor to apply a Bloom post-processing effect.

    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
    MinFloatParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    dirtIntensity

    Controls the strength of the lens dirt.

    Declaration
    [Tooltip("Amount of dirtiness.")]
    public MinFloatParameter dirtIntensity
    Field Value
    Type Description
    MinFloatParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    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
    TextureParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    downscale

    Controls the starting resolution that this effect begins processing.

    Declaration
    [Tooltip("The starting resolution that this effect begins processing.")]
    [AdditionalProperty]
    public DownscaleParameter downscale
    Field Value
    Type Description
    DownscaleParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    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
    BoolParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    intensity

    Controls the strength of the bloom filter.

    Declaration
    [Tooltip("Strength of the bloom filter.")]
    public MinFloatParameter intensity
    Field Value
    Type Description
    MinFloatParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    maxIterations

    Controls the maximum number of iterations in the effect processing sequence.

    Declaration
    [Tooltip("The maximum number of iterations in the effect processing sequence.")]
    [AdditionalProperty]
    public ClampedIntParameter maxIterations
    Field Value
    Type Description
    ClampedIntParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    scatter

    Controls the extent of the veiling effect.

    Declaration
    [Tooltip("Set the radius of the bloom effect.")]
    public ClampedFloatParameter scatter
    Field Value
    Type Description
    ClampedFloatParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    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
    MinFloatParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    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
    ColorParameter
    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    Methods

    IsActive()

    Tells if the post process needs to be rendered or not.

    Declaration
    public bool IsActive()
    Returns
    Type Description
    bool

    true if the effect should be rendered, false otherwise.

    See Also
    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter

    Implements

    IApplyRevertPropertyContextMenuItemProvider
    IPostProcessComponent

    See Also

    VolumeProfile
    VolumeComponent
    IPostProcessComponent
    VolumeParameter<T>
    MinFloatParameter
    ClampedFloatParameter
    ColorParameter
    BoolParameter
    DownscaleParameter
    ClampedIntParameter
    TextureParameter
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)