Fortnite's Additive Upperbody

I’m working on a multi weapon system similar to that of Fortnite, using additive upperbody locomotion with a base weapon pose (seen in this presentation). However, I’m having trouble perfecting the additives on my biped character. Steps:

  • Create base weapon pose

  • Create full body forward jog animation

  • Create additive upperbody animation

    • Change the pos / rot of root, pelvis, and leg bones to match that of the base weapon pose; so there is zero delta.

    • Because the Spine is a child of the root, it was translated in step (1.) and must then be counter rotated back to its jog orientation. Now I have some delta, hooray!

    • Note: because I’m using Max’s Biped, the arms and head don’t follow the orientation of the spine(just pos) and they must be counter rotated as well. Pretty easy to do with the biped Layers feature.

  • Now import the 3 animations into UE4 using the weapon base pose as the base anim for the additive upperbody.

The results are close, but not exact. If I setup a blend node in my animBP and use the alpha to slide between a fully body jog and my lowerbody jog with upper body additive, I can see that the animations start exactly the same, but halfway through the animation the additive becomes slightly offset from the original. The Spine rotates in a slightly different direction as if there is something off about the animations alignment. Sadily this small difference in the Spine can cause a larger discrepancy further down the bone chain.

Am I doing something wrong when authoring the additive? Should I not expect to see an exact match between the fully body jog and the additive version? Any advice would be most welcome, thanks!

Little update on my continued investigation… at this point I think the reason my additive and original jog don’t match isn’t necessarily my additive creation process, but maybe more due to the Layered blend per bone node in the animationBP. The node is masking the jog animation on all bones above the pelvis. So lower body jogs, upper body using additive. The specific issue, I think, is that the spine no longer inherits the orientation of the pelvis, due to the blend per bone mask, only position. The spine animation during the jog counters the rotation of the pelvis to keep the body standing up-right, but in this case, there is no need to counter anything, there is no inheritance of rotation.

Boy, what a tricky thing to explain, hope it made sense. I’m hoping there may either be a way to inherit the pelvis orientation by tweaking the Layered blend per bone branch filters, or, perhaps the content isn’t setup right? Like I need to reanimate the run with a rig that doesn’t inherit orientation from the pelvis(this sounds difficult, can it be done and look good(?)). I’m thinking it may not be possible with the 3dsMax Biped rig.

Anyway,that’s where its at…

I have done additive layers for weapon overrides a few times now in production, i decided against using the fortnite method because i ran into problems as you described and i could not afford to waste any time, but the way i went is to define each weapon as rough shape, i used the term motion-block ( thanks mgs4 ) so the additive always sits on top correcting to the specified weapon, though you can’t get too crazy offset from the original block but it fulfills the purpose to have a AK47, M4, AUG, MP5 in one block for proper detail. But i am curious to see if you can figure it out, just rewatched the video after 4 years ha.

The split they have done for various actions is really smart but looking back production deadlines just gave me no option to experiment further.

How interesting, your “motion-block” method is one I was considering as a plan B; if I can’t get this working in the next day or two. I appreciate your response, now I have some confidence that plan B could work before I dump a bunch of time into it as well. :slight_smile: