Mesh based sword slashes

Hey yall, i want to do some sword slash FX similar to the ones in marvel rivals, but for the life of me i cannot get the mesh to line up with the animation. i’ve tried rotating it manually to align with the axis of the slash then spawn it at a specific frame, but then the other anims dont line up, i’ve tried spawning in local space with the mesh parallel to the sword and such but that didn’t work either. I’m getting really frustrated with it.

I’m not attempting to use ribbons for the FX but a Mesh. for example see Marvel Rivals melee FX. I cannot find any tutorials that cover this method.

I know i can just make a specific mesh for each animation, but if possible i’d like to only use one niagara system for it.

any advice?

Here are multiple tutorials on how to use a Niagara System to create sword trails.

You could also have a bone or socket for each animation that you use for your orientation when the slash attacks happen.

none of these are what i’m looking for, though they are helpful. i’m trying to use meshes similar to marvel rivals.

Do you have a link to the exmaple youre trying to model?

Imo making that inside the one niagara system will be really hard. Ex. You will have a 3 x attack combo, your chacter will move along. What if you will stop attacking that after one hit? You should have some sort of the bool to enable/disable emitters based on the attack sequence. Overall you should be able to set the position, offsets etc. inside the one system. But what’s the point? Sometimes is better to keep single slash for each sequence of the combo

im trying to do it with one single emitter that spawns oriented to the animation

not directly, but the best example would probably be a character like Black panther in marvel rivals

I think i’ve kind of sort of managed to do it via anim notifies, but its just not exact enough for my liking

Untitled video


Are you referencing this attack?

The video you link of your anim notify seems to be working. What are you wanting to be different about it?

yes! that one!

Notice how the mesh lines up exactly with the animation the entire way through, mine doesn’t and its visibly imprecise.

With my experience, make sure you dont have Niagaras timeline playing when youre testing in the anim event. The way the editor is setup is that it will retrigger depending onthe loops of the emitters lifetime. This could be causing the timing issue youre seeing.

I like to drag the anim event into a map, and you should get a better visual result in the world editor.

im already doing that, im just not sure why it still doesnt line up

also, using the niagara timed advanced can get you normalized age values from the anim notify into your NS that can help with the scrolling texture or panning dynamic material youre using.

Bit of a shameless self plug, but anim spline in vfextra is capable of building a mesh from an animation (though it’s still a little finicky)
Using this method the mesh will line up exactly.

Though honestly a lot of people just eyeball it until it looks right. Just takes a lot of iterations

1 Like

Thanks @Niels ! Youre da best :star_struck:

i used animspline originally but it seems like the mesh it makes is essentially a ribbon, whereas the mesh im trying to use is like a swoosh that wraps a little bit over the weapon.

using VFE would also mean i’d need to make multiple systems for it, where i’m essentially trying to use one mesh for all the animations of the character’s attacks

Is there something i’m missing with animspline? I’m also trying it this way since a lot of projects/companies possibly dont use something like it for production i feel like.

any tutorials on how to get that info and plug it into the system? that’d be a huge help

Untitled video (1)

Sorry for how ridiculously low quality the gif is, but i think i got it to work by making a different mesh!

Do yourself a favor and try to have uniform rotations on your exports. If you have your mesh with the +X facing alignment, you’d most likely have less issues withthe correct facing in the particle system.