所有用于成为NavMesh的网格都必须被指定为
Navigation Static
。
方法如下,选中GameObject,然后在菜单栏的[Window]-[Navigation]-[Object]-勾选即可。
烘培Bake
点击Bake开始烘培,其中的属性说明如下,可以参照这个图
Agent Radius
:Agent的中心可以离障碍物有多近。
Agent Height
:Agent可以通过的最矮高度。
Max Slope
:Agent可以爬上的最高坡度。
Step Height
:Agent每次可以上的最高高度(相当于一节楼梯的高度)。
一般来说,到这里设置完就可以点击Bake了,如果需要高级设置(设置体元和一些孤立的表面),参考这里
nav-AdvancedSettings
。
bake成功以后,选择的mesh表面就会像上面一样变成蓝色。
到这里NavMesh就设置完毕了。
NavMesh Agent设置和脚本编写
很简单,
Agent Size
设置可以在Scene面板中实时看到。 -
Speed
:Agent所能达到的最大速度。 -
Angular Speed
:最大的转向速度,不是人物的转向,是Agent需要拐弯的时候的最大的转向速度,如果这个过低,将会产生螺旋线路效果。 -
Acceleration
:Agent到达Speed过程中的加速度,越大越快抵达Speed。 -
Stopping Distance
:距离目的地多少远的距离停下。 -
Auto Braking
:在终点是否自动停下,如果不勾选这个,Agent将会在终点绕终点做谐振。 -
Priority
:多个Agents同时存在时,权重高的将会被忽略,权重取值范围从0到99,0是最重要,默认为50。 -
Auto Traverse OffMeshLink
:到达
Off-Mesh Link
的位置是否自动触发传送。 设置完以上步骤后,只需以下代码,Agent就会移动到指定位置。