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
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.
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.
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.
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.
You have to either use Local Space for your emitter, or Transform your rotation pivot from Local to World (or simply add the system location to the pivot location).