PART 1: MAKING PARTICLES:
I am here to show the differences in implementing particles on a model within the Unity Engine and within Unreal Engine 5.
Beginning with Unity, If you don’t have a project set up already, create a new 3D project. Within this project, first create a 3D object. This can be done by right-clicking in the Hierarchy tab and selecting “3D Object”, or by selecting “GameObject” > “3D Object” from the top menu drop down. The exact type of 3D object shouldn’t matter, but for this example we’ll use a cube.
Now you will want to make a script that allows for particles to spawn from your 3D object. Create a C# Script by right-clicking in the content drawer, then selecting “Create” > “C# Script”.
This will create a new script. Name it InstantiateParticles. We will return to this in a bit.
Select “GameObject” > “Effects” > “Particle System” from the top menu drop down.
This will create a particle system within your hierarchy. If you want to put it in your content drawer, you can drag and drop it there from the hierarchy tab. Once you’ve done that, you can begin editing specific parts of the particle system within the Inspector tab.
Some significant options/modules for beginners are
Duration: How long will the particle animation last?
Looping: Do you want the particle to loop once the animation finishes or not?
Start Color: What color do you want the particles to be?
Simulation space: Are the particles linked to the particle emitter? For an effect like fire where the particles trail behind the emitter, select “World” for the best result.
Emission: How fast are the particles emitted?
Shape: In what shape are the particles emitted?
If you want to attach the particle system to an object, then go back to the “InstantiateParticles” script mentioned earlier. Add this script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InstantiateParticles : MonoBehaviour
{
public ParticleSystem particles;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
ParticleSystem p = Instantiate(particles, transform.position, Quaternion.identity);
}
}
}
Save the script and add it to your 3D object as a component. This can be done by dragging and dropping the script into the object’s Inspector tab. Enter in your particle system for the “particles” variable.
Now when you play the game, your object should spawn particles whenever the spacebar is pressed.
If you want the particles to always spawn from the object, then drag it into the Hierarchy tab and into the Object.
As for Unreal, begin by making a new 3D project. This should already have a playable character built-in, so you don’t necessarily need to create one if you wish to just use the default player model.
First, make a particle system by right clicking in the content drawer and selecting “Niagara System” in the “Create Basic Asset” group.
Next, select “New system from selected emitter(s)”, then click next.
Now you can select what Niagara template you want to use. For this example, I’ll use the fountain template. Select the template, then click the ”+” button, then click “Finish”.
Once you do that, you can double-click the Niagara System in the content drawer to open its system overview. Here, you can edit the particle by editing and/or adding modules, which can be added by clicking the “+” button.
If you select certain stages or modules, you will be able to edit them in the Selection tab.
If you want to attach your particle to the player, go to “Content” > “ThirdPerson” > “Blueprints” in the content drawer and select “BP_ThirdPersonCharacter”. Once the blueprint is open, content drawer and drag the particle system into the Components tab. Then move, rotate and scale it as you please.
PART 2: HOW I MADE MY CUSTOM PARTICLE SYSTEM:
Now I will explain how I implemented the effects I used in this video:
The first thing I did was add the default fire particle as a component within the component tab of the player character blueprint. I did this by clicking the “Add” button, then searching for and selecting “Particle System”.
I then changed the template to “P_fire”.
I moved it so it would be level with the player’s chest, then I enlarged it and duplicated it twice to make the fire seem bigger. Each of the duplicates I rotated 30 degrees to each side.
I did mostly the exact same thing for the sparks, Except I selected “P_Sparks for the template instead. Rather than duplicating the system, I placed it close to the base of the player’s neck and then rotated it to an angle I found desirable.
Finally, I made a custom fountain particle system using the steps mentioned in Part 1. I added the color module, then edited it so that the color changes from red to white over each particle’s lifetime.
Once this was done, I returned to the player blueprint and dragged the particle system into the Components tab. Finally, I positioned it at the head and rotated it at a desirable backwards angle.