I’m studying NavigationRegion3D right now, and I see that you need to set agent_radius to make the baking process processes with respect to the size of your agent.
Suppose I have multiple agent size (ex. infantry, car, big tank), I think I could create 3 NavigationRegion3D that bake 3 different agent_radius sizes in this case instead. So I could go with this 3 tiering system for all the places that need navigation. But then if I need to re-bake in the case of for example, big obstacles got introduced or eliminated, I will need to re-bake N times where N = number of agent_radius I have.
Is there a better way to take care of this? Is it possible to use just 1 NavigationRegion and script it so the tank does not try to squeeze itself into a narrow alley?
Am I missing or misunderstanding something? I thought the baking process will take the agent radius into account and bake the mesh in such a way that agents will have mesh “paths” that ensure they won’t clip into walls or obstacles with respect to agent radius size.
I was thinking you could modify the setting radius in the NavigationAgent3D Avoidance section, but as you can see, in the docs they recommend creating multiple nav meshes.
So you will need three NavigationRegion3D objects for each map.
If you’re going to change your map a lot, you can add a @tool script to your agents so you can rebake them all at the same time.
You are slightly misunderstanding though. That’s just the radius to do pathfinding. If your tank is too big it will collide with walls. It will not clip through them just because the pathfinding thinks it can fit.