地形地貌是如何实现的? 地貌是指外观呈现的样子如:
岩壁及地面 明显沙漠地带
岩壁的投影
地面上的装饰
以上这些都是RPG游戏里常用的瓦块素材。 瓦块瓦块就可以拼接出各种形状的地形啦如:
地貌早期规划的概念图
开始我是用第三方瓦块工具搞地图设计 用的是 大名鼎鼎的 Tiled
嗯这个就是Tiled 推荐大家用哈 开源免费哦
但是拼接这些瓦块可是一项很消耗精力耐力的工作啊。 特别是我们的游戏是一个3D空间的游戏,所以游戏地形是有层次的。 游戏地图规划的是 260*260块瓦这个尺寸,有8层的基础高度(单层z:32像素) 也就是说 要画很多层的地形之后合成一个完整的地形。
多层地形组成了完整的地形
这样一个地图的地形图 (地形设计加上摆放瓦块调整) 大概耗用 3天到一周左右!!!!
这个工作量惊人!特别是我这种 强迫症患者 。。。 不能忍!
那么我们就开发一套地形瓦块设计调整的方式:
没错!这就是直接设置高度数据 自动生成游戏地形
通过设置一个高度数据,来自动生成地形数据。
并且实时更新到游戏里。方便测试设计同步进行。 有这个工具之后就方便多啦~ 可以随时调整图层 图像 并且随时游戏里测试体验这些改动。 随时保存随时调整!!
这里就要隆重推出 我的小伙伴 (先匿名), 他来实现游戏引擎IDE相关的程序开发。 而我是来实现整体的游戏引擎逻辑程序。还有美术,音效,策划,等等等等 是的 这个游戏及引擎是我们两人开发的。 再次感谢小伙伴跟我一起坚持了这么多年。
有了地形之后,看上去还是很空旷啊。
那么我们就给地形架设各种装饰图像吧。
地面的草皮
地面的碎石 及装饰性的大石头(注意因为是装饰所以并不是实体没有碰撞)
那么最后 就是这个样子啦
暂时看着还不错
当然有什么改动调整可以随时改变。 我们这个引擎的特点就是游戏过程中随时呼出编辑方式,随时调整随时保存。 你可以理解为一个游戏注入软件,边玩边改。 大概这样子吧,关于地形还有很多技术细节。 比如地面草皮风格的笔刷绘制方式(自动填充边角形状), 比如岩壁的碰撞(当然也是高度地图直接生成的), 比如地面材质的不同,可以实现不同的脚步音效等等。 以后慢慢讲这些实现逻辑哈。 下次我们聊实体的实现逻辑哈! 出现吧挡路的石头!!