Hi, recently, I was very interested in creating lit smoke particles in Unity. But I don’t fully understand how exactly it can be done. All particles are billboard and always face the camera. So how they can be lit from a back side for example and also use normal maps like explosions from this video -
But it’s not fully lit. I want particles to receive ambient/directional lights and if it’s possible, get information from light probes too. Or maybe it’s not worth it?
ok im very used to writing my own shaders and doing the lighting myself, but i think that can seem like a daunting task. is there a reason the standard shader wont work for you?
Ue4 is in fact using opacity shadow mapping for the main light source. This is not easily achievable in shader Forge. I guess you could do it but you would have to create some custom buffers which involves scripting.
Yeah, it’s not really fair to call that “fake” volumetrics since the shadowing technique is actually a true volumetric effect. There are assets on the Unity asset store that add similar functionality, but it’s not as well integrated into the rest of the lighting systems.
Unity’s lighting system by default is also not great for handling multiple lights on transparent objects with out some tricks. There’s one asset on the store that does some nice stuff to try and fake volumetric lighting on particles to a degree, as well as support dynamic lighting.
Curiously the author of that asset started down the road of implementing something like the shadowing technique Unreal uses before eventually abandoning it.
A little curious to see alpha test used with ZWrite Off. Also note this will only work with Unity 5.5 or newer as 5.4 didn’t support tangents on particles.
It is nice to see reoriented normal mapping in there, even if it isn’t being used…