I've created a 3D scene with both indoor and outdoor parts. The outdoor part has bridges and caves also.
How is it possible to handle player movements on it?
My intuition is: To determine the walkable regions, I could create a large grid. If the normal under the segment is not too steep, then it is walkable. If the difference between the heights of two neighboring segments in not large, then the player can move between them.
My solution is far from optimal. It would consume a lot of memory, and it can't handle situations, when there are multiple walkable regions on the same XZ position (for example a bridge over a valley)
How to manage movements effectively? How is it solved in game engines like Unreal or Unity?