3d打印
焦卫峰

1
2
3
4
5
6

新建目录

发布时间:2020-08-22 20:39   发布人:焦卫峰   浏览次数:390

8.分区域寻路

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消耗不同)

 

案例:

随机产生红绿蓝三种颜色的小球,每种颜色的小球按指定颜色的路径寻路。