Volumetric fog and volume particle System (several questions)

Hello everybody !
I set a volumetric fog in my level and it’s unbelievable !


Now, I want to use a particle system to enable it from place to place.
I learn with the Feature Highlight video with @DanielW ( but I can’t reach the result they get.

Here’s my material for the particles :


My particle system spawn several volumes and that’s what I get as a result :


The fog is very dark (but the albedo in the material is set to 1).
As you can see, I use the particle alpha in the extinction value. On the picture on top, it’s set to 1 but when I set it to something like 0.1, I got this :


Question 1 : Is it the right way to control the density of the fog (by playing with extinction in the material) or is it a better way ?

Question 2 : Why my particle generated volumetric Fog stay so dark. The albedo is set to 1 every where… How do I control the color of the fog ?

Question 3 : I give an initial velocity to my particles because I want to simulate some sort of wind. I want the fog to be “push”. I feel it’s a bad idea to do it like this… As I add some detail in the texture of my fog spheres in my material and they are moving, I think it’s why the Temporal Reprojection can’t do its job efficiently ^^. How should I do this ?

Question 4 : I imagine that the “clouds” have to be fix and I should give the moving effect in the material… @DanielW spoke about a way to add cheap noise in the fog but my English is not so good and I can’t get the reference… Can someone point me in the right direction on how to add this noise in my material ?

Edit : I make my particle not moving and that fix the Temporal Reprojection problem :slight_smile:

Question 5 : I don(t really get how the particles density works… Are the multiple particles defines a unified zone where the fog is apply or are they some sphere that add themself. If i have a high density of particles, will I get a more dense fog or a more precise zone of flat value fog ?

Yes, extinction controls the density of the fog the particle is adding.

When your albedo is 1 and it’s dark, that means the lighting is dark. Note that baked lights do not affect volumetric fog yet, so static Skylight and GI will not be affecting the fog, this is probably why it’s so dark. Consider adding some constant Emissive on the ExponentialHeightFogComponent to make up for this.

Question 3 - For movement you can move both the particles and the textures used in the material, there’s no ‘right’ way. The temporal feedback limits how fast of changes you can make. If you are getting a lot of noise even with temporal reprojection on, it’s probably because your material is too noisy. Try turning temporal reprojection off (r.VolumetricFog.TemporalReprojection 0) and tweak your material to be less noisy, then re-enable.

Question 4 - Info about Ryan’s baking of noise to pseudo volume textures is here. It requires a fair amount of technical knowledge though.

Particles are spheres that add to density of the points the sphere affects. If you add more particles, density of the fog goes up.

Wonderful !
Thank you so much !!

I use only one dynamic light and a dynamic skylight… I will give a try to the emissive tricks but my concern is that I have a good result with global settings and that falls apart when I come to the particles system…

I will look at the link you give me on the noise but if it’s too complex for me (it’s possible ^^), is it a good idea to use a pan node on the UV of my texture in the material ?
I will try soon but if it works, is it a good way to make my myst move slowly ?

About question 5, it’s the best answer I saw to a question that even me can’t understand clearly, you rock :slight_smile:

Edit : I give a try to the panner node and it works pretty well ^^ I have to work a bit on the material and use a tilling texture but if you give me a green light, I’ll go for this : Some big unique immortal particles with a low extinction and overlapping a some point to draw a non flat density myst and a panner on a tilled noise texture to give the impression of movement.

Edit 2 : I’m playing with emissive in the exponentialFog and get pretty good result, thank you again :slight_smile:
I accidentally check the ‘override light color’ and get really good unexpected effect for my winter morning !


I will tweak this a bit and I’ll make a screen of the “final” state of my fog :slight_smile:

Edit 3 :
Nope, I still don’t get it…
On the precedent screenshot, I had no skySphere and the fog was added to a black background. When I add the sky in the scene, my problem is far more visible :


The albedo color in the exponentialFog in my scene has no effect at all.
The emissive color in the exponentialFog does color the fog in my particle a bit but I can’t make them white.
If i put something >0 in the emissive slot of the material, I can get a white myst but at the cost of a lot of detail in the rays in the fog (i need a high value…)

here’s my myst with an emissive set to 0.01 (in the material) :


I don’t get why my myst is black colored… I try to deactivate the volumetric shadowing of my light but it is not that…
I don’t get why the fog defined by the particle is not the same as the fog defined globally in the exponentialFog…

Youhou !
I get it !
Here’s where I am now :


It’s much better, no ?

I sleep on this and reread your answer this morning, I see this :

My source light was set to an intensity of 2.
By setting it to a much higher value (30) and with a very low extinction in my material, I manage to get the effect I want :slight_smile:
I use the “overide Light Color” too… It can be really cool or problematic, depending of angle of camera toward the light source.
Maybe I will change my mind on this ^^
I also finally understand that the albedo slot in the material can receive a color and is not “scalar only”.
that’s how I manage to give my myst the bluish color I wanted.
I use a very small amount of emissive in the material to compensate the dark zones where my myst is too dense.

Here’s my “final” material :


I will soon put every settings of it in a paramCollection to drive them in runtime :slight_smile:
Add some contrast by postProcess…

Thank again, I was really stuck and I’m on the road again ^^

I been working with this too, i have a local volumetric fog BP setup in a cyllinder, and it seems i need to add the exponential fog height to the scene ti get it working, then the exponential fog affects the whole level. Where my local volumetric fog is fine except its too dense, how can i adjust just the local fog density without affecting the exponential fog? Do i need to do something with the extinction in the local fog BP with nodes where the material is created? If i open the particle editor and lower the distribution scale it then spreads out and leaves some areas fogless and shows the cyllinder shapes more. Im trying to use the local fog clouds locally but if its only neck height to my character i cant see the ground or anything else below me and next to me.

When you adjust the extinction parameter in the material of the particle system, you adjust the density (or opacity… The quantity of light that manage to get through the fog).
But if you have 2 particles in the same place, they stop the light twice.
For a better control, I make my particle system with only one immortal particle. Then, I can put 1 big particle every where I want some fog.
If you want an animated fog (with multiple particles, then), you should use a very small extinction and set the density of your fog by altering the quantity of particle spawned. The only problem I see with this is that you can’t control how many particles each players will have because they can reduce the number of particles through the scalability settings.
That’s why I choose to put each particle manually in my world :slight_smile:

Ok so your saying i can adjust the extinction in the particle editor itself? Is that under the “spawn “ section? Also i should leave the distribution at 1? Thanks for help

When a light ray (I know it’s not a real light ray but it helps to understand ^^) go through a particle, it is reduce by the extinction of this particle (set in the material of the particle).
If the same light ray go through several particles, it is reduce several times by the same amount.
My way to do things : 1 unique big particle. I can control the extinction very precisely ^^
If you want to have a real particle system, you can control his density by controlling the number of particle a light ray have to go through. It’s less precise because you can’t control exactly where the particles are. But yes, in the spawn module, you can choose the average number of particles that an emitter will spawn simultaneously.
This way, you can control (approximatively) the density of your fog. The more you have particles in your system, the more the light ray will go through, the more it will be reduced (I’m not sure it’s still English…) :slight_smile:

I was able to adjust the extinction in the material instance.