Navmesh and physics actors collision shape difference leads to reduced amount of available paths
Recast navigation library supports only cylinders as actors' collision shape but after !414 (merged) was merged mostly non-rotating boxes are used in physics movement solver. This creates following issues:
- A cylinder with radius equal to box size width allows more paths than actors can walk because bounding box projection is different depending on rotation since they are non-rotating.
-
Escorting Malexa during Kidnapped by Cultists: escorting_malexa.omwsave
- Cylinder with radius
= sqrt(2) * max(x, y)
prevents actor to find some of valid paths:
-
Suran, Desele's House of Earthly Delights
: bar_fight.omwsave -
Suran (6, 6)
: suran_rope_bridge.omwsave -
New game
: - Door at
Sadrith Mora (17, 4)
: #6994 (closed)
There are possible solutions:
- Replace bounding box collision shape with cylinder.
- Always rotate collision boxes. This will make a box projection to the front plane always matching the cylinder.
- Support non-rotating collision box in recast navigation. This requires some effort to convince recast navigation developers and some time to implement without losing much performance.
Edited by elsid