My Small NavMesh Characters are floating - how does the default BP_TopDownCharacter handle it?

I’ve got some custom characters about 30cm tall that are hovering above the Nav Mesh.

To try and debug it, I started up a new top down Unreal project, scaled down BP_TopDownCharacter to about 40cm, and made it use the NavMesh. I see there’s no floating on the character, but there is floating on the capsule collider. However, I do see that the character is not aligned with their capsule collider - their head is far down from the top, their feet stick out through the bottom:

If I look at the Blueprint Viewport though, I see that the feet are aligned with the bottom of the capsule collider, and there’s less margin above the head:

Is something pulling this character down in PIE to be aligned with the floor that is preventing floating?

———————————————

I tried an experiment where I replaced the default skeletal mesh with the “SkeletalCube” asset.

I made sure it matched in the Blueprint Viewport:

Sure enough, it floats when in PIE:

So there’s something special pulling the mannequin down.

———————————————

Okay, it has something to do with the AnimationBlueprint. If I set the animation mode to simply use an animation asset, the mannequin starts floating too.

Or if I set the Anim class to be a generic “AnimInstance,” it also floats

———————————————

Note: I haven’t messed with the Navigation System parameters at all - haven’t setup a supported agent or changed the default Nav Agent Height in the BP_TopDownCharacter blueprint.

Okay, found it.

Double Clicking the Control Rig in the AnimGraph…

Brings me to the CR_Mannequin_FootIK Control Rig, which is responsible for pulling the whole skeletal mesh down to the floor so it doesn’t float.

1 Like