Issue with Billboards when using RTXGI & How to fix it

 

When using Nvidia's RTXGI plugin in a project combined with billboards there is an issue with light emission.

As the RTXGI volume uses any lights or surfaces with emissive textures to generate GI, using a Aximmetry Billboard generates a massive amount of extra light to a scene even when "lit" toggle is on in the billboard settings.

Took me a while to figure out what was causing the issue..

Problem is that when you set the billboard to be lit by unreal lights it sets emission color to 0 (Black) BUT the LIT billboard material has a raytracing quality switch replace node meaning that it disables emission on everything else BUT raytraced interactions..

Now since RTXGI uses raytracing to generate the GI from both lights and emissive textures you can see the issue.


Solution is to remove the Raytracing Quality Switch replace node and replace it with a constant of 0

To fix the issue with the unlit mode still generating light to the scene, you need  to either:

A: edit the main blueprint to switch the mesh lighting channel from 1 to 2 when set to unlit in order for RTXGI to ignore any possible light contribution coming from that model.

B: Add a Raytracing Quality Switch node to the Unlit material and set the raytraced mode to Zero using a constant.

C: This is the easiest but also most limited, you can just toggle a switch in the DDGI Volume called "Runtime Static", this ensures that no extra emission is created during runtime but comes with the obvious limitation of giving up dynamic lights (Lights are still dynamically generated but once right before runtime as opposed to 60frames/second during it) 


Drawback in setting the raytraced emission color to 0 is that obviously your reflections will be unlit and thus due to the limitations of the RTXGI plugin the light generated from it wont be visible in the reflections.

You can combat this by going the A route when using Unlit billboards or by toggling the "Runtime Static" on the DDGI volume.


Hopefully this helps if you are having these issues as i was quite frustrated when every time i hopped in front of the camera my dark dimly lit scene lit up like somebody turned the sun to 1000%

Side note, you can use this "bug" to your advantage to generate some really cool results too.

You can use any real world light that's visible on the camera to generate light (And Colour!) into your scene in real time by having two billboards right on top of each other with 2 videos where the one you want to generate light from is luma keyed so that only extremely bright pixels will appear in it.

(remember that the billboard is by default two sided so you need to disable that for the one you want to generate light from, otherwise you end up light being emitted to both directions)

These suggestions are purely speculative and they may or may not work in your case as using it this way is not exactly intended behavior, you may need to scale the overall scene if you ran into issues as RTXGI is a bit wonky with the size of the model with the emissive texture vs the amount of light emitted from it.


Cheers

   DeataProduction

 
Profile Image
Eifert@Aximmetry
  -  

Hi,

Thank you DeataProduction. Nice fix and summary.

For others installing RTXGI, don't forget that you have to put the RTXGI folder into c:\Program Files\Epic Games\UE_4.xx\Engine\Plugins\Marketplace instead of Epic Games\UE_4.27\Engine\Plugins\Runtime\Nvidia. And then run plugin install in Unreal Editor for Aximmetry.

There seem to be some issues with ray-traced translucency and Billboard being a translucent material. It is possible to turn off raytraced translucency in this case with the r.RayTracing.Translucency 0 console command.

Warmest regards,