叉叉谷物语-Day 02
搭建核心功能-地图绘制与管理
格子分层
暂定分为四层,分别是碰撞层,事件层,NPC层,阴影层.
其中碰撞层指定玩家与角色能够走哪些格子
事件层决定事件的触发,
Npc层也许存在事件,也许不存在,但是NPC可能自由移动
阴影层决定玩家在哪些格子会让物体半透明化,这样可以方便看见玩家在遮挡物后方.
地图绘制
使用Tilemap来绘制地图,使用SO来存储地图信息
Tilemap分层
Ground - 地板层
GroundUpper - 地板上的一层,例如地板上的花花草草,水面等
Instance-Tilemap实体层,与角色在同一层
Top - 顶层,高于实体层,一般显示在实体层上面
Collider - 静态碰撞层,主要用于在Tilemap中完成碰撞体的注册,禁止玩家和NPC走过
Instance游戏对象层
这里主要完成非Tilemap类物体注册,这些物体一般有着额外的逻辑,例如Npc之类的
地图模板存储信息模板
使用ScriptableObject实现
创建Editor工具来完成地图信息存储

效果良好
对存储的地图信息做反序列化
创建场景管理器
创建TileBase管理器
注:之后会将使用到的Tile汇总,但是暂时不做这个东西.先假设所有tile都在同一个目录下
对地图信息做反序列化
注:实体对象需要复杂的反序列化方法,因此暂时没做实体对象的反序列化
为地图编辑器添加绘制地图与清空瓦片的功能

运行良好
今日到此为止了