@sssunny
2019-01-18T02:39:23.000000Z
字数 1626
阅读 170
Pokémon
Unity
场景
美术制作场景-->策划编辑场景文件,生成可行走区域,高度数据,地图数据-->游戏调用
- Terrain 内主要有 Walkable 可行走区域,Building 建筑,Tree 树, thing 摆件物体 和 其他的场景元素组成。
- Walkable 游戏内可行走区域
- Building 游戏内建筑,有剪影处理,将会剔除meshcollider
- Tree,Thing 游戏内树木,车子等摆件,将会剔除meshcollider
说明:根目录下命名前缀 Editor_ 的对象,在最终生成prefab文件时,会忽略掉
在根目录创建一个空对象,命名为AStar。在Project视窗中搜索 AstarPath 脚本,确认选中 AStar 对象,把脚本拖动到 Inspector 视窗里,添加AstarPath脚本
展开脚本,依次点击Graphs,RecastGraph来设置寻路网格参数
点击 Snap bounds to scene
更改图形的边界,以便根据设置精确封装场景中可包含在扫描过程中的所有对象。使用哪些对象取决于设置。如果一个对象使用当前设置影响图形,如果它位于图形边界内,将检测到该边界,并将扩展该边界以包含该对象。然后隐藏Walkable
设置寻路网格参数(需要关注的参数)
参数 | 注释 | 默认设置 |
---|---|---|
Cell Size | 体素样本大小,较低的值将产生更高质量的导航网格,但图形扫描速度较慢。 | 0.03 |
Cell Height | 体素样本大小 | 0.01 |
Use Tiles | 如果设置为true,为多个小格子理解为棋盘的规则格子,其他单个网格 | Dont Use Tiles |
Rasterize Terrain | 使用场景中地形计算NavMesh | 不勾选 |
Rasterize Meshes | 使用场景中的网格计算NavMesh | 勾选 |
Rasterize Colliders | 使用碰撞器计算NavMesh | 不勾选 |
不使用传统的 unity 场景切换,而是生成场景 .prefab 文件,通过加载场景的 .prefab 文件代替 SceneManager.LoadScene("scene")
- 无缝大世界
- 寻路的摇杆替代方案