[Niagara 4.25] Particle Decals Mini Tutorial

Glad you liked it.
The decals are unlit, so using a normal map won’t do anything unless you also calculate lighting. In such a case, you can get the reference normal and tangent using the scenetexture node, and binormal from the crossproduct of those.
To get the normal you want to use for lighting, Just apply your normalmap to the reference normals.

The bumpoffset node should work as intended if you want it to be offset in the direction of projection.

I’m assuming this won’t work with Masked particles, correct?

1 Like

It won’t, too early in the pipeline

1 Like

I figured, but I just wanted to double check in case there was a work around. Guess I’ll try cranking up the Opacity and see if that gets close enough. Thanks for posting all of this for everyone :slight_smile:

Hi anyone here trying to use the component renderer with normal decals? I-ve been trying to use it but is doesn’t seem to work…

I believe you might need to play in to see deferred decals that have been spawned using the component renderer.

However that’s not what this topic is about, so I think it’s better to make a separate topic about this question.

Hi, I was looking for this kind of effect that can follow the surface of a terrain and objects, then found out the terms is decals and I found your amazing tutorial, I follow through everything but end up in this result. I use UE5. Is there anything I miss from your tutorial?

It’s hard to tell from just a video.
It looks like you’re perhaps using the normals of the shape as the projection direction, which causes the result to change if you look at different faces of that shape.
Perhaps the transform node is still set to transform to tangent space instead of MeshParticle Space

Here is my setup following the tutorial without any modification for now.

1

2

3

Where can I find the transform node to set into the tangent space? sorry for my lack of understanding, still in the process of learning the terms and technical things in shaders/material/3D stuffs

TransformVector is currently set to transform between TangentSpace and WorldSpace.

If you click on it, in the details you should be able to select source and target spaces.
The source should be world space, and the target should be particle mesh space. (Or Particle/Instance space in ue5 I believe)
This makes it so we can work with data that is being scaled and rotated with the particle.

1 Like

ah so there is where I missed. Just changed it and works perfectly! Thank you so much for the help and guide :smiley: +1 knowledge added

This is exactly what I was looking for … except my project is still using UE4 / Cascade hahaha.

Do you know if it would work with it, or if there is an equivalent workaround to do “particles mesh decals” in Cascade ? Thanks :smile: !

@Ziltoid
It works with cascade out of the box. Just use cascade meshes instead of Niagara.

1 Like

Heard trough the grapevine that 5.2 will have decal support for niagara.
Lets hope that comes trough :slight_smile:

3 Likes


I had a weird thing where the texture wouldn’t scale correctly with the mesh in a particle effect.

Saw a video on youtube where someone tweaked this material a bit. Worked on my side so here it is if you need it.

Another follow up.
I don’t know if I’m doing something wrong or if this is a Cascade problem vs Niagara, but if I’m scaling the particle mesh in one direction only ( making it a rectangle) and try to rotate it, it gives me some funky results. I will try to handle the rotation directly in the material with some dynamic parameters I think.

square_particle
rectangle_particle

How can do withou using texture UV node by using float3 color only

Could you elaborate on what you are trying to achieve?