I’ve been working on a volumetric aurora borealis, made only with math functions. So far, the only way to do this I’ve found is inserting it into the Volumetric Clouds actor, as is the only one that I know of that can render volumetric materials with high quality and also produces reflections.
However, to make the aurora more believable, I decided to place it more than 50 km over sea level (despite it actually being hundreds of km above ground in real life). For this, I’ve set Layer Height to 80 km. The problem with the Volumetric Cloud actor is that there’s some kind of occlusion that affects its entire volume, even when there are no clouds being actually rendered. You can see the effect of this in two ways. First, the entire sky is darkened. And second, there’s a brightness difference in the sky at around the 80 km mark (or whatever the Layer Height is). Hopefully this can be seen in the two pictures below.
Here you can see the brightness difference in the horizon cause by this weird occlusion:
And here you can see the same position as the picture above but with the Volumetric Cloud actor disabled, so you can see how the lower portions of the sky are brighter without it:
So, ultimately, what I’m looking for is a way to render the aurora without having to use the Volumetric Cloud actor, which introduces this undesired behavior.
… would a static mesh with material based vertex animation and volumetric driven coloring not serve the same final purpose?
And given that, would Niagara not offer similar mesh free solutions for it?
Additionally. Volumetric materials can be applied to any size post process. A common use is to make smoke bombs/coulds.
However, at the size in which you need it, using a volumetric material is going to cripple performance at best.
Thats why “faking it” by only applying the volume over 2 axis is preferable when possible.
You can also levarage pixel depth to fake a 3rd dimension at a somewhat lower cost.
In practice, this is almost no different than a custom water shader the way I see it.
Plus.
It should reflect onto the water surfaces, so it needs to be contained inside a reflection capture of some sort for that…
Even if a ribbon is not the best physical approach, you may get the furthest in simulating with it…
Hello, thanks for the reply. When I started working on it I first tried static meshes, but couldn’t get it to correctly reflect on water, or anything at all. The Volumetric Cloud actor does a pretty good job in my opinion containing the shader and rendering it in high quality, and shares the same reflections as the clouds, so it’s constantly updated. It is indeed heavy on performance (6 to 7 ms on the gpu), but I don’t really have the intention to use it on real time gameplay.
I haven’t used Niagara before, I might try to check it out to see how it could make it work, but I don’t really see it working as a trail. I uploaded a video a few months ago so anyone can see how the aurora behaves right now, and honestly I’m happy with how the current simulation works.
I mostly want to know if there’s a way to detach the aurora shader from the Volumetric Cloud actor, into something that works similar. I remember trying the smoke method before, but the quality was downright terrible and performance was even worse.