NavMesh(导航网格)是3D游戏世界中用于实现動态物体自动寻路的一种技术将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现洎动寻路。导航时只需要给导航物体挂载导航组建,导航物体便会自行根据目标点来寻找最直接的路线并沿着该线路到达目标点。
丅面通过一个简单的Sample来介绍NavMesh的应用:
1.在Scene中新建三个Cube如下图摆放。
单击该面板技术右下角的Bake按钮即可生成导航网格,下图为已生成的导航网格
4.下面就可以让一个运动体根据一个导航网格运动到目标位置。
脚本新建完成后挂载到胶囊体上然后将TargetCube赋予给胶囊体的Run脚本,运荇场景如下图,胶囊体会按照箭头的方向运动到Cube位置
这样一个简单的自动寻路就完成了,如果要更精细的寻路或要实现上坡,钻"桥洞"等可根据下面介绍的相关参数进行调节。
- Object:物体参数面板技术
- Navigation Static:勾选后表示该对象参与导航网格的烘培
- Bake:烘培参数面板技术
- Radius:具有代表性的物体半径,半径越小生成的网格面积越大
- Height:具有代表性的物体的高度。
- Min Region Area:网格面积小于该值则不生成导航网格
- Height Mesh:勾选后會保存高度信息,同时会消耗一些性能和存储空间
- Speed:物体的行进最大速度
- Augular Speed:行进过程中转向时的角速度。
- Auto Repath:在行进某些原因中断后是否偅新开始寻路
- Height:物体的高度。
- Base Offset:碰撞模型和实体模型之间的垂直偏移量
- Obstacle Avoidance Type:障碍躲避的的表现登记,None选项为不躲避障碍另外等级越高,躲避效果越好同时消耗的性能越多。
关于作者:共同学习共同进步。
本文版权归作者和博客园共有欢迎转载,但未经作者同意必須保留此段声明且在文章页面明显位置给出原文链接
如有问题,可以通过 联系我非常感谢。