自研开发技术
我们在地景的制作过程中对材质进行了ID编码从3个通道拓展到16个通道,但每个像素点都是16个通道的话就太占用CPU资源了,所以我们发现了一个很好的解决方案,根据一定的规则选择性的进行通道融合,我们看到的图中的区域是选择性的进行了近60层通道的融合,但他实际上只占用了一层的资源,这就是现在我们CG动画中能看到的地景效果,但是下来我们改怎么进行进一步的改进呢?我们需要一种手动控制元素更方便,但视觉表现效果更好的技术,而且我们需要更大规模的生态系统来支持我们更多的细节,进一步改善生态效果的融合和过渡。
因此我们的自研技术 自然生态过度技术来了!
我们为了生态过度技术都做了什么?
过去我们在做地景的时候是单一的场景制作,比如说只是雪地,只是沙漠,只是山岩什么都的,但是我们是开放世界游戏,我们最终是要把各个场景相融合,但是我们不想让我们做出的地景生态强行的进行过渡,就像元神中的那样很突兀的由草原过渡到雪山。我们想做的效果是与真实世界的生态过渡相配,呈现出地貌的多样性。
关于来自谷歌地图的思考
我们观察下面的几幅从谷歌地图中所截出来的图片
这些图片中的地貌是我们想做的样子,到游戏中想要做出这种效果很难。你可以清晰的看到地形地貌是如何转变的,由沙漠到草原但丛林再到雪山等等。
我们可以看到随着地形的变化,地貌也随之变化,地貌过度的地方其非常复杂的,但是地形有非常多的细节可以告诉我们为什么会发生这种过度,比如植物地表的细节等等,当我们回到游戏,我们对地貌的维护效果非常复杂,尤其是生态系统的种类多了以后,我们的地景是依赖非常多的数据文件而生成的,修改和维护非常麻烦比如说我想让生态过度的部分产生颜色的变化,我必须调整过去区域几乎所有的文件,有时候多到500多个文件需要我们去修改,并且每次修改我们需要保持所有文件的同步,所以大家可以想一想我们实现生态过渡技术有多难,因此我们需要从更根本的思路上重新思考如何去实现这一功能。
我们所做的第一件事就是将我们的生态地貌与地形完全分离,保证地形库的整洁,我们就不用为了更改一个颜色都要去重新创建一个新的颜色贴图了,我们要做到过度区域和生态系统是通过数据来直接驱动的,每一个地方都是独一无二的,当前的游戏场景中有很多的重复地貌,但是在我们使用全新技术开发的新的地景中大家很难找到完全相似的地貌了,这是一个大规模的生态过渡,所有元素都相互融合。
前面说到,管理和追踪不同的500个数据文件是非常麻烦的,而现在构成地貌的数据文件是相当简洁的。
重新考虑地形数据
接下来我们将深度的介绍一下这项技术,我们将大数据导入引擎进行模拟,我们可以看到旧版本的构成地形的一些数据可以看到有颜色数据贴图、高度贴图、法线贴图、分布贴图等等,根据这个我们就开始思考,怎样把这个结构组成变得简单一些,我们决定引入两个变量,湿度与温度数据,导致一个地方的生态群落发生转变的因素有很多,但是我们认为冷热、潮湿或是干燥是最重要的因素,因为我们查阅资料过后发现,生态发生改变的地方,总有温度发生变化的,或是那个地方突然有了水源。
湿度与温度造成生态的变化
通过卫星图我们可以看到很多有意思的细节,甚至最右侧干涸的沙漠地区也能考到最初的河道。
引入新的变量数据库
所以这是新的地形数据文件,可以看到有高度、法线、温度、湿度
全新的两组数据贴图
大家可以非常清晰的在左侧的湿度图中看到水流的痕迹,颜色越白说明湿度越高,我们也可以清晰的在右侧看到温度的分布颜色越深,温度越低,所以山顶上都是黑的。
全新的地形基准数据模型
有了这个概念之后必须将我们数据库中所有的高度数据匹配上我们的湿度温度数据将他们精确的调整为面积为4X4公里,高度+-1公里的这种统一的数据模型单位,这样做可以给我们一个基准,为了以后能在引擎中更加方便的创建尺寸更大的地形。
基于两组数据的拓展
我们可以通过各种算法来更快速的去创建出一个开放世界来,但是它并不像我们想象中的那么好,因为地形地貌以及生态物种的多样性收到我们算法复杂程度的限制,比如我们可以写一个算法说河流该怎样生成,他因该怎样延展,你可以用算法生成100万种河流来,但是你永远看不到瀑布,我必须去添加或者去调整算法,让他能生成瀑布才行,但是我们在游戏中试图还原出真实的世界,我们想要很多截然不同的地貌特征,所以说纯算法对于我们来说也不是很现实,另外我们的地形地貌是希望加入艺术设计的。程序是一个技术性很强的东西,但是艺术性很弱,所以我们怎么做。
我们添加了两组数据,我们用气候数据来驱动我们的生态图层,我们怎么办到的呢?我们现在看到的是用气候数据驱动的色调模板,纵坐标是温度,横坐标是湿度。通过坐标系我们很简单的就能了解到地形地貌与温度与湿度的关系。
地貌边缘的处理方法
我们可以看到我们所框出来的部分,颜色非常接近,我们想做到自然的生态过渡技术的话,就必须对该部分的资源进行人工介入的融合,非常浪费我们的开发时间,因此我们提出了一种解决方案,就是利用方差图来解决,方差我们都知道他表示一组数据中,某一个值相比于其平均值的偏离程度。
温度与湿度的数据方差图
大家可以在右侧看到适度的方差图,我们发现明暗区分更加明显了,白色的部分就是这个地方的湿度和平均值偏离比较大,因此利用这个方差图我们可以更加精确的区分不同地方的适度与温度的差别,我们的植被生态也会随着温度湿度的变化而变化。
以上就是我们 Natural Ecological Transition Technology 自然生态过渡技术的所有的技术内容啦!