只羊的博客

记录游戏开发历程

策略游戏地图制作-五-地形减面-上

1.地形减面

在我们之前的地形制作中采用平铺方案制作地形Mesh,但Terrain平铺在大部分情况下是很浪费的,例如在平原这种不需要多少顶点表达的区域,或者其他坡度低、斜率低、变化小的地带。加上如果要支持超大规模的地图,还需要做很多优化,所以应当做进一步的减面处理。

下面使用经典的QEM算法对Terrain进行减面操作,写这个的过程也算是在做减面插件,只不过地形的减面需要注意不同地块之间的接缝,避免连接出问题。下面是本节结束后的减面效果演示:

    image    
图:地形Mesh减面前后对比

1.1.已有的地形减面方案

以下列举一些已有的减面工具,以供参考

---阅读全文---

策略游戏地图制作(四)-地貌制作-上

1.地貌制作概述

本节先以一些策略游戏里的地貌为例,解释它们的地图地貌,之后提出一个简单的地貌模型,以下是该地貌模型应用到地形上的预览

    image    
图:让地形应用地貌图

1.1.一些游戏中的地貌

游戏《欧陆风云4》的地图相关资源暴露比较充分,在 Europa Universalis IV / map 文件夹下存放了大量与游戏地图构建相关的纹理资产、地貌图集、区域划分等文件。

---阅读全文---

策略游戏地图制作(三)-地块LOD

1.LOD技术概述

LOD(Level Of Detail)是游戏制作中的重要技术,它的思想很简单,即根据模型在屏幕的占比或直接根据摄像机到模型的距离决定该模型应该采用的精度级别,离的远采用更低精度,以降低渲染成本。

    image    
图:不同LOD级别的模型

通常来讲我们可以预制不同LOD的Mesh,程序启动时载入内存,然后去做动态切换。像UE可以对导入的模型自动生成不同LOD级别模型,这样做的代价是存储了更多模型Mesh,所以LOD也算一种空间换时间的做法。

LOD不仅仅体现在渲染优化上,它更应该理解为一种思想。LOD在其他领域中也有应用,比如引擎的物理碰撞、动画更新、AI等都可以使用LOD的思想进行优化,许多游戏在做gameplay时也会考虑应用LOD

---阅读全文---

策略游戏地图制作(二)-Terrain生成-下

1.高度图处理

1.1.高度图获取

高度图本质上是一个二维数组,或者一个灰度图,存储指定xy坐标下的高度信息。运行时对高度数据采样来得知一个vert应该应用的高度,从而生成地形。可以通过一些算法生成高度图(如噪声),但为还原真实地形地貌,此处直接使用真实地理高度图,后续添加对地图的编辑功能来做微调

首先,要获取到真实地图的高度图数据。可以从一些开源的地理信息网站得到,此处以 USGS为例,网址为:
https://earthexplorer.usgs.gov/

打开网页后,在地图上点选以选取范围,转到DataSets下选择要下载的对应项

    image    
图:USGS界面

---阅读全文---

策略游戏地图制作(一)-Terrain生成-上

一个策略游戏中最重要的部分就是它的地图,地图包含游戏中重要的战略信息,玩家的几乎所有操作都需要与地图的交互进行。而且,身为策略游戏玩家,表现效果丰富的策略地图,也能很好地满足大家指点江山、统筹全局(机枪往前移五米)的愿望。

以下举例一些策略游戏内的地图

image
图:《欧陆风云4》游戏地图

---阅读全文---