天才一秒记住【车毅小说网】地址:http://m.cheyil.com
首发:~第180章 地形起伏
作为一款游戏原型。
需要优化的地方还很多。
比如说游戏中细小的虫族单位,因为建模时只是等比例缩小。
在游戏运行中占用的多边形数量过于浪费。
这种事情其实是可以通过后期优化改善的。
但就算是改善。也改变不了全3d化之后高配置需求这个问题。
最后,上海工作室放弃了这个激进方案。
回到了2d画面的原点。
但是2d归2d。
八足或者六足移动的虫族如果会被一个小土坡挡住,这也实在有些可笑。
更不要说游戏的过场画面当中,就拍摄了漫山遍野的虫族顺着陡峭山壁冲击的场景。
由此可见,“爬坡”恐怕是这款游戏的基本设定。
最后,解决这个问题的,还是齐东海作为独立游戏开发者的野路子思路。
齐东海给上海工作室提出的建议是。在2d地图的基础上,引入z轴这个概念。
一般2d游戏的坐标系中,只有表示纵横两个方向的x和y轴。
但在3d游戏里,有z轴这个概念。
当然,《星际尖兵》当中的z轴并不是真正的z轴。
而仅仅是一个表示高度的数值。
游戏的地平面被设定为100。低于这个数值的就是下凹的坑。高过这个数值的便是凸起。
为了减少计算量。并不是地图信息中每个像素都有独立的高度值。
而是借助瓦片地图的“瓦片”这个单位。
每片瓦片元素有自己的高度值。
通过比较相邻的两个瓦片元素的高度差,就可以得到“坡度”这个数值。
游戏中的不同单位有不同的爬坡能力。
通过坡度值可以判定相邻的地图块是否可以通过、通过时要减速多少等等。
爬坡时人类载具的不同仰角,又或者是虫类的不同动作。靠的也不是3d即时演算的结果。
而纯粹是靠制作了各种角度的贴图动画而已。
至于地形信息的存储。
与其使用不直观的数组或结构体。齐东海提供了二十一世纪通用引擎中司空见惯的一种思路。
使用一张图片文件来记录高度值。
通过读取图片中特定像素点的颜色值,把颜色值转换为数字。用以标示地形的高度值。
当然,实际使用时,为了节省运行内存。
这张标示了地形的图片文件并不与游戏地图的像素一一对应。
而是每个像素表示一块“瓦片”。
这样做的好处是负责地图编辑的策划人员无需懂得代码。
只用绘图软件,像绘制等高线地图一样就可以标记出地图的起伏。
实际上,每个《星际尖兵》的用户,都可以得到一份地图编辑器程序。
但是这款游戏的地图编辑器有两种运行模式。
一种是傻瓜式的,只需要编辑地图块和资源等内容即可。
另一种,则可以更细致的编辑地形。甚至通过简单的脚本语言为地图增加特定的事件。
编辑出一张有特殊规则或者故事性的地图来。
既然网络时代已经来临。玩家社区的创造力不容忽视。
齐东海期待着玩家们用自己提供的工具搞出一些有趣的东西。
当然,如果玩家们实在自己想不出什么也没关系。
齐东海将来自己会搞。
西园寺公长提示您:看后求收藏(车毅小说网http://m.cheyil.com),接着再看更方便。