How can I make a ring-shaped ribbon?

I want to create a showave-esque/circle effect using Niagara’s ribbon renderer. Is it possible to do this in a somewhat simple way?
Shockwave

If I understand correctly what you want to do, probably easiest way is to:

  1. Draw a circle
  2. Make it grow with time
  3. If you want it to have a bit distorted shape then you add distortion texture to it.

other way

  1. Make a disc mesh
  2. Make a texture with horizontal line
  3. Make disc grow
  4. Distort with texture

Distortion tutorial: https://youtu.be/kxyEjEKsAu8?si=ns84R-Wm_VMrr1jc&t=39

Also you can use shader to pass groving radius value and compare it with UV coords and cut unwanted area with step func

I’m trying to achieve a circle effect using ribbons, not textures or meshes

You can spawn particles in a circular arrangement and set ribbon renderer.
20240223_195303 640i

4 Likes


Whenever I do this, It just creates an entanglement of ribbons

you have to set Ribbonlinkorder in an ascending order (ie UniqueID or ExecIndex).
image

4 Likes

echoing what @Jukerlaw said. Just showing more for people interested in the future

8 Likes

Thanks a lot for sharing, I do have a quick question!

I am currently doing something similar for an effect, but it turns out that if I do the inclusive 1 in the link order, the last particle gets duplicated in the same position.

My question would be more like, how would I have to go in case I want my nth particle to be linked to my 0th particle, that way the ribbon will be closed in a cycle. :pleading_face:

I don’t think that’s possible.
Any specific reason why you want to avoid doubling up the ends?
Shouldn’t be a big performance concern in theory

1 Like


I see, since I was trying to do something where a ribbon will morph something similar to the next example. I guess I could probably just kill the last indexed particle

I think you’ll want to setup your logic in such a way that the outcome is guaranteed to be the same on the first and last particle that way it’ll stay connected

Yeah, that can also work, to make sure that the last and first index match! As always thanks a lot Niels :smiley:

1 Like