【UE5】Easiest way to keep a Niagara Ribbon facing a direction in local space of its Niagara System

Introduction

When you add the Ribbon Renderer in Niagara, it keeps facing a camera by default.

It is often the case that you want to make it face a certain direction according to the local coordinate system of its Niagara System’s orientation, but It might not easy to find how to do it (I took time to find out at first).

There is a way to do this with the basic functions provided by Niagara.

Procedure

The procedure is only two steps.

① Set the Ribbon Renderer’s Facing Mode to Custom.

② Set the value of Ribbon Facing Vector to SystemZ(or X or Y)Axis.

First, for ①, change the Facing Mode from “Screen” to “Custom” like the following image. By doing so, the ribbon will face along the vector direction specified in the parameter ‘Ribbon Facing’.

※ Incidentally, if Custom Side Vector is specified here, the ribbon will align along the direction of the Ribbon Facing Vector.

All that remains is to set a vector value you want the ribbon to face in the Ribbon Facing Vector. You can set the parameters directly, but you can also set the Ribbon Facing Vector in Initialize Particle, which is explained this time.

When Ribbon Facing Mode is changed to Direct Set, the Ribbon Facing Vector is set to (0,0,1) by default. This means that the ribbon will always face the Z axis direction.

However, since this is a world coordinate system, it always faces the world’s Z-axis direction = upward, so that rotating the Niagara System as shown below does not change Ribbon’s orientation.

Here, it is tempting to simply check the Local Space checkbox in Properties, but if you do so, the Particle position will also follow the Niagara System position, and Ribbon itself will not be generated.

※ If you are making Ribbon without moving the Niagara System in the first place, such as when making Ribbon with Spline, you can check Local Space and set any value you like for Ribbon Facing Vector.

This time, we want to leave the world coordinate system and get the orientation information of its Niagara System.

When you want information on its own Niagara System, try typing “system” in a search, and you may find usable parameters.

Here, we will use SystemZAxis. It returns the vector value of the Niagara System’s Z-axis direction in a world coordinate system.

By setting this to the Ribbon Facing Vector in the Initialize Particle, the Particle will face the Z-axis direction of the Niagara System when it is generated like bellow.

Now you successfully keep a Niagara Ribbon facing a direction in local space of its Niagara System.

Congratulation!