68.导航寻路系统-导航网格生成
68.1 知识点
准备地形
- 在进行导航寻路网格生成时
- 第一步是需要有地形
- 地形由美术同学制作模型
打开导航网格窗口
- Window——>AI——>Navigation 打开Unity内置的导航网格生成窗口
导航网格窗口参数相关
Object 场景对象设置页签 设置参与寻路烘焙的对象
Sceme Filter:场景过滤器,配合Hierarchy窗口使用,筛选对象
All:显示场景上所有对象
MeshRenderers:显示挂载的网格渲染器的对象
Terrains:显示挂载了地形脚本的对象
Navigation Static 导航静态物体开关
- 如果想对象进行地形数据生成,就把这个选项打开。打开对象上的这个开关其实是打开静态下的导航静态
Generate OffMeshLinks 生成网格连接点开关
- 用于两个地形断开但是想跳过去的话,把这个选项打开。打开对象上的这个开关其实是打开静态下的网格连接静态
Navigation Area 导航区域选择,配合Areas页签使用
Bake 导航数据烘焙页签 设置寻路网格具体信息
- 点击烘焙,场景中生成的蓝色部分就是可行走的区域。注意要设置成有对象是导航静态才能烘焙成功
Agent Radius 代理半径
- 决定了烘焙边缘精确度
- 控制平台可行走区域和边缘可行走区域
- 可以理解为人物的半径
- 半径越小,烘焙出来能走的地方就越多
Agent Height 代理高度
- 决定了烘焙高度精确度
- 控制拱桥是否可以穿越
- 可以理解为人物高度
- 高度越小,能穿过的拱桥就越多,烘焙出来能走的地方就越多
Max Slope 最大坡度
- 斜坡度数
- 决定了斜坡是否可以行走
- 影响斜坡的烘焙
- 假如场景里的斜坡大于最大坡道,就上不去了
Step Height 步高
- 最小楼梯高度
- 决定了台阶是否可以行走
- 影响台阶的烘焙
- 假如场景里的台阶的高度大于步高,就上不去了
Generated off mesh Links 生成分离网格链接
- 生成非网格连接
- 两个分开的网格之间连接相关设置
- 要在Object场景对象设置页签中打开Generate OffMeshLinks生成网格连接点开关 注意下面两个变量也要设置 不然可能会不生成
Drop Height 掉落高度
- 可以从这个高度掉下来
Jump Distance 跳跃距离
- 决定不同平面上的跳跃距离,连接
- 小于这个距离内可以跳过
Advanced 高级
Manual Voxel Size 手动设置立体像素大小
- Voxel Size 像素大小
- 开启前者后可以在这里设置立体像素大小
- 可以控制烘焙的准确度
- 立体像素大小描述了生成的导航网格表示场景几何体的准确程度
- 注意:
- 立体像素大小减半会使内存使用量增加4倍,构建时间也增加4倍
- 一般情况下不需要修改这个值
- 除非想要极其准确的导航网格
Min Region Area 最小区域面积
- 当面积小于此处值的导航网格区域会被移除
Height Mesh 高度网格构建开关
- 主要用来解决楼梯烘焙为斜坡时
- 希望在楼梯表面的位置准确的放置在楼梯平面上
- 而不是斜坡上
- 启用它会增加烘焙时间
Areas 导航地区页签 设置对象的寻路消耗 配合Object页签使用
- Name 区域名字
- Cost 成本 寻路消耗
- 可以自己新加一个导航区域,去Object页签选择
- 烘焙后可以看到对应区域生成了对应的颜色
- 假如调高了寻路消耗成本,会影响寻路结果。比如游戏中不想要对象走水路,就把水的寻路消耗调的很高,那样就会绕着水路走。
Agents 代理页签 设置寻路代理信息
单独设置寻路对象
68.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson68_导航寻路系统_导航网格生成 : MonoBehaviour
{
void Start()
{
#region 知识点一 准备地形
//在进行导航寻路网格生成时
//第一步是需要有地形
//地形由美术同学制作模型
#endregion
#region 知识点二 打开导航网格窗口
//Window——>AI——>Navigation 打开Unity内置的导航网格生成窗口
#endregion
#region 知识点三 导航网格窗口参数相关
//1.Object页签——设置参与寻路烘焙的对象
//2.Bake页签——导航数据烘焙页签,设置寻路网格具体信息
//3.Areas页签——导航地区页签,设置对象的寻路消耗
//4.Agents页签——代理页签,设置寻路代理信息
#endregion
}
}
68.3 练习题
自己拼凑一个场景并进行网格烘焙(也可以找美术资源来烘焙)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com