Voxel probe - Few questions


photo

Recommended Posts

Hi all,

 

within our last project we are using voxel probes to increase performance by pre-baking lights. The first results are quite nice but we faced a couple of "complications" which I need to investigate in order to avoid that for future projects and increasing our overall lighting scene.

So for the scene setup (Unigine version 2.13), we needed to create an interior of an tunnel with a few resuce containers in it. Therefor, the scene doesn't have any LightWorld-Node, and of course only static lighting as well. Light baking was always done with SSRTGI enabled, as recommended by the editor.

1. We first tried to create Omni-Lights for our light sources, which should match standard neon tubes for illuminating a couple of areas. After baking the voxel probe we got strange "light batches" in editor and final setup as well:

2021-05-07-11_29_59.thumb.jpg.1234e24d636450f1f941ac3d3cbaf17d.jpg

We try to eliminate those artifacts by decrasing voxel size, increasing voxel steps and enabling the "cubic filtering" in the ambient tab of the voxel probe without any pleasant results. After numerous tests we switched to "Projected lights" which seems to eliminate those issue completely. Enabling cubic filtering here was an nice addition but also this feature unchecked is working as well. Therefor asking: Is it intended, that only projected lights will work flawlessly with voxel probes or are there something additional we need to check beforehand?

2. Light moving through objects and illuminating interior

Same scene setup, we try to bake the light for the whole tunnel via direct and indirect lighting from the sources placed on top of the tunnel. The rescue containers should have their own light scene, so it needs to be completely dark in the inside of the container when internal lights (aka internal voxel probe) is disabled as default. The interior light for the container was created separately because the user needs to activate it in the final solution on their own when entering the container.

So first issue here; when the radius/field of view of any light source intersects with the interior of the container sources, we got a mismatching voxel probe.

voxel_interior_2.thumb.png.e9a062ecf6967013c0c5b3a9b73bf2ad.png

The container are not that black as it should be. Our workaround for that case was to reduce the lights field of view/distance until it doesn't intersect with the container any more. Unfortunately we have to "trick" a little bit with the illumination of the containers surrounding to still match the overall light appearance.

 

3. Voxel probe artifacts at the outside of the container

So for this one we try to bake the voxel probe for the container itself. We place the interior lights, set proper dimensions for the voxel probe (who is the exact size as the container) and bake it. After a sucessful build, the results of the voxel probe for the interior is also visible at the outside of the container.

voxel_interior.thumb.png.b59a45c65be97ff4a0794e75e932cea9.png

The overall container shape contains of an outer surface and an inner one, so no two-sided material or other tricks. We could also elliminate those artifacts by decreasing the size of the voxel probe to fit directly into the container but do not intersect with the surfaces. But our hope was, that we didn't need to care at all of of the voxel probe bounding and the light should be baked correctly only for the interior one.

It would be nice if someone can help me to figure out what am I missing or have to do in other ways to get a more appealing result.

 

Best

Christian

Link to post

Hi Christian,

Voxel probes are only stores the information from the indirect lightning (lighting bounces), no information on direct lighting stored at all. So you need to setup your scene and keep in mind this limitation.

  1. Looks like a bug to me. There should be no issues with any light types and voxel probes. Could you please prepare a small test scene with a similar behavior so we would be able to check and see if it's a bug or not?
  2. Also hard to say anything without seeing the actual test scene and lighting setup.
  3. That's expected behavior. Maybe adjusting Fix light bleeding* parameters on a specific voxel probe will make things better in that case.

Maybe for some objects you can bake lightmaps and use them instead of voxel probes. It will give better lightning (since the resolution of lightmaps is much higher than voxel probe can provide).

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post

Hi silent,

 

thanks for your answer. I will send you and download link for a small test scene with one of our containers for confidential use, but please feel free from answering here.

3 hours ago, silent said:

Voxel probes are only stores the information from the indirect lightning (lighting bounces), no information on direct lighting stored at all.

Ah okay, that is a good information for me. So that is why I expected another issue, when placing an simple plane in a scene, adding an material with "Alpha blend" feature at it and an transparent texture, this object is completely black because if disabling all other lights? (I also added it into the demo scene).

3 hours ago, silent said:

That's expected behavior. Maybe adjusting Fix light bleeding* parameters on a specific voxel probe will make things better in that case.

Good to know, but fix light bleeding seems to be removed with engine version 2.13. :(

 

Best

Christian

Link to post
Quote

Good to know, but fix light bleeding seems to be removed with engine version 2.13. :(

Yeah, my bad. Instead Fix light bleeding you can control attenuation distance and power:

image.png

After test scene examination we can suggest you following:

  1. Increase Voxel baking quality (from Draft to Ultra):
    image.png
    At least after that change we can't see any artifacts from omni lights. And yes, you can use any kind of light with voxel probes.
     
  2. (and 3) Unfortunately, with voxel probes you can't fully eliminate this effect. You can reduce voxel probe dimensions (so it would match the cabin) and reduce voxel size itself (make it more detailed). To get a proper non-leaking lighting you can bake two set of lightmaps (lights on / off) and switch between them via logic. For the whole tunnel in that case you can bake big and low-res voxel probe.

Thanks!

  • Thanks 1

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to post

Hi silent,

many thanks for the insight and answering. We will try to consider it in the future within our projects.

 

Best

Christian

Link to post