Let’s analyze the main aspects of working with Niagara

Article author: Rostislav Musienko

Senior Unreal Engine Developer at District Zero

Hi all! My name is Rostislav Musienko. I have over 10 years of experience in the engine, I started with Unreal Engine 3, learning different aspects of the engine. In this article, I would like to show how easy it is to work with the particle system on the Unreal Engine. Let’s analyze the main aspects of working with the Niagara System. To parse, we first need to create a particle system.

Let’s Create the Niagara System

New files can be created by right-clicking on the menu. Select Niagara System from the pop-up menu.

Then choose item 1.

You can take existing blanks as a basis, I will demonstrate using the fountain as an example.

After creating the Niagara System, we name it with the appropriate name and double-click to launch it for subsequent editing.

The editing interface of the Niagara System is not much different from the rest.
For those who are not yet familiar with the engine, I will analyze in more detail:

  1. On the left, the effect itself is visually demonstrated.

  2. The work area is in the center.

  3. On the right we can see the details and points of the selected particle node.

The effect itself is a pillar with nodes connected to it, which contain settings and properties.



Let’s look at the main parameters that can be set in the Niagara System nodes:

  • Spawn Rate – the rate at which new particles are created.

  • Burst List – a list of bursts that determines the number and time interval between batches of created particles.

  • Spawn Volume – the area in which new particles will be created.

  • Spawn Direction – the direction in which new particles will be spawned.

  • Initial Velocity – the initial velocity of particles.

  • Initial Size — initial particle size.

  • Initial Color – the initial color of the particles.

  • Lifetime – particle lifetime.

  • Random Seed is a seed for generating random numbers used to create particles.

  • Inherit Velocity – Inherit the speed from the parent particle or other object in the scene.

  • Collision – settings for particle collisions with the environment.

  • Noise – noise settings that will affect the movement and shape of the particles.

  • Sub UV – settings so that the texture of the particle can contain several images, from which one will be selected depending on the lifetime of the particle.

Emitter Spawn

In the Emitter Spawn nodes, you can set parameters to fine-tune the spawned particles. For example, you can set particles to be spawned at a specific speed in a specific direction, or to have a random speed and direction.

Nodes in Emitter Spawn are set only once when creating an emitter. If you want to customize the behavior of a particle during its lifetime, then you need to use Particle Spawn nodes. In them, you can set parameters for each new particle that will be created during the operation of the emitter. In addition, other parameters can be set in the Particle Spawn nodes, for example, the effect of particles colliding with the environment or the effect of dynamic emission (light emission) can be set.

Emitter Update

In the Emitter Update nodes, you can set parameters to further customize the behavior of particles – for example, add external forces that will affect their movement, or adjust lighting.

The parameters set in the Emitter Update nodes will be applied to all spawned particles. If you want to customize the behavior of individual particles, then you need to use the Particle Update nodes. In them, you can set parameters for each particle individually, for example, change its speed and size depending on the lifetime.

Particle Spawn

In Particle Spawn nodes, you can set parameters. For example, adjust the effect of particles colliding with the environment or the effect of dynamic emission (light emission).

Particle Spawn nodes allow you to adjust the parameters of already created particles, but do not affect the speed of creating new particles. If you need to change the speed of creating new particles, then you should adjust the parameters in the Emitter Spawn nodes.

Particle Update

In Particle Update nodes, as in Particle Spawn, you can set dynamic parameters.

The Particle Update nodes allow you to change the parameters of a particle during its life, but do not affect the speed of creating new particles.

To increase the spawn of particles, set the Spawn Rate to 400 or any of your values.

The next goal is to change the height of the particles and increase their size.

In Initialize Particle we have the ability to change parameters such as:

  • Lifetime (Lifetime) – by changing it, we can control the lifetime of particles.

  • Color (particle color) – the color of the particles can only be changed if a material with the ability to change the color of the particle is selected.

Let’s increase the spawn area due to Shape Location – it is responsible for the location of particle spawn. Shape Primitive you can select a virtual primitive shape in which the particles will appear.

The following items change depending on the selected primitive shape.

Now our fire is not very similar to fire because of the white color. Let’s change this.

Let’s try to change the color by RGBA.

An important nuance! A value greater than 1 increases the intensity of the glow. We put (30, 10, 1, 1)

In order to increase the realism, we can modify the movement of the “tongues” of the flame.

This can be done in 2 ways. Method 1:

Add Velocity adds directional movement force when spawning. We set the values ​​​​to your taste of the movement of flames.

We get the result.

Method 2: Gravity Force

This method works more interestingly, the Gravity value each time adds the force of particle movement. If you set it to positive, then the particles will start moving up.
The main feature will be that with each millisecond the force of movement will increase (the force of movement is like that of a flame due to temperature).

We have the ability to add new nodes. It is better to familiarize yourself with a huge list on your own, but now let’s call Scale Sprite Size.

In it, we will adjust the curve so that it decreases the value, thus narrowing the flames.

With the help of Point Attraction Force, you can achieve an effect that creates an elongated fire towards a point in the center.

In order to be able to change dynamically, you will need to add variables to the Niagara System.

In the User parameters tab, click on the plus and add variables:

Let’s create a new blueprint.

Let’s place the Niagara System component in it and select our created component in the details tab.

In the blueprint, open the Constraction Script tab to add code that changes the properties of the Niagara System.

For variables, enable the visibility property from the scene Instance Editable.

This can be done by clicking on the eye next to the variable or by checking the box next to the property of the same name in the details tab.

As a result, we can dynamically change the values ​​of the variables of the actors on the stage, due to which the visual properties will change.

Finally, you can experiment on your own with the nodes and value settings in the particle system, achieve different values, and explore the game engine by experimenting.

Soon OTUS will start classes in the first group of the course “Unreal Engine Game Developer. professional”. March 16 at 22:00 will be held open webinar on the topic “Procedural VFX for Motion Design in Blueprints”. You can register for the webinar using the link below.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *