Houdini for Unreal Engine - Realtime VFX

      Unreal Engine 5 is getting popular these days. That latest version gives you a lot of features to produce high-quality artwork in a short amount of time. Since I am just an FX artist why don't I give it a try? My goal is to understand if this tool is good enough to be an alternative for the film industry not for the game engine yet. So the priority is quality, not performance.

  I learn a lot this year in 2021 about UE the first thing that comes to my mind before trying Niagara is to transfer Houdini FX Sim to UE. So I do google to find all possibilities. SideFX already created amazing tools for game dev. To do the most common task at light speed.


A. Flipbook Textures / Sprite

   This would be the most popular one. You see them everywhere, especially in in-game asset stores. The cheapest way to make FX assets.

   Flipbook Textures simply means you are storing all the frames to the single image as rows and columns, Then you can use it later. The most common are 8X8, 12X12., That depends on the length of FX frames you have. For better performance, you need to reduce the resolution so it can smoothly in-game engine. So if this is for real-time make a smaller file, But if you do this for film in UE it's okay to have high res image. Since your gonna render it later.


So here is the step creating a flipbook in Houdini and transferring it to UE.

1. Do FX Simulation 

In the first step, I do a pyro simulation, in this case, would be a simple fire pit. This sim will be looping so I need to make sure the first and last frames are matched. After that you need to render the whole sequence It takes time but don't worry mantra is good enough for a simple volume like this.

2 Make Flipbook using COP

After rendering is complete you see the image sequence, to compile this I am gonna use Houdini COPnet there is already an existing node to make the flipbook.



3. Inside Unreal you can simply import those textures, I am applying this inside Niagara, This would be a single point emitting in the same positions.



Finally, you successfully create the first FX asset.





B. Vertex Animation Textures

Vertex Animation Texture is also known as VAT, it simply bakes the position into textures. You can add a custom channel if you want to. This is more versatile, You can control several aspects in the runtime. However, you really need a plugin from SideFX to make it works. I think this is the unfortunate part. because Unreal updating so fast I am not sure if SideFX can follow along.






C. Alembic / USD

   Here is the easiest way to import the FX cache. Especially for movies. We artists don't really need to spend too much time in the engine, Usually, I do this for Maya. It works well for the low poly count. But for large poly count like flip fluid surface, You must be dreaming ! . This is just taking too long before coming out to viewport, it stuck at importing window. Hope this feature will be better next time.


D. Volume Texture, Raymarching, the alternative of openVDB  ? 

We can't really import VDB just yet. Probably too expensive, for now, the other option is to use Volume Texture, This simply means you store voxel position as slice per slice to images, There are a lot of tools available but at this time UE5 just still beta. So most of them work well for UE4.




It was nice to give a try about UE5 one of the most painful ones is whenever you hit compile to make standalone there is always red lines and issue that means you can't compile the project. This sometimes gives me a headache. Unreal Engine is definitely the game-changer for the future industry.

Download Free Assets I made so far.

YAHYA_2021_UE5_FREE_ASSETS

Good Unreal Engine Resources :

AsherZU http://asher.gg/

ShaderBits https://shaderbits.com/blog