Simple, old-fashioned mist in EEVEE

Is there a way of getting simple, non-photoreal, old fasioned mist in EEVEE? The kind that just fades everything to a colour as it gets further from the camera?

1 Like

i found a way, hope it helpful
make sure volumetric is enabled
volumetric

create a cube, set volume with volume scatter, scale up till it cover your scene, play with values then

volumetric2

i try to follow other tutorial out there, but with blender 2.8 that continue developed over time, i cant replicate the tutorial with the build i’m using, so i make my own way

here you see the result

Thank you, but this is far more complex fog than what I was after. I was after the kind of simple fog that has been about since PS1 that simply fades out objects as they get further away, and can be used to hide a draw distance. This doesn’t work if the whole scene has to be covered with a cube of volumetric fog. Don’t get me wrong - Eevee’s volumetric effects are awesome, just not what I’m after.

What I’m after CAN be done in a mist pass, but I was hoping it could be done within Eevee.

you mean something like that?

Just add Volume Absorption to world nodes
and turn volumentrics on in the render properies

really its just 1 minute of work

woah, i think it works so simple. thanks!

In 2.79 it’s possible to see Mist in viewport

I can’t find a way to do this in Eevee.

1 Like

Well, the renderer in 2.79’s viewport (“Blender Internal”) is not at all the same as Eevee. Such that the ideas used by one are “not-applicable” in the other.

When you start using Eevee (or Armory3D or anything like that), you are going to quickly become very, very acquainted with nodes.

Yes, the Volumetric nodes in Eevee are very powerful, but I still think that a traditional mist would be very useful too. It’s a lot lighter on the performance and comes in handy when making non realistic renders. Are there plans to add this feature in future releases?

This is simple to fake with nodes on the materials:

Start must be less than end. Multiplying by “is camera ray” is not necessarily needed depending on what you are doing but gives a starting point for use in cycles. Not sure how much “is camera ray” is relevant for Eevee. You might have to experiment depending on the scene.

This has to be done for each material you want the effect applied to. The easy solution is to put it in a node group that you use for the output on all materials:
simple_fog_node_group

Change the fog settings in the node group then all materials using the node group are updated. I tend to do this on most of my projects, though I often include the material output node in the group as well so I can override materials at will as well while having different classes of outputs serving various global effects. “Standard Material Output”, “Billboard Material Output”, “Distant Material Output”, etc.

4 Likes

Thanks so much! This is very helpful!

Thankyou… that’s very helpful. That camera data node looks very helpful.