Search Unity

Feature Request Apply Bloom FX only to specific layers, sorting layers, materials or whatever

Discussion in '2D Experimental Preview' started by ThundThund, Apr 24, 2021.

  1. ThundThund


    Feb 7, 2017
    Hi everybody,

    AFAIK in the URP and its 2DRenderer the post-processing FXs are applied to all the geometry rendered by one camera. However it's very common that one needs to apply the Bloom FX to only a subset of them, without using different cameras (to avoid problems with sorting). Possible ways to select which pixels are added to the Bloom FX texture:
    • Emissive color: Only the emissive output would be written to a temporary texture. Every non-emissive pixel that has lower Z would erase existing pixels in such texture.
    • Layer: All the geometry in a specific layer would be rendered to the temporary texture, using a Threshold.
    • Sorting layer: The same as previous but using 2D sorting layers.
    • Type of shader: Like "Sprite-Emissive-Lit".
    • Checkbox in material.
    • Special Renderer component: Like "SpriteRendererEmissive".
    If you don't plan to implement anything like this in the future, at least I would like to know about alternatives. I think it's impossible to do this in the URP / 2DRenderer at the moment.
    MousePods, xiao-xxl and GliderGuy like this.
  2. xiao-xxl


    Nov 16, 2018