The free Unreal Apollo 11 pack has volumetric VFX for rocket exhaust using raymarching! Why haven’t I see volumetric VFX used in games elsewhere?
If I understand correctly, the totally free MissionAR (Apollo 11) resource pack on the Unreal Engine Marketplace hosted and sponsored by Epic Games has volumetric effects for its rocket exhaust and this seems to be a much more convincing VFX effect than traditional particle systems that don’t use raymarching etc…
I have a sandbox project that is basically a mobile launcher, the payload on the truck driven mobile launcher is basically a rocket. For a while I’m been trying to find someone to do the VFX of the rocket launch for me, and even though I’ve purchased a lot of VFX asset packs on the Unreal Marketplace to assist with such a process, most all of them are using the old style cascade and almost none of them support the new Niagara. But even those that do support Niagara are not volumetric.
I asked a few Unreal guys on Fiverr if they could do the VFX for me and all of them stated that its impossible to do volumetric VFX for rocket blasts in a “real time” setting meant for a game/ sandbox with playable VFX…
I believed them but then I see Epic Games released this rocket launch using raymarching and volumetric techniques and VR is more process intensive than traditional non-VR so what gives?
Where they wrong and indeed its possible to do volumetric VFX for rocket blasts in a “real time” using UE4.25.1+?!
Their Embergen is realtime when creating and viewing the desired effect, but the results are baked for use in games. Currently either as 2D flipbooks or as 3D VDB’s but I know other 3D baking options are planned. Either way the simulation itself wont run in UE.
I’ve been obsessed with these sorts of sims for years. It was quite possible to get such things running in game engines for at least the last 8 years, but the burden on the GPU is high, making it hard to use this stuff in a practical way in games because even with high-end GPUs there isnt much left for the rest of the game. Even when the sim part is baked, the raymarching part isnt that cheap. But I still expect to see more use of volumetric stuff eventually.
Ryan Brucks did quite a lot of UE4 work with this sort of sim & raymarching in the past. This was originally a separate demo project but for a while its been available within the experimental volumetric plugin that ships with UE4 these days. As far as I know it was not turned for absolute maximum performance, he was intending it mostly for baking stuff, so this implementation does not reflect the absolute maximum performance to expect from this sort of sim, but it still gives clues about how heavy this stuff is. To give another example, I have a compute shader based 3D sim of this type (Jos Stam type Navier Stokes fluids, not in UE4) and I can get 120+ fps if I cut corners with raymarching (eg plug it into an existing volumetric fog system instead, or use the vector fields to drive particles instead) and keep the sim grid size to something like 192x192x192 with a 2080Ti. But even with that card and avoiding raymarching, performance tanks when I push the sim res higher to 256x256x256. From results like these I consider that it may be practical to use such live sims in games targeting the high end, if decent results can be obtained using much lower sim resolutions like 64x64x64, but I am not surprised that most games avoid this.
Other optimisations have been attempted by others in the past. For example Nvidia Flow (which works in some older UE4 versions compiled from nvidias modified engine sourcecode) uses a sparse voxel grid to avoid unnecessary calculations in many cells that have no active smoke/fuel etc but I dont think that product ever gained serious momentum.
I believe work is also being done in systems in Niagara for grid-based sim stuff, but I havent looked at it myself, probably still relatively early days on that.