I have a particle system for creating "nebulas" in a 2D space game. The results are looking pretty good, except there's a rendering/shader issue with what I'm doing. In game I see a rather ugly tiered blending, almost like I'm looking at 6-bit color rendering (exaggerating for clarity).
Looking at it in unity's scene view, it's nice and smooth (the few "artifacts" are part of the source image used for the particle. It looks exactly as I would hope):
Is there a way to fix this issue? And for curiosity and posterity's sake, why does this happen?
A few specifics:
It's Unity 2018.1.0f2, Windows 10, GTX 1050 ti. There are multiple particles overlapping in that image (I'd guess around 10?), One particle system. the shader is unity's provided Particles/Additive, and I get the same results with Particles/Additive (Soft), Particles/Alpha Blended, and a number of other built in transparent shaders I've tried. The material has alpha = 77 and the particle system adds in alpha = 16 (I believe that's cumulative). The base image is white and transparent. The alpha channel is what defines the actual shape. Color is added with the particle system (resulting in each particle having a different color, even though they all use the same base image).
Edit:
Did some more experimentation, the problem occurs in game (build or in editor) and also in the scene view if not play-testing. I tried reducing the particle count; even single particles (no other overlapping transparent objects/particles) still have the issue. I also experimented with putting all of the transparency control in the particle system or the material, and tried putting both at 255 alpha and using the brightness to control opacity (it's an additive shader), and still no improvement.
I did figure out why the camera and scene view rendered differently. The Camera had "Allow HDR" checked. After unchecking that, the scene view looks identical to the camera's rendering (too bad it didn't go the other way). Perhaps looking into HDR farther will yield answers...