游戏开发过程中经常用到A*寻路算法在美术制作完场景后,需要编辑行走区域和不可行走区域能在Unity Scene场景中直接编辑,并导出数据文件将会方便很多。
先定义一个网格數据类型定义网格长,宽数量以及实现序列化。values 中存放是否可通行的数据0表示障碍,不可通行
2. 在场景中绘制网格
使用Gizmos DrowCube 绘制方格,烸个方格代表实际Unity距离为1这里为了有边界,size设置成0.8不同的value用不同的颜色区分
/// 格子大小 实际每个格子是1的距离,要有间隔 这里取O.8 //这里设置Layer 根据具体项目设置3. 实现网格编辑器编辑基本信息
先设置合适的长宽(注:默认全部可通行,修改长宽会重置数据),勾上编辑不可通行区域
/// 打开格子编辑器通过鼠标射线获取位置信息,Alt设置障碍Ctrl移除障碍,MapEditor中可以设障碍编辑半径
编辑一张地图保存成配置文件,並读取效果如下
(注意射线检测的距离,以及层设置)
游戏开发过程中经常用到A*寻路算法在美术制作完场景后,需要编辑行走区域和不可行走区域能在Unity Scene场景中直接编辑,并导出数据文件将会方便很多。
先定义一个网格數据类型定义网格长,宽数量以及实现序列化。values 中存放是否可通行的数据0表示障碍,不可通行
2. 在场景中绘制网格
使用Gizmos DrowCube 绘制方格,烸个方格代表实际Unity距离为1这里为了有边界,size设置成0.8不同的value用不同的颜色区分
/// 格子大小 实际每个格子是1的距离,要有间隔 这里取O.8 //这里设置Layer 根据具体项目设置3. 实现网格编辑器编辑基本信息
先设置合适的长宽(注:默认全部可通行,修改长宽会重置数据),勾上编辑不可通行区域
/// 打开格子编辑器通过鼠标射线获取位置信息,Alt设置障碍Ctrl移除障碍,MapEditor中可以设障碍编辑半径
编辑一张地图保存成配置文件,並读取效果如下
(注意射线检测的距离,以及层设置)