Menu Close

UE4 Realist Smoke/Cloud by @Vuthric

This technique to render realistic smoke / cloud super FAST is not as well known as I thought so here we go
(a thread)
#UE4 #gamedev #techart #vfx #realtimevfx

we know the smoke / cloud simulation must come from *somewhere*, like Blender or Houdini simulation. when we make a flipbook, the most traditional way is to BURN EVERYTHING we see as end result on the sheet. but that feels a little dry doesn't it

one way to get more gold outta the simulation: bake out the normal. although normal doesn't work well with volumetric rendering, you can do it if you want and it does add some details to the result (example from Houdini)

another awesome trick I learned from Mederic Chasse:
https://realtimevfx.com/t/smoke-lighting-and-texture-re-usability-in-skull-bones/5339
is to bake out the actual light scattering, from different directions
actually that thread is so great! I learned a shit ton from him. but I can't seem to find his twitter after some digging :\

you can do this with relative ease in Houdini, there is a SideFX Labs node for it

the (simplified) material looks like this. pretty neat huh? note I only baked out 4 Directions and did approximations for front&back. we *sometimes* need to think about video memory (hate it)

you can even dig into the materials of the new #UE4 SkyAtmosphere system, then copy/paste material nodes to append even more comprehensive realtime light behavior to it.
I gave it a little try tonight and it was insane. this is a SPRITE

another juicy data to extract from the simulation – temperature

in Unreal you can easily use the Curve Atlas feature to define multiple color curves. so once you get the temperature out (on a texture). you can read that data in the material (as X axis) and map it to color value (Y axis), which is HDR, aka bloom for days

that's a wrap I think. I'm gonna pass out soon but if you guys have any question feel free to leave a comment! there are no stupid questions only stupid shader compiling times

btw this is interesting too:
https://www.sidefx.com/tutorials/create-motion-vectors-for-time-warping-image-sequences/
allows you to have better image quality and / or smoother transition. although there are tradeoffs (more textures & pixel shader complexity). thought I should mention.

also consider giving @JangaFX EmberGen a try if you are interested in fluid sim. it's super fast and easy to learn.
I'm not sure how easy it is to implement the approach we talked about here but look at how gorgeous the result is, and it's realtimešŸ˜

Originally tweeted by Asher Zhu (@Vuthric) on 24/07/2020.

Similar

Comments are welcome.