How to set a ribbon emitter to move horizontally around a sphere?

Have a hard time making the ribbon trail to move horizontally around a sphere

Thanks for the help!

Hello, AKA_IUIU

An orbit module would work for other types of emitters (offset amount 100,0,0 and rotation rate 0,0,1), but here it won’t have an effect.

The reason is that the orbit module doesn’t change the location of the particle. It just offsets the location at which the particle is rendered, relative to the location of the center of the particle.

So when you make a “normal” particle orbit around the center, the actual particles coordinates are always (0,0,0), it’s orientation is rotating, and your render point is some offset from that point.

Ribbon emitters use the actual location of the particles to connect each other, work out the tangents, etc. So, what they are seeing is just a bunch of 0,0,0 coordinates. That is why orbit module won’t work.

Try setting a fixed initial position for your particles with some offset to the center (like 100,0,0) and then rotating your particle system on the level. Or setting your center at 0,0,0, attaching your particle system to a parent with a certain offset, and rotating the parent. Should work.

Thanks for the reply.

I did try quickly to rotate the particle system with and offset… Not working. Same for attaching to an object with a socket and make it move in matinee… Did read somewhere saying it works only with a skeletal mesh.

I made a quick test and it is working with an offset on the initial location. Didn’t use sockets nor a skeletal mesh. So this is how I set it up.

On a clean particle system I just set the Type Data to Ribbon, deleted the Initial Velocity module, set the lifetime to a constant 5s, and set the Initial Location to a constant vector of 100,0,0

Then, I created a new blueprint actor and added the particle system as a component. On the blueprint, I created a new timeline that has a float track that goes from 0 to 360 over 5 seconds, set it to looping and play it on beginPlay.

On update, I am setting the particle component’s relative rotation with a rotator created using a “Rotator from Axis and Angle” node, where my float track is the angle and the axis is 0,0,1 (so I am rotating over Z). I also set the root scene component of my blueprint to movable.

It is working as expected, as shown here.

It also works if I rotate the whole actor instead of just the component, and also if I set the particle’s initial location to 0,0,0, give the offset to the particle component location within my blueprint, and then rotate the actor. Didn’t try with matinee but I don’t see why it wouldn’t work there.