AI moving through different height levels

Hello!

I am currently making a game with procedural maps and I wish to include enemies. I made an AI that runs to an objective following this tutorial: https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/QuickStart/index.html

The problem is when the objective is on a different height level of the map, the AI can’t reach it. How can I make the AI climb or jump down (just 1 block, so it has to find a suitable path) to reach his objective?

I attach three images.

Thanks!

Anyone? I’m still stuck with this problem.

there is an character movement option called Step Height, do you tried that?

Hello te4zer,

Your solution does not seem to work, I think the problem is that the navmesh zones are not connected and I have no idea about how to make the ai climb or jump to the next zone in the path…

If this issue is still relevant, you should be able to alter the Agent Max Slope and the Agent Max Step Height under the RecastNavMesh settings. Or the Nav Agent Step Height and Nav Walking Search Height Scale in your Pawns Movement Component.

The Nav Mesh zones are connected, it’s just that the AI is being told that they cannot path there due to the Step Height being out of their range.

You could also use Nav Link’s but doing that proceduraly would be a nightmare.

There is an idea to use your own calculations to determine the step and use the jump to reach the desired point.

/** Queue a pending launch with velocity LaunchVel. */
virtual void UCharacterMovementComponent::Launch(FVector const& LaunchVel);

Hi, an its easy fix actually: 2 options

1 most useful: deploy a basic parkour system, so your NPC spots where an obstacle in in their path to a target, and checks what the height of the obstacle is. then a climb animation is used via the parkour move logic, ie trigger to climb and or move capsue, on meeting a obstacle no more than x height. i use this. so you would set x height to bit more than one box.

But
2 Looking at the picture, to me its a scaling issue. a human cant easily walk up a slope with a box at waist height. The dimensions themselves look unwieldy. try resizing the player actor to larger and try and make a box as height as one knee joint, it might move more naturally. then you can set max slope and use use unreals own walking up down. Assuming you have a good animation linked to angle of walking.

note, - step height changes would look unnatural on the above landscape due to box size. hence point 2.

Hello
I had similar problem
i fixed it in character movement compoment - character movement: walking - Walkable Floor Angle.
Default is 44 i used 80 and it works well for now… also the ai is not geting stucked or not slowing down on stairs anymore.


image
That was my solution, change the nav mesh options in project settings and the walk settings in the IA character movement, your nav mesh need to have a constant path when you build it.