Niagara: orbiting around a point?

Hello! I’m trying to make an effect where points fly out from a center point and then start orbiting in a circle. I have the flying out part done, but the orbiting is trickier – it looks like the rotate around point will fully reset the position vs. taking it where it is now.

Accordingly, I’m trying to make a Scratch that will get the current particle’s position, get the length for just the (X, Z) part of its position relative to the emitter center, and then use that existing radius to rotate the point in a circle so everything is orbiting the surface of a sphere.

This was the best I could do but it’s definitely not working, the points just fly off. Any suggestions about where I went wrong?

Well, you’re taking your position, and you’re adding your position to it, and the you’re adding your position to it again, and then again, and again, so yeah, it’ll fly off to infinity very quickly :smiley:

Also emitters don’t have centers.

Typically what I do is to use the particles position as the center.

  1. Create a vector offset with sin and cos using the current particle age (or normalized age), and 0 in y
  2. Get Particles.Position, add that vector to it, set into Particles.FinalPosition (or any other position parameter that isn’t Particles.Position)
  3. In the renderer module of the emitter, set the position binding to Particles.FinalPosition

Sigh whoops, you’re right. I fixed the math and it works now!