【Unity3D】⾃动寻路系统Navigation实现⼈物上楼梯、⾛斜
康志坚
坡、攀爬、跳跃
@toc
参考⽂章:列表
⼀、Navigation⾯板
这⾥写图⽚描述
Navigation⾯板中包括⼏个模块
Agents
这⾥写图⽚描述
这个是可以添加多个NabigationAgents可以⽤不同的Agents
参数:
Radius:烘培的半径,也就是物体的烘培的半径。这个值影响物体能通过的路径的⼤⼩ 越⼩,能⾏⾛的路径越⼤,边缘区域越⼩
Height: 具有代表性的物体的⾼度,可以通过的最低的空间⾼度。这个值越⼩,能通过的最⼩⾼度越⼩。打个⽐⽅就是,1m7的⼈能通过1m7的洞是正常的,你可以设置height为1m,就能通过1m的⾼度
Step Height :梯⼦的⾼度,这个还是要看模型阶梯的⾼度来设置
Max Slope:烘培的最⼤的⾓度,就是坡度了
Areas
点火加热装置这⾥写图⽚描述
这个是可以设置⾃动寻路烘培的层
配合Nav Mesh Agents使⽤
这⾥写图⽚描述
Nav Mesh Agents->Area Mask->可以设置可以通过哪些层
这⾥写图⽚描述
这个就是设置烘培参数的
参数:
Radius:具有代表性的物体半径,半径越⼩⽣成的⽹格⾯积越⼤。Height:具有代表性的物体的⾼度。
漂流河道设计Max Slope:斜坡的坡度。
Ste Height:台阶⾼度。
Drop Height:允许最⼤的下落距离。
Jump Distance:允许最⼤的跳跃距离。
Min Region Area:⽹格⾯积⼩于该值则不⽣成导航⽹格。
Height Mesh:勾选后会保存⾼度信息,同时会消耗⼀些性能和存储空间。Object
这⾥写图⽚描述
这个是设置去烘培哪个对象,⽐如地形之类的,就是可以⾏⾛的范围路径
Scene Filter:选择场景中那些对象,可以选择全部(All),地形(Terrains),有⽹格对象(Mesh Renderers)
Navigation Static:可以烘培
Generate OffMeshLinks:可以跳跃的地⽅
两种⽣成OffMeshLink的⽅法:
第⼀种⽣成OffMeshLink的⽅法电厂脱硫滤布
添加OffMeshLink组件
在这⾥插⼊图⽚描述
参数:
Start:设置起点
End:设置终点
Cost Override:这个参数还没有研究
BI Directional:同上
Activated:同上
Auto Update Position:同上
Navigation Area:同上
第⼆种⽣成OffMeshLink的⽅法
保鲜膜切割盒
在Navigation⾯板的Object栏⾥⾯把OffMeshLink Generation选项打上勾
这⾥写图⽚描述
这⾥要说的⼀点是,是不是有的⼈把OffMeshLink Generation选项打上勾之后Back之后还是没有出现OffMeshLink
这⾥写图⽚描述
这是因为你没有设置Jump Distance的值
这⾥写图⽚描述
荧光寿命测试这个值越⼤,能跳的距离越远,然后能跳的越⾼
Navigation Area:表⽰是哪个Area,这个需要先设置,系统默认是Walkble、Jump、NotWalkble三种这个也要配合Nav Mesh Agent使⽤