Volumetric world artifacts

I’m using a volumetric scatter in my world shader and getting some nasty artifacts around backlights in Eevee..

any pointers on that one? really struggling to get it looking not awful…

upping rays and steps doesn’t really work. The issue is not so much the dotty pattern but that it looks like a cutout around the lights, loosing all forms. other parts are alrightish.

eeveebug

as soon as I move a light behind the object it begins to glow and flattens out

  • Have you changed the volume settings from the default values? I have seen similar problems after messing with the “distribution” setting especially.
  • How many volume steps are you using? That matters for quality.
  • You are using only 16 render samples in the viewport. Volume can need a decently high number of samples. Have you tried with more, to see how many you need for a clean result?
  • If it happens only in front of objects, do you see any difference if you remove the material from those objects? Just to make sure the material isn’t in cause.

it’s not settings, samples or steps, I tried all of that… I’ll try materials and custom normal locks since the objects may have been imported, maybe that does the trick

Could you upload the file? If you don’t want to spread the project, you can remove the character model, I would just need the volume and render settings to see what’s wrong.

Just a random idea : what about scene size or camera clipping ?
What about the character’s materials ? does this append on regular objects ?

Worse case scenario : greatest ideas are born from mistakes… true art comes from limitation … embrace it instead of fighting it…

evvee_volume_bug.blend (116.0 KB)

odd, it doesn’t seem to be object related

I tried a clean scene with just a cube, some issue… probably settings realted but I cant figure out why the light is shining through the objects… tried different blender versions as well (not the old eevee though, my scene has some newer stuff which would make it incompatible with 3.*.

So apparently setting this to 1 fixed it… not sure what that setting does or why it’s at 0.8 by default.

hummmm !

I think volume in eevee is made of multiple planes, distribution I think it’s about how they are biased near the camera so you don’t see too much the layering, but take that with a grain of salt as I’m not 100% sure !

Interesting… I got some really weird artifacts while testing, huge pixel areas, and light changes which could be explained by the layer thingy…

Gonna mark the distribution thing as a solution though I’m not sure if there’s more to it.

Anyhow, thanks for your help guys!

There is in fact a bit more to it. The “steps” setting is also relevant, as it is the number of volume planes. If you increase it, you get a higher quality and can render more precise volumes.

it didn’t have an impact on the distribution though, so I wonder where a distribution setting of other than 1 is useful

I have seen a distribution of 1 cause problems in some scenes. I don’t know exactly how it works behind the scenes, but it can be worth trying different values, as it’s a bit scene dependant.

True, I’m sure there are lot of edge cases, my scene might be one of them. (default cube with a simple volume scatter setup, one light source coming from behind and a default camera though, so it’s not that special)

This is one of the cases where I’d be really curious what BF artists or Clement would say. Currently with Eevee there’s just a bit too much trial and error on my end, with shadows, transparent materials, reflections and so on - I’m using it quite frequently and I feel I don’t really have a good recipe for a lot of cases. DoF is flickering, shadows are jumping around, volumes are a bit of a hit and miss… A lot of playing around to get a good result.

edit:

with a bit af AI help I got a better understanding -

From your observation:

Distribution = 1 → no light bleeding

That strongly suggests that 1 is making the slice spacing closer to linear, so you have more uniform coverage throughout the frustum. Objects farther from the camera are sampled more evenly, reducing interpolation errors around occluders.

When you lower the value below 1, the slice spacing changes in a way that leaves the region around your occluding object under-sampled, so the lighting injection pass effectively “jumps over” the object.

This is some volumetrics I used for a background world setting.
It adds minutes to the render time; there is a brief flash of the same pattern you are seeing, but then it shows what you see in the screenshot.

In the Render > Volume setting, selecting Biased clears up all of that.
Just an other idea for world setting.

You might be better off using a Volumetric Cube around your meshes; it takes less time rendering and uses less memory.

Thanks, I’ll definitely try that!

Ye, using a volume scatter world instead if a cube is just my lazyness taking the better of me, but I have 1-2sec frames so render time is alright.

That’s for Cycles, the render in this post is Eevee.

and here I was checking blender versions :smiley: