OldUnreal/Unreal-testing

Volumetric Fog now shows against Unlit Textures when previously they did not

Closed this issue · 4 comments

As the title states, Volumetic Fog lights never rendered against an Unlit texture/surface. Whether intentional or not, this has been used by map makers in the past to do certain tricks using fog lights. For example see below:

This scene in 227i and below normally looks like this:

image

However in 227k, it now looks like this:

image

The stars texture in the background is set to unlit, while the planet texture below is lit, so the intention was to make the volumetric fog only effect the planet for a unique effect. This is one example but there are other custom maps that utilize this trick, so I'd recommend changing this back to 227i and previous behavior.

It is also worth noting that in the 227k editor, fog lights do not render against unlit textures just like 227i, it is only when going in game in 227k do you see fog suddenly rendering against unlit textures/surfaces.

I feel like graphical changes like these ones should not apply to maps made before 227k, not sure if it would probably be too hard to implement because of engine/renderer limitations but a property that could be toggled to choose if a light fog should render on top of things or not (that is off by default) or even just a setting for it would be nice

More info, downloaded the earliest build here on the GitHub from July 9th, 2022 (an early version of J before J release iirc), and this issue is there. It is not an issue in J42_15 however, so the change that occurred must be between those builds. I do not have any versions of J from around that time period, so finding it difficult to track down.

Imo fog should be lit when you shine a light on them. Against all surfaces or backgrounds.

When I launch projectiles that emit light around it. Like fireworks, fireballs, aura projectiles and the area is foggy, in the past the fog was only lit against the map structures but not the skybox. This always looked wrong to me. If that is fixed now than that is a good thing in my opinion.

Against SkyBox this is a different topic and fixed also.
To have the maximum flexibility I restored now original behavior and abused the SpecialLit flag to be set in combination with unlit to have unlit surfaces covered again like in 227j, so original maps behave again as intended and mappers can take advantage of the fix by setting SpecialLit as SurfaceFlag additionally.
On a side note, this is exclusive for VolumetricFog, there is no relation of any kind to DistanceFog which covers all surfs ever since implemented.