[Niagara] I have a Sphere Loc and defined the location of three particles. Now I want these three to rotate around, I'm a bit confused with the tooltip in Set Particle Position

I’m probably… definitely… doing something wrong and I’m missing something. Basically I have an emitter that bursts 3 particles. I wanted these particles to spawn on three specific positions on the Sphere Loc. I did that I think. Now I want these three particles to rotate around XYZ axis. I’m messing around with Rotate around Point. I see that it has a tickbox Set Particle Position. With it enabled the particles disregard the Sphere Loc, with it enabled they spawn in the correct location but no longer rotate. In the tooltip it says “To manually utilize the newly calculated rotated position reference Output.RotateAroundPoint.Output.Position later on in your effect stack.”. I can’t understand what they mean. Do they mean move Sphere Location after RAroundPoint? Cause I did that but nothing works. They won’t rotate around the Sphere Location :confused:

In Cascade I believe we’d use Orbit, here I think Vortex Force is the equivalent, but I can’t get it to not push my particles towards the center (or away from it). I just want them to spawn at a specific location and orbit around the emitter’s center but so far I haven’t been able to achieve this.

1 Like

Hi Razorcut,

So both of those modules are setting Particles.Position. Whichever one comes second is overwriting the first, rather than adding to it or updating it. So the sphere positions you’ve set are just being replaced by the RotateAroundPoint module.

The confusing option “Set Particle Position” tell the module to do this overwriting. Basically, with that box ticked it will actually overwrite Particles.Position. With it unticked, it doesn’t write anything, and instead it just outputs variables you can access as Link Inputs in other modules via those “Output.” parameters.

You can access Output. parameters as a Link Input the same way you access something like Particles.Position in another module. But only further down the stack than (after) the module which creates the output. (Hope that makes sense)

Not sure what kind of motion you want exactly, but rotate around point could probably get you there. Niagara has many ways to achieve any given effect, usually.

Another way, if you want to rotate around a certain axis, you could try creating a SET: Particles.Position module in Particle Update using Rotate Vector with your “Vector to Rotate” set as a Link Input to your previously defined Particles.Initial.Position.

Good luck. Pretty new to Niagara myself so I can relate.

Not quite sure if I understand the problem, but I’m happy to help! Maybe post a screenshot of your Niagara emitter?

Do you want these to travel in a fixed orbit, or are they free to move away from their starting locations?

I have had the same problem since now. I solved it by adding a “Set new or existing parameter directly” module at the bottom of the “Particle Update” group, selected the “Particle Position” parameter to edit, then set the vector to a “rotate vector” function and fed the “particle position” to the vector to rotate. To rotate it along the vertical axis I used the Yaw. Hope it helps, I wish I had found this before instead of wasting hours.

Registrazione schermo 2022-05-31 alle 14.38.12

Necroing the thread as I tried MichealPax’s solution but for some reason I could not add RotateVector to the ParticlePosition in the Set Parameter module.

I could solve it in ScratchPad like so: