I’ve been using the Unity standard particle shader and in general it works for a lot of scenarios.
However, I’m working on a project with day/night cycles and the particles get too dark for my preference. Also, during the day, the shadow side of the particle is also too dark.
I understand this is how the renderer works in Unity and it’s working as intended.
My question is, does anyone have a solution that would lighten up the shadow side of the particle or the particles at night time? I want more control in how the particles are presented by adjusting how much they are affected by the directional light.
I was thinking either clamp how dark the particle can get or control how much ambient is applied to the shadow side or ??? I’m not quite sure. Shaders are not my strong point.
This image tries to illustrate what I want. On the left is the directional light on the face of the particle, on the right is the back side (or shadow) of the same particle.
You can use translucency with transmission for lighting smoke. You can use normal map to say shader what need to be dark and white.
i’m using the emissive for my heat. i also have a normal map on there. is that what you are referring to?
I think what I’m looking for is a shader that adds fake scattering and/or transmittance to smoke or cloud based particles. Maybe something like adding X percentage of the directional light to the reverse angle.
Horizon: Zero Dawn had nice a presentation on their cloud work a few years ago.
Has anyone done a shader like that in Unity?
You don’t need to use emission for your heat. Use translucency with transmission instead. Emission node must be empty. You can do this only in custom shaders. Standard shaders no have such option.
Thanks for pointing me in the right direction. After some experimenting, looks like transmission is what I was looking for. I was able to brighten up the reverse angle of the particle to the light.
It doesn’t look like a big difference in the screenshot but it makes a difference in game.