Search Issue Tracker
Fixed
Fixed in 6000.0.46f1, 6000.1.0b14, 6000.2.0a8
Votes
0
Found in
2021.3.11f1
2022.2.0b12
2022.3.55f1
2023.1.0a15
6000.0.32f1
6000.1.0a9
6000.2.0a1
Issue ID
UUM-58165
Regression
No
Agent accelerates if blocked by a stationary, non-carved obstacle
Steps to reproduce:
- Open attached project "AreaTestingAINavigation.zip" and scene "2DScene"
- Enter Play Mode
- In Game View, select an Agent by left-clicking the top-most red circle
- In Game View, right-click to a spot above the long wall obstacle
- Observe the Agent's movement
Expected results: The agent is blocked by the non-carved obstacle, does not find a path, and moves at regular speed
Actual results: The agent is blocked by the non-carved obstacle, does not find a path, and moves at an increased speed along the side of the obstacle
Reproducible with: (1.1.0-pre.1) 2020.3.41f1, 2021.3.11f1, 2022.1.20f1, 2022.2.0b12, 2023.1.0a15
Reproduced on: Windows 10
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- var VisionOSEDRHeadromm has a comma instead of a dot when building with Metal Rendering App Mode and local OS localization is set to German
- IAP Catalog remove product “x” and add product “+” buttons are not consistent with other remove and add buttons in the Editor
- Performance issues in Play Mode when quickly hovering the mouse cursor over Hierarchy GameObjects
- Frame Debugger displays incorrect output when FidelityFX Super Resolution or Spatial-Temporal Upscaler is used with Temporal Anti-aliasing or Subpixel Morphological Anti-aliasing
- Crash with “Fatal Error! The file ‘MemoryStream’ is corrupted!” when adding a large number in Font Character Rects Size field
Resolution Note (fix version 6000.2.0a8):
Fixed agent and obstacle collision behavior. What was happening was that as soon as the agent came into contact with the obstacle, the collision solver would operate on the agent position to prevent overlap between the agent and the obstacle. The solver did this by pushing or offsetting the agent a certain distance from the midpoint of the obstacle itself or the midpoint of the nearest segment / slab of the obstacle. As the agent is pushed further and further away from this point, the magnitude of that vector increases, which causes the agent to appear to be accelerating "around" the obstacle.
Now, the agent is no longer pushed from midpoint of obstacle segment/slab and instead push away from closest contact point with the obstacle (eg vector between agent pos and closest obstacle point is perpendicular to the segment) and pushes the agent "out" until it is no longer overlapping.