Ribbon trails issue UE4

Hey everyone,

I started playing around with Ribbons in UE4 v4.21 and I ran into some strange issue I can’t seem to fix. The issue I’m having is that the ribbon appears to be respawning, at full length, when the particle the ribbon is attached to, dies. I’ve attached a GIF of the issue below as well as my emitter setup for the ribbons. To make it weirder, if I set my actor collision to freeze, this issue does not happen. I also tried updating to UE4 v4.24, and then I get this issue with the actor collision set to freeze and kill 100% of the time. Without collision, it also occurs randomly but less frequently. Maybe I’m doing something fundamentally wrong, I really don’t know at this point. Any help would be very much appreciated.

emitters2

Thanks a lot for looking,
-Alexander

3 Likes

Some things you can check:

  • spawn rate is set to 0 on the ribbon (Only spawn per unit)
  • the max fame distance isn’t 0 and not too large of a number.
  • dead trail on source loss is true
1 Like

Hello there!

I believe what you’re seeing here is that when the source/parent particle is killed, the ribbon particles are still alive and spawning. Since they don’t have a location anymore though, they are defaulting to the emitter origin. So what you’re getting is a ribbon created from the last known position before the parent particle death, back to the ribbon emitter origin. You can see if you slow it down that the trail actually reverses direction. If you use a debug material that has a clear front/back direction you’ll be able to see this more clearly.

There might be more ways to fix this, but here are a couple.

  1. It looks like you might be already generating a ‘Death’ event in that Event Generator. If you use that (or create one), you can then add an ‘EventReceiver Kill All’ module to the ribbon emitter, and point it at that death event. Also make sure to check the ‘Stop Spawning’ option. This will ensure that no new spawning happens after the parent particle death.

  2. In the ‘Spawn PerUnit’ module on the ribbon emitter, you can enable the ‘Max Frame Distance’ test, by setting that value to a distance greater than 0. If you set the value to somewhere close to what you think the max length of your trail should be, if the ribbon would ever stretch a distance greater than that value, it will not spawn a particle. So in this case, it wouldn’t spawn that particle back at the emitter origin and you’d be in the clear. This wouldn’t solve the issue though if the collision happened really close up.

Hope this helps, apologies if my response was too lengthy!

-Joe

2 Likes

Hey guys,
Thanks so much for the help, I really appreciate it :slight_smile:
So it turns out the fix was fairly simple, changing the max frame distance did the trick.

Thanks again and I’ll definitely refer back to this thread in the future if I run into any issues. :slight_smile:

-Alexander