23 June 2024

ALS Mantle in GASP 5.4

I stumbled upon a video by CT Games on adding ALS Mantle to the UE5 Third Person template while porting components from my old ALS project into the Game Animation Sample Project 5.4 (GASP). I was curious if it could seamlessly work with Traversal Action, so I decided to experiment and document my findings since a tutorial on this doesn’t exist.

I started by downloading MantleSystem-v1.03.zip to my desktop and followed the video up to 1:52, where I stopped because the character could already mantle obstacles without breaking Traversal Action.

However, there’s an issue.

Mantling in Advanced Locomotion System V4 has three types: Low Mantle, High Mantle, and Falling Catch. Low Mantle works fine, but High Mantle and Falling Catch distort the character’s lower body during the animation.

This bug is addressed at 2:40 in the video, with a solution shown shortly after; but it’s not a universal fix, so I won’t be using it.

The character, with one foot hanging in the air while standing near the edge of an elevated platform, clearly shows that Leg IK is not enabled in GASP 5.4. I’m confident that enabling it will instantly fix the bug.

Killing Three Stones with a Bird

YouTube had a slight insurgence of “Enable Leg IK” videos ever since GASP 5.4 official release, but despite the variant approaches and terminology, such as “Foot IK” or the outlandish “Ground IK”, all still shared a common trait — Slope Warping is not included.

File: Content » Blueprints » ABP_SandboxCharacter » AnimGraph

Leg IK node
↳ Alpha ⇢ Alpha Input Type ⇢ Bool Value

Foot Placement node
↳ Insert Foot Placement to graph
    ↳ Settings ⇢ IKFoot Root Bone ⇢ ik_foot_root
    ↳ Settings ⇢ Pelvis Bone ⇢ pelvis
    ↳ Settings ⇢ Leg Definitions ⇢ ⇢ Add 2 Array elements
        ↳ Index[0] ⇢ FKFoot Bone ⇢ foot_l
        ↳ Index[0] ⇢ IKFoot Bone ⇢ ik_foot_l
        ↳ Index[0] ⇢ Ball Bone ⇢ ball_l
        ↳ Index[1] ⇢ FKFoot Bone ⇢ foot_r
        ↳ Index[1] ⇢ IKFoot Bone ⇢ ik_foot_r
        ↳ Index[1] ⇢ Ball Bone ⇢ ball_r
    ↳ Alpha ⇢ Alpha Input Type ⇢ Bool Value

Condition
↳ Get Character Movement
    ↳ Get Movement Mode
        ↳ Equal (Enum) ⇢ Walking
            ↳ Connect result to Enabled on both Foot Placement and Leg IK

The above steps show how I enable Leg IK, which simultaneously enables Slope Warping through Foot Placement, and resolve the distorted bug mentioned earlier.

Final words

The Foot Placement node (tested on Unreal Engine 5.4) have a slight drawback. A performance assessment conducted by the lead programmer, Sidah, revealed a dip in frame rate from 70 FPS to approximately bewtwen 35 and 40 FPS when 17 characters are on-screen. This dip could suggest that the Foot Placement node is not optimized.

However, this isn’t a major concern (at least not to us) since the node is still in its experimental stage, and Epic may address this issue in the future—or may not. Only time will tell.

This marks the end of my documentation. Should anyone stumble upon this post, found it useful, but encountered an issue or got something to ask, drop a comment on ALS Mantle in GASP 5.4. With that said, じゃあね ~!

You may also like