Niagara issues and help

Thank you, I will try that :slight_smile:

Is there a way to modify or get the rotation value of a sampled static mesh?

Hi, Any solution on this?

Yes, you can! At least modify it. By default is uses the ‘MeshOrientation’ parameter.
If you just want to change your mesh rotation when spanwing your best best is ‘Initial Mesh Orientation’.
The MeshOrientation param can also be set directly, via ‘Set new or existing parameter directly’.

In addition you have some options inside the Mesh Renderer. E.g. Facing Modes, or you can change which parameter (Quaternion) to use for the MeshOrientation.

Yup. A couple notes, though:

  • Setting the facing mode in the renderer can sometimes cause weird results. I definitely remember getting stuck on some weird bug caused by this (can’t remember what, though). Generally, I think it’s better to set the orientation in the particle update.

  • Setting orientations manually vs. using a solver doesn’t tend to work – it’s one or the other, in my experience.

1 Like

Yeah, I assume when using a solver, it sets the MeshOrientation, so if doing anything manual, you would need to add something on top of the existing MeshOrientation. Or vice versa, set it manual first, then add the solver on top.

Hello to all, I would like to know if there’s a way to use static mesh LODs in Niagara mesh particles? thanks

Not that I am aware of. They were already a mess in Cascade, so I assume they ditched them entirely.
What you can do since 4.27./UE5 though: Swtich manually using the Mesh Array feature.

Here is a quick example:

Win!
MeshParticleLODs

3 Likes

Hi everyone,
I didn’t know where to talk about this, so here I am! Did any one of you already notice this new variable type in Niagara ? :thinking:
image
It looks like it has replaced the vector3f variable in Epic niagara modules for variables as Particle.Position.
image
I was surprised to find this while working on some scratch pad module. I don’t know with wich Unreal update it appeared but deserved to mention it I guess.
Also, be prepared, if like me you like to have your own custom niagara modules library, it is more likely that some of those will have broken depedencies or such issues with this variable type modification
 :sweat_smile:

It’s a change in ue5 to support the new large world coordinate system.

It’s actually fairly easy to work with once you get used to it.

A reference position can be used to aquire a local vector.
For exampe : Particles.Position - SimulationPosition, will return a vector indicating the difference.
Similarly, adding a vector to a position will give a new position representing the new large world coordinate.
For example : Particles.Position + input.Offset

Also, if your project doesn’t use LWC, you can just ignore all off it, and just truncate to vectors whenever you need it.

2 Likes

Hey there, don’t know if the right place to ask this, but does anyone know if it’s possible to make a niagara emitter repeat itself independently in the same system, (example, you want a system that spawns 20 cubes, is it possible to make an emitter that spawns 1 cube and tell it to repeat it self 20 times when the system spawns ?)

Set emitter state to self, select multiple loops, then set loopcount to 20

The problem I have with multiple loops is that they do not take place at the same time, they go one after another.

What I’m trying to achieve is kind of a spawn burst of emitters instead of particles, the current way I’m doing it is by blueprint, doing a “for loop” (20) followed by “spawn system at location”

It works but I’d like if possible to centralize the logic into Niagara only so that it can be a standalone system and not being forced to rely on blueprint logic.

you can set the loop time really small

Btw, there is a burst spawning module, you don’t need to work around it

Which leads to my next problem haha, because my emitter is ribbon based, if the loop time is smaller than the life of my ribbon, the end of the loop link with the begining of the next one and create a complete mess, and so just spawning more particles in the spawn burst doesn’t help either

You can manually set the ribbonID to avoid unwanted connections.
You can also set the linkOrder

It’s all good I’ve found my way with location events after all, I just needed a bit of math to get the position right , thanks anyway for all the advice :smiley:

hello, Wondering if there is a way to set a warm-up time for one emitter only, not the entire system. thx

Not that I know sadly no
 I search for it when I was working on optimisation and culling features, but ended working without it because I couldn’t find a correct way of doing it. :confused:

1 Like