创建导航网格与Unity2017面板详细参数说明。

创建Navmesh 与 Agent 设置

设置网格

设置网格烘焙

一些你需要知道的参数

  • Agent半径定义了Agentd的中心可以靠近墙壁或窗台的距离。
  • Agent Radius defines how close the agent center can get to a wall or a ledge.

  • Agent高度定义Agent可以到达的空间有多低。

  • Agent Height defines how low the spaces are that the agent can reach.

  • 最大坡度定义了Agent人走上坡道的坡度。

  • Max Slope defines how steep the ramps are that the agent walk up.

  • 台阶高度定义了Agent可以踩踏的障碍物的高度。

  • Step Height defines how high obstructions are that the agent can step on.

烘培好的网格会在Scene的同名目录内

Navmesh bake 高级烘焙设置

Min Region Area

最小烘焙区域,最小区域高级构建设置允许您清除小的未连接的NavMesh区域。 比表面积小于指定值的NavMesh区域将被移除。

更小的代理半径

Voxel Size
体素尺寸

手动更改体素允许您更改烘烤过程的准确性。

NavMesh烘焙过程使用体素化从任意级别的几何构建NavMesh。 在算法的第一遍中,场景被光栅化成体素,然后提取步行表面,最后将步进表面变成导航网格。 体素大小描述了由此产生的NavMesh如何准确地表示场景几何。

默认精度设置为每个Agent半径有3个体素,即整个Agent宽度为6个体素。 这是精度和烘烤速度之间的良好折衷。 将体素大小减半会使内存使用量增加4倍,而构建场景需要花费4倍的时间。

NavMesh烘烤系统也将减小体素的大小。 如果您的其他Agent维度保持不变,则可能不需要增加NavMesh构建分辨率。

最简单的方法如下:

将Agent半径设置为实际Agent半径。
打开手动体素大小,这将采取当前体素大小和“冻结”。
手动设置更小的Agent半径,因为您已经选中了手动体素大小,体素大小不会改变。

更精确的NavMesh

如果你的关卡有很多紧凑的点,你可能希望通过缩小体素来提高准确性。 体素大小下的标签显示体素大小和代理半径之间的关系。 一个合理的范围是2-8之间,进一步缩小体素比通常会导致非常长的构建时间。

当您在游戏中有意建造走廊时,请注意,除了代理人半径之外,您还应该至少保留4 * 像素大小的空间,尤其是在走廊处于角度的情况下。
如果您需要小于NavMesh烘烤支持的走廊,请考虑使用“Off-Link”跨越点。 这些还有额外的好处,可以在使用时检测到,例如可以播放特定的动画。

More Accurate NavMesh

If your level has a lot of tight spots, you may want to increase the accuracy by making the voxel smaller. The label under the Voxel Size shows the relation between the voxel size and Agent Radius. A good range is something between 2–8, going further than that generally results really long build times.

When you intentionally build tight corridors in your game, please note that you should leave at least 4 * voxelSize clearance in addition to the agent radius, especially if the corridors are at angles.

If you need smaller corridors than the NavMesh baking can support, please consider using Off-Mesh Links. These have the additional benefit that you can detect when they are being used and can, for example, play a specific animation.