Scale a niagara particle system

is it possible to scale an entire niagara particle system as a whole?

right now I’m just adding a velocity scale and a particle scale to each emitter in the system, but I dunno if there’s a global variable to use instead

Got to Emitter Spawn > Emitter Properties and set “Local Space” to true. Then you can scale the Niagara System Actor in the Level as you want

4 Likes

the single particle like a ring and cylinder’s radius can scale properly,but the particles spawned at cylinder location can’t scale properly
ps:forgive my poor English xd

I’m getting frustrated with this as well, I am trying to provide a Niagara system to artist but they can’t scale it without having to duplicate system and individually scale it to their desired size. I would be happy with a blueprint but there must be a better solution.

It is frustrating because with Cascade I can use a local parameter to solve this issue.

You could always add a ‘System Exposed Parameter’ float and use it with float multiplies for particle scale, cylinder radius, and even velocity (anything really that it makes sense to scale with the effect). That way when you place the Niagara system you can just set the new parameter to what you need to change all the scales, or you can easily use that parameter in a blueprint, even dynamically if you want. It also means you can re-use the system at different scales for each instance in multiple places without having to create a new system (this applies to all parameters you may want to edit on a per actor instance basis).

If you’re not sure what I’m talking about let me know and I’ll take the time to explain how.

You can control Offset,Rotation,Scale with layouted Niagara System.

Easiest way is checking Local Space in Emitter Properties, but particles follow emitter.

so I recommend you this way.

In Particle Spawn Stage,below location module, Set new or existing parameter directly and Set Particles Position.


Rotate : set Rotate Vector by Quaternion of Dynamic Input.

Vector To Rotate : Particles.Position
Quaternion : Engine.Owner.Rotation

Scale : Particles.Position * Engine.Owner.Scale and Particles.SpriteSize * Engine.Owner.Scale(2 axis)

Offset : Particles.Position * Engine.Owner.Position

Everytime set this setting is troublesome,so I made Niagara Module Script of This.

4 Likes

wow, thank you.

This worked for me

  1. Turning on local space in all emitters
  2. Creating a niagara modular script to change sprite size and ribbon width based on engine.owner.scale
  3. Add this modular script to all emitters with sprite/Ribbon renderers

Unreal Automatically scales mesh particles so no need to tweak that value.

modular script:
https://blueprintue.com/render/shm_t915/

10 Likes

This doesn’t work. Try adding a Niagara system to your scene and sets its scale to 100. The particles get so separated that the effect is almost nonexistent at that point. With the old Particle system, you could scale them to any size. It doesn’t seem to be the case with Niagara.

Thank you vivekananda_k, this works perfectly!

For those who don’t know how to add a script to an emitter;

  1. Inside your content browser, right-click and choose FX - Niagara Module Script. Name it EasyScale_MS. Open the file and select all the nodes and hit delete (Output will remain).
  2. Visit that link vivekananda_k provided Niagara System scale modular script posted by anonymous | blueprintUE | PasteBin For Unreal Engine (if the web page says can’t be reached, just refresh) and select all the nodes and copy them. Then you can paste them into your EasyScale_MS. Connect the Dest pin from the Map Set node into the Output Module then Apply and Save.
  3. Open your Niagara system and you can drag your script from the content browser into your emitters. Make sure you place it directly below the Initialize Particle module.
  4. Save your Niagara system and enjoy the ability to scale like normal particles.

20 Likes

For anyone having trouble copy pasting TorQueMoD post, in version 5.0.

Just do it in 4.26.

2 Likes

still a problem, when it small than 1.0,it can not work right。

thx. work

I cannot copy and paste this BP to my UE5 can please show me screen shot how u did that

I think there have been some changes to the scripting since 5.0 so copy and paste doesn’t work.

I recreated it in 5.1 but unfortunately, it doesn’t seem to work (yet) to upload to blueprintue

For anyone wanting to recreate manually the screenshot is below:

For anyone that is returning to figure out how to scale a niagara emitter/system, I have made a script that fixes scale for sprite and mesh and it also fixes velocity for the particles.

This was made in UE 5.2, but will probably work with any UE 5+ project.

IMPORTANT!
You need to put the script node at the bottom of “Particle Spawn”. (you need to drag the node in from the content browser “Ctrl+Space”)

If you are struggling with the convert node then look at the previous reply!

2 Likes

I am struggling with the convert node. What reply are you referring to? thx

You made a mistake, the script has to go directly below the “Initialize Particle” module, otherwise it won’t work.

If placed in the correct place, your script works perfectly. Thank you! :smile:

I got the module script working in 5.2. Still no luck copy/pasting though. Note that the previous blueprint screenshots used a “Convert” node that I didn’t have luck with. Break Vector and Make Vector 2D seems to do the trick.

4 Likes