Today, we will be using the Niagara system in Unreal Engine 5 (UE5) to create a character with a fire effect. Using this system, we can create fire simulations of high quality, all in real-time.
Anyways let's get started.
Setting up Niagara
Create a project with the
Third Person template, as it will come with a character ready with animations. Set
Quality Preset to
Scalable, especially if you don't have a high-end PC. This will make the graphics quality scalable for mid or low-spec PC.
Niagara Fluids plugin, if you haven't already.
Create a new Niagara System and select a template as it will make our job easier. I have selected the
Grid 3D Gas Fire as I don't want any smoke in my particle simulation, and I am going for a superhero look. But you can select any preset that you would like.
Open the Niagara particle system. Select
ParticleSourceEmitter. This is where you modify the particle emitter behaviour.
Modifying Fire Emitter
We want the particle to envelop our character. So, add an
Initialize Mesh Reproduction Sprite. This will spawn the particle in the character's shape selected in the
Preview Mesh option. Also, add an
Update Mesh Reproduction Sprite to update the particle on any animation changes of the character.
If you can't see any changes, you may need to change the
Whole Mesh LOD option value to
0. But if you are using the default character from the third person template like I am, it will work fine.
You can reference the image above for any additional modules I have used. They are self-explanatory.
I have also tweaked the
Scale Sprite Size value with a curve to modify the scale of the sprite. In
Spawn Rate, I am using a value of
20000. Make sure you don't increase it by too much as it will slow down the simulation, and a low value won't look as good.
Emitter Summary under
Grid3D_Gas_CONTROLS_Emitter. Here you can modify the fire particle behaviour. I decided to turn
Gravity off, so the particles don't all go upward.
Here is the result you should end up with:
Adding the Effect and Tweaking
Now to add the effect on your character. Open the third-person character blueprint and add your Niagara fire effect there.
Make sure your transform is at the origin. Turn off
ShowOverlays if you don't wanna see the bounding box of the fire simulation.
Let's playtest it in the scene.
The effect works fine when idle, but the fire acts weird when you move the character. This can be solved quickly by changing the
Velocity Mult value to a negative float. Change the value to how much fire trail you want. I am using a value of
Finally, the effect is done. It may take a while to compile. Anyways, here is what the final effect looks like:
I changed the material to a transparent one to better showcase the effect. But in the next blog post, I will teach you how to create a fire material shader, so the effect is even more enhanced.
That's it for this post. As you have seen, high-level stimulation can be achieved in real-time using Niagara. The system is very versatile, allowing you to do all sorts of effects. Hope you enjoy creating different effects on your character.
Thank you for reading.