Help! Does anyone know how to create blead trial based on cureved weapon like Blades of Chaos in UE

I’m using Niagara to create blade trails I only know how to create line-based blade trails like this.
I works fine when doing effects for weapons like swords.

And recently when I’m watching the videos of God of War I just noticed that the blade trails of Blades of Chaos come from the whole weapon including the chain part, and that looks so good.

I’m just wondering how to make that kind of trail in UE.

btw I vaguely remember there was a video that Bill Kladis showed how to make trails from special shapes but I just can’t find it. :sob:

Maybe you could spawn a ribbon per socket on the chain, but they’ll probably not line up too well…

It could be a fully rigged trail aswell, it’s hard to see from the image

yeah I’ve tried that and it became just like fork :joy:

1 Like

this is the original video.

I think the chain just get a material instance added? Combining with the trail.

Maybe I’m missing something obvious, but I’m almost certain they are adding to the trail buffer manually along the chain every frame.

I don’t think this is possible in Niagara without adjusting the engine yet.

There are custom profiles, but they are static, so you cannot feed in an array of sockets for example.

You might be able to do this with a Ribbon, if you have some more ‘advanced’ Niagara knowledge. So, instead of doing it the usual way, you would lay out the Ribbon sideways. I’m just throwing ideas around, not tested at all, all theoretical. It would look something like this:

  1. Rig your weapon with enough bones it in (it probably is anyway)
  2. Sample the weapon as Skelmesh and spawn from bones. Spawn one particle for each bone, preferably equally spaced out.
  3. Add Ribbon Renderer and shift the pivot, so the Ribbon ‘grows’ from the bone locations outwards.
  4. Scale the Ribbon on only one axis (the one that defines the ‘trail-length’) via the Velocity (that you can sample from the Skelmesh). Your Ribbon should then grow longer with higher Velocity.
  5. Rotate your texture UVs by 90 degrees, from how they would normally be, so you get a nice trail.

You might get some mesh overlaps at the end of the trail. Not sure how this could be prevented. Maybe by somehow moving the trail-end-vertices via WorldPositionOffset.

1 Like

I would expect this uses a custom vertex shader on a mesh which looks similar to the picture of Tobias (the one which has the word “pivot” next to it). The vertex shader stores last frame chain (or probably even a lower intervall) position and blends using vertex color or similar between this past-chain position and current-chain position.