Generating a navigation mesh in a static world.
Posted: Mon Apr 04, 2016 10:51 pm
Let's say I have a rather large world. In fact, it's 6000 by 6000 units and has height (definitely not a 2D navmesh). I need to generate a navigation mesh with the following specifications:
- Walking slopes must be less than or equal to 63.5 degrees (been using acos of the ground normal for ground slope).
- Ceilings should be at least 2.1 units above the ground.
- Walkways need to be at least 2 units wide.
- Consider the players to be a 1 unit diameter round, 2 units high capsule.
Finding all of the valid points, connecting them, and everything else is going to be super complicated in such a large world.
The set of objects in this imgur album are within just a 125 by 125 sample area. The navmesh I need would be able to take any two surface points on this map and [if they are connectable] generate a path between them. As you can see, there are a lot of paths that can be taken. There are a lot of obstacles. And the terrain is very organic.
_________________
Is there any way Bullet can help me generate this navigation mesh? The world is completely static and I already have a database containing all of the objects' collisions (I already have a script that imports it to bullet). Any way Bullet could be helpful would be great.
Note: I have attempted this with a bunch of raycasts and surface normal stuff earlier. However, I do not know the internals of Bullet that well. I feel like I'm approaching this horribly wrong.
- Walking slopes must be less than or equal to 63.5 degrees (been using acos of the ground normal for ground slope).
- Ceilings should be at least 2.1 units above the ground.
- Walkways need to be at least 2 units wide.
- Consider the players to be a 1 unit diameter round, 2 units high capsule.
Finding all of the valid points, connecting them, and everything else is going to be super complicated in such a large world.
The set of objects in this imgur album are within just a 125 by 125 sample area. The navmesh I need would be able to take any two surface points on this map and [if they are connectable] generate a path between them. As you can see, there are a lot of paths that can be taken. There are a lot of obstacles. And the terrain is very organic.
_________________
Is there any way Bullet can help me generate this navigation mesh? The world is completely static and I already have a database containing all of the objects' collisions (I already have a script that imports it to bullet). Any way Bullet could be helpful would be great.
Note: I have attempted this with a bunch of raycasts and surface normal stuff earlier. However, I do not know the internals of Bullet that well. I feel like I'm approaching this horribly wrong.