[关闭]
@sssunny 2019-01-18T02:39:23.000000Z 字数 1626 阅读 170

Pokémon2 & 3 场景梳理

Pokémon Unity 场景



场景制作流程

美术制作场景-->策划编辑场景文件,生成可行走区域,高度数据,地图数据-->游戏调用


美术制作

  • Terrain 内主要有 Walkable 可行走区域,Building 建筑,Tree 树, thing 摆件物体 和 其他的场景元素组成。
  • Walkable 游戏内可行走区域
  • Building 游戏内建筑,有剪影处理,将会剔除meshcollider
  • Tree,Thing 游戏内树木,车子等摆件,将会剔除meshcollider

策划编辑

场景内容总览

项目路径 Map2/Demo下,对应场景的 Terrain 下,Run 里面就是美术编辑的可行走区域。将他的prefab文件添加到Map里面的场景里的 Terrain 下

说明:根目录下命名前缀 Editor_ 的对象,在最终生成prefab文件时,会忽略掉

1. 扫描行走区域(用来生成可行走区域lua脚本)

在根目录创建一个空对象,命名为AStar。在Project视窗中搜索 AstarPath 脚本,确认选中 AStar 对象,把脚本拖动到 Inspector 视窗里,添加AstarPath脚本
AStar创建

  1. 先隐藏Terrain下除了Run,Walkable的所有对象
  2. 展开脚本,依次点击Graphs,RecastGraph来设置寻路网格参数
    AStar编辑

    点击 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 不勾选

    AStar参数

  3. 点击 Settings 设置寻路参数
    Thread Count (多线程)选择 Automatic Low Load
    AStar参数
  4. 点击 Save & Load 设置缓存文件
    勾选 Cache startup
    点击 Generate cache 按钮
  5. 点击 Scan 按钮,生成寻路网格
    AStar参数

2. 生成高度数据

  1. 根节点创建空对象,命名为Editor_Height
  2. 添加 SceneHightData 脚本,点击 create 创建高度图,点击 scan 生成高度图

3. 编辑NPC,怪物等点信息

  1. 根节点创建空对象,命名为Editor_Pos
  2. 添加 ScenePositionData 脚本,Mode 编辑模式,选中Edit Pos 或者 Edit Area 就可以进行编辑位置和区域信息。
  3. 如果需要复用副本,这个脚本可以创建多个,并且编号,根据需求读取不同的位置信息配置
  4. ctrl+s 保存生成prefab文件
  5. 按需求配置对应的配置文件,场景制作流程完成

4. 最终生成prefab

  1. 把之前隐藏的场景对象都显示
  2. walkable 下的对象都需要添加 MeshCollider 脚本,来响应点击,并且设置tag为 Townroad
  3. run 是美术用来标注的可行走区域,需要隐藏
  4. 最重要的步骤,点击walkale,选中mesh,在Project中点击选中的mesh,勾选Read/Write Enabled。如果没有选中,会出现编辑器模式能点击行走,手机和模拟器中不能点击地面行走的BUG
    AStar参数AStar参数

场景应用

不使用传统的 unity 场景切换,而是生成场景 .prefab 文件,通过加载场景的 .prefab 文件代替 SceneManager.LoadScene("scene")

研究方向

  • 无缝大世界
  • 寻路的摇杆替代方案

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注