Download

Character with small capsule radius can't walk over small objects or steep slopes?

My character is unable to walk over any geometry with a steep slope, like this cylinder.

  • The character has a walkable slope angle of 46.
  • The character has a step height of 80.

I’ve done some testing and it seems that the step height is the problem, or rather the “step forward” which seems based on the pawn’s (low) capsule radius with no way to override this. Even though the pawn looks like it would be able to take 1 step onto the cylinder, the movement component only checks a small distance away from the pawn and hits the very steep slope, thus failing. That’s my guess.

He can’t even walk over this.

Annoyingly, the navmesh generation uses simplified logic and is falsely telling the pawn he can walk over the objects thus resulting in him getting stuck.

  • Is there a way to fix the pawn being unable to vault over this collision by increasing its “step forward” check? Or some other way without increasing its capsule radius or walkable slope angle?
  • Is there a way for the navmesh to realize these objects aren’t walkable with the current settings? As it’s set up with the correct nav agent properties matching the pawn’s so it’s very annoying that it draws over objects the pawn is apparently unable to traverse.

There’s an option in the moment component that specifically stops movement across slopes of a specific incline.

Yes. The moment compont only checks the bottom of the capsule.

The problem would be present at any capsule size really.

AFAIK there is no option of how far forward the next step to check has to be. (Meaning it’s hard-coded to the capsule size)

Implementing it that way is a good idea for a custom movement component implementation - and you can also take frame rate and speed into account when checking the location of the next step.

This does verge on having to re-code the whole thing mind you.

Chances are you can set your walkable slope angle to 75, and then make the materials in game apply 0 friction for areas you cannot walk on - so you slide back down.

(Making your own movement component is a much better idea, trust me. But if you cannot, then there’s you other solution).

Re the nav mesh.
I would recommend trying nav invokers instead.
Those should automatically take the default character component properties into account - I think.
It’s worth a shot anyway.

Otherwise the properties to control if an item gets excluded or not are on the item instance itself.

1 Like

You could also try messing with these settings in the CharacterMovement component :

image

the trick to altering your nav mesh is to find RecastNavMesh in the World Outliner :


image

you might find what you need there