Transparent particles do not render in URP, whenever the full screen render pass is enabled

Version: 2022.3.8f1

All particle shaders do not render when marked as transparent, none of the particle pack materials show.
Issue goes away once the full screen pass feature is disabled.

Share your shader graph. There are multiple ways of getting the image

Maybe the full screen pass is writing the depth and the particles are failing the depth test?

Switching the injection point to “before rendering transparents” fixes the issue, but still, is tis expected behavior?
My graph:

I cant read the graph, sorry
But it could be that only opaque objects are used for the fullscreen effect

The image is too tiny to understand, but I’m guessing that _CameraOpaqueTexture is just drawing back to the state before the transparent objects was drawn?

Sorry, hopefully this is better

https://docs.unity3d.com/Packages/com.unity.shadergraph@17.0/manual/Scene-Color-Node.html
In the Universal Render Pipeline the Scene Color node returns the value of the Camera Opaque Texture.

If you need a scene color texture that includes a transparent object, scripting is required.
The following information may be helpful.

https://github.com/Haruma-K/URPGrabPass

2 Likes

I think a fullscreen shader can use the full screen blit ad well. In that case you don’t use scene color

1 Like

Hi, to include transparent objects, you need to copy the scene color right before your effect:

  • Replace the Scene Color node with URP Sample Buffer node and set the source to “Blit Source”.
  • Tick “Color” requirement in the shader graph’s full screen pass renderer feature.

You can open the Frame Debugger to visualize the differences.

6 Likes

Thank you very much, this was the solution I needed.

1 Like