Unity | 深入了解NavMeshAgent

相关API链接及概况

Unity | 深入了解NavMeshAgent_第1张图片


下方是常规默认情况下 Navigation 中的 Bake(烘焙)情况,蓝色部分表示可以走。

Unity | 深入了解NavMeshAgent_第2张图片

我们可以看到,Bake有以下这些属性可以设置

Unity | 深入了解NavMeshAgent_第3张图片

下面我们来逐个介绍这些属性

1. Agent Radius

  • Agent Radius 用来控制实体的区域半径/距离,影响了导航网格与游戏世界中障碍物的远近。
  • 当把它的值设置的非常大的时候,就可以看到与障碍物的距离十分庞大。
  • 当把它的值设置的非常小的时候,就可以看到与障碍物的距离十分狭小,以至于不仅网格和物体的边界没有了,甚至物体内部都有了网格。
  • Unity中默认的值是0.5,我们通过改变值重新 Bake 来感受一下直观的变化。下面的值分别是0.5、9.5和0.1

Unity | 深入了解NavMeshAgent_第4张图片

Unity | 深入了解NavMeshAgent_第5张图片

Unity | 深入了解NavMeshAgent_第6张图片

2. Max Slop

  • 即最大斜率,当把它的值减小的时候,就只能处理非常平缓的斜坡;当值很大的时候,甚至能上到山的顶峰。一般的默认值就是45(下面分别用 7.8 和 51.2 的与 45 的做对比展示) 

Unity | 深入了解NavMeshAgent_第7张图片

Unity | 深入了解NavMeshAgent_第8张图片

3. Advanced

  • Advanced 中有高级设置,这里的 Voxel Size 值越大,保真度越低,可以认为简化了很多,导致网格中有一些地方不连通,play 时就会绕开不连通的地方并往目标前进。

Unity | 深入了解NavMeshAgent_第9张图片

下面加大它的值并做效果呈现

Unity | 深入了解NavMeshAgent_第10张图片

4. Min Region Area

  • 这个最小区域决定了能否在一些小区域放置网格,它的默认值为2,此时我的图中房顶上是有蓝色网格的,我们把值改为10,这样房顶区域就不再用蓝色网格。
  • 一般来说,如果游戏世界基本上是连续的,那么就不会有什么问题。我们反而可以增大它的值来减去一些零碎的东西,使得看上去更为简洁。

Unity | 深入了解NavMeshAgent_第11张图片

你可能感兴趣的:(Unity3D,unity,经验分享)