Search Issue Tracker

Won't Fix

Votes

1

Found in

2017.4.0f1

2018.3.0a1

2018.3.3f1

2019.1.0a1

2019.2.0a1

Issue ID

1122030

Regression

No

Nav Mesh Agent's Speed increases past the Speed set when traveling down a slope and having a direct path to the Target

AI Navigation

-

How to reproduce:
1. Open the user-submitted project ("bug-navagent-slope-speed.zip")
2. Open the "SampleScene" and enter Play Mode
3. Observe the Console Window as the Nav Mesh Agent travels down the Slope

Expected result: The Nav Mesh Agent's speed is at around ~3.5 units
Actual result: The Nav Mesh Agent's speed increases to around ~4.3 units when the Agent's target is in the direct path to the slope

Reproduced in: 2019.2.0a3, 2019.1.0b2, 2018.3.4f1, 2017.4.19f1

Note: Moving the target slightly to the left or right of the slope, to make it into an indirect path, reduces the Speed back to its expected value.

  1. Resolution Note:

    The problem occurs when the line segment connecting the agent's current position and the next path corner is at a large height difference from the NavMesh at the position where the agent will move next. The agent's desired velocity vector is computed along the exact direction towards the next corner. Even though that velocity vector is limited in size correctly by the _speed_ parameter chosen by the user, its magnitude changes when the vector projects onto the NavMesh during the actual movement, thus producing a different actual speed of the agent.
    No solution will be provided for this behavior due to a planned reorganization of the code in that area.

    One way to possibly avoid this issue is to detect when the preconditions happen and break the movement operation into smaller sections that target intermediate points towards the next corner.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.