卢鹏

基于Evil3D引擎的天刀超大地形demo


当前demo以现有从上海腾讯获取的东越场景配置文件和模型素材等整合得到,目前地图高度图尺寸为2049 × 2049,分块大小为33 × 33,地图材质数4096,地图比例为2米/格,地图总尺寸为4098 × 4098米合计约16.8平方公里,现有物件数量323个,实际按照场景配置文件解析出来的物件数量为766个,在整个场景总的物件数量为13730个,点光源数量为748个。地表层数为5层,本地图应用到的地表纹理数量为45张Diffuse+45张Normal/Glossness/Specular+1张高度图+1张融合图共计92张纹理,地表材质数量(复用)为502个,此次Demo未包含场景配置文件总解析出来的植被信息和Imposter信息。
所有材质均统一使用GGX高光的PBR材质,模型未使用LOD。
demo传送门
demo场景为正方形,尺寸相当于显示中4公里 × 4公里的地形,这么大的场景,任何游戏引擎都不可能一次性渲染,需要拆分,正四方形,因此我们按照四叉树来分,其中某一级是最适合的点,天刀是32 × 32称为一个Sector,我们也采用了一样的方案,每个Sector中,地表的材质贴图信息,包含哪些物件列表信息,物件受到那些光照信息,所有的信息记录在里面,在实际Demo运行过程中,用四叉树和摄像机做交,然后找出哪些Sector要渲染,然后看哪些模型不列表之内,提交加载列表,然后对已经在内存的模型,进行池复用,然后获取实例进行渲染,地形地表的渲染通过一样的TileBase(中文含义是基于网格)的技术实现的。

整个地形新功能开发延续了好几个月,趟过相当多的坑,但是由于flash3D缺乏一些关键的接口,缺少驱动级或者硬件级的Drawcall合并机制,整个地表消耗还是有点大,当前demo还是算比较流畅,但是考虑到植被和更多建筑部件,角色和特效以及游戏逻辑的加入,整体消耗可能会爆表,因此暂时封停地形部分的研发……

以下是该demo的截图效果:

1

2

3

4

5

6

7

8

9

10

11

12

谢谢关注,我们会继续努力。