层
1.Navigation窗口/Areas面板 添加自定义区域和cost
2.Object面板/Navigation Area 更改路径的寻路区域
3.烘焙
4.NavMeshAgent组件修改区域 Area Mask或者使用脚本实现
试一试:
AreaMask的作用
Cost的作用
5.脚本实现为寻路者选择区域
GetComponent<NavMeshAgent>().areaMask =9;
寻路区域中的每一区域都是2的n次幂
如果要设置可走区域为多个,可以采用相加的形式
比如9则为Walkable区域(1) Black区域(8) = 9 又能走Walkable又能走Black
Everything表示所有区域 -1
Nothing任何区域都不能寻路 0
Cost表示该区域寻路花费的消耗,值越大,消耗越大,会影响寻路选择区域(cost不能小于1)
NavMesh不是寻找最短的路,而是cost最小的路(不同的区域,例如草地、河、跳崖-OffMeshLink消耗不同)
案例:
随机产生红绿蓝三种颜色的小球,每种颜色的小球按指定颜色的路径寻路。