《天涯明月刀》技术团队谈次世代场景技术

天涯明月刀》在十一期间打出了“打造最武侠黄金周”的口号,开启其正式封测。在之前的推广中,《天涯明月刀》的场景技术上采取的RTG技术,曾经引起业界和玩家的高度瞩目。而本次封测中,《天涯明月刀》的场景又有了品质上的飞跃和提升。本文就是负责《天涯明月刀》的技术团队亲自撰写的,如何将RTG升级到RTG Next,来真实还原一个最有武侠味道的大江湖大场面,其中所蕴含的技术之秘。

1.RTG系统发展

目前国际主流的Procedure过程生成技术,对于提高游戏的表现,加快游戏开发速度有着很大的帮助。RTG技术就是我们在这一技术潮流中做出的有益尝试。RTG技术是一类过程生成技术和游戏运行时刻技术的统称,在天涯明月刀游戏中,代表了真实地理虚拟生成系统,对植被生态进行了模拟,产生大量的地貌类型和植被分布。RTG技术的成功应用,在首测中得到了玩家的肯定,也增强了我们的信心

我们有独立的研究团队,很早就开始着手进行RTG系统的升级换代,代号RTG Next。如果说RTG技术的初次应用,标志着我们对主流技术的追赶,那么在这一次升级中,我们成功完成了对主流技术的超越。升级后的RTG Next系统,把原来独立的天气光照系统纳入,增补了环境交互,并极大优化了运行效率,可以容纳更复杂的游戏运行时刻的模拟计算

2.RTG Next给玩家带来什么新的体验

-全场景动态时间模拟

首先最明显的便是真实时间的模拟和与之对应的日夜光照变化。虽然首测中已经有部分时间模拟,但那都是在副本、位面中进行小规模的切换,并没有在整个世界来进行模拟。从技术的角度来说,真实的时间模拟条件都已经成熟,我们有基于偏振光模拟的光照体系,有日夜变化功能,只需要在服务器进行时间演算,同步改变整个世界即可。然而实际开发这一功能,却遇到了非常多的困难。

第一个难题是,日夜变化的时候,大气光照的变化会有非常多的改变,我们原有的体系无法很好的涵盖这一变化。更通俗的说法,是我们原先的系统无法容纳自然的日出和日落光照变化。专项开发小组进行了技术攻坚,在原有系统上扩展了大气光照体系,开发出独特的日出日落效果,从效果来说,日出日落效果放眼目前主流游戏机平台,都是最好的了。玩家在二次测试中,就能感受到目前最好的日出日落技术。

新旧地图大气光照效果比较

一测九华地图

二测九华地图

第二个难题是,虽然个体技术都已经准备充分,但是把它们整合到一起的难度还是极高的。有很多技术彼此不能很好共存,往往会造成光照跳变、云层快速切换、阴影丢失等各种问题。首测中,由于不使用真实时间变化,我们可以很容易通过策划设计,来规避容易出问题的光照切换。而在新的全局连续的时间变化体系里面,我们无法规避这些问题。技术攻坚团队进行了大量研究工作,也配合美术设计师针对各场景进行调整,这里有很多艰苦的工作,造成了非常多额外工作量,一度也让我们怀疑是否能成功。造成大家信心不足的主要原因,还是天涯明月刀一贯以来对高品质的严格要求。很多时候开发人员都觉得这个效果已经调到极致,虽然有一点瑕疵,但已经和国外一流单机产品相比也不落下风了。可是这个质量往往还是无法达到核心团队的质量要求,于是开发团队只能继续调整。好在我们最后调出了大家都觉得满意的效果。

-天气系统的加强

天气的模拟,也一向是游戏中较高难度的领域。很多游戏中的天气模拟,只是最简单的在游戏镜头前加上2D的水滴动画,无论是从气氛渲染,还是从实际表现,都无法尽如人意。

天涯明月刀在首测中的雨、雪、沙尘暴效果,得到了大家的一致肯定。在新的升级中,我们着重提升了下雨的效果,并且真正做到在全地图场景内动态触发天气。这里的技术看点在于:

a.雨天场景的光影过渡更自然,同时人身上的微湿效果,场景的潮湿泥泞效果,都会逐渐过渡。考虑到整个世界是一个动态世界,我们无法针对下雨进行局部地图材质的预先制作,所有的材质效果,都是动态实时演算,确保每个场景都能有下雨时的精准材质模拟。这是我们首次在网游内带来了基于物理偏正光照体系的气候模拟,以及动态材质渲染技术。

b.气氛渲染得到了进一步的加强,场景内风吹起的雨雾,大雨里的电闪雷鸣,都模拟出一个更丰富多姿的世界。

c.细节进一步得到刻画,墙面和地面的水流效果,远景的雾效处理,都体现出RTG Next的强大模拟能力

-加强随机植被生成

在首测中,植被的密度较低。一方面由于RTG算法限制,另一方面也受到了机器机能的限制。单纯的加强植被密度,其实还是比较容易做到的,但如何保证性能,才是这一特性最大的挑战。这次的升级中,开发团队把性能优化放在重要的地位,引入了多种算法降低植被系统对机器的配置要求,进行了复杂的性能负载均衡,在CPU和GPU之间合理分配开销,大幅度加强植被的密度,并在玩家机器配置和实际画面表现中找到了平衡。保证了在多数场景,游戏依然有和以前一样的性能表现。

-环境交互系统的加强

首测中,我们的世界虽然栩栩如生,却缺乏一些基础的交互系统,比如人和水面的交互,只是使用最基础的粒子特效,又如脚印系统缺乏,脚步不贴合斜的地面等等。细节的开发,意义不言而喻,但却受限于开发时间。在RTG Next中,我们终于可以把更多的想法加入,创建出动态交互的环境。我们有了各类地面脚印,有了脚的IK动画(反向动力学),可以保证脚能较自然地贴合地面,草也会随着人走过而微微摆动。

这里重点提一下的,是我们的水中交互。在三年前天涯明月刀立项阶段,我们曾经使用过基于FFT(快速傅立叶变化)的方式,开发过可交互的水,在那个原型版本中,人物在浅水中走动,水中会泛起涟漪技能战斗会划开水面,重击地面的技能,造成水面震荡,效果十分震撼。非常可惜,虽然技术上是国外单机游戏的普遍成熟做法,我们的实现上也做了非常多的优化和创新,但是在CPU的开销上依然无法令人满意。当时的版本基本需要I7级别的CPU才能进行合适的模拟,所以我们最后放弃了这一技术选型。顺便说一下,在天涯明月刀的研发过程中,引擎开发人员尝试了大量国内外的先进技术,类似的被放弃的技术不在少数,在一次次的尝试中,我们试着找出最适合玩家的技术。

这次我们在目前的水渲染系统中,加入了性能开销更低的模拟交互系统,基本实现了以前的FFT系统中才能有的交互系统。

a.当玩家用轻功跑过水面,可以看见水面波纹

b.玩家和敌人在水中战斗,可以看见水面波动

c.技能可以扰动水面

我们相信,这些特性的加入,对于打造网游中最具有表现力的水面,有着积极的意义。

剑意扰动水波

3.性能提升

更多的高端特性,带来了更大的优化压力,开发团队希望能在尽可能低端的机器上将优质画面带给玩家。

RTG系统带来的每一点画质提高,都离不开性能的保障。天涯明月刀的性能优化一贯出色,在RTG Next的升级中,我们也注重性能开销,除了常规优化方式,项目组也尝试了各种不同的优化技巧,取得了很好的效果。

举一个优化的例子,比如地面植被的密度,虽然对CPU开销很小,但是对GPU开销很大,尤其是填充率。因为草和树叶,重叠密度很高,造成GPU大量的Overdraw(重复渲染),浪费了填充率。而传统的Pre-Z等优化,由于叶子比较难进行排序,导致最后对性能提高非常有限,经过数次尝试后被我们放弃。突破点在于,填充率是一个巨大的瓶颈,而显卡还有大量闲置的顶点处理资源,所以我们使用了非常规的优化方式。通过增加叶子的多边形顶点,做出更精确的包围形状,从而减少像素浪费,大大降低了像素填充率。最终,帧数得到了提高。

在优化过程中,帮助我们在首测中得到良好性能的基于感知度的优化准则依然发挥着巨大的作用。我们能精确判断物件的可见性,从而保证不把宝贵的CPU、GPU资源浪费在不可见的地方;对于怪物密度较高的区域,高、中配里我们不强行设置硬性的同屏人数限制,而是对远处较小的物件进行不易察觉的效果降低,省出足够的性能来渲染玩家最容易感知的周边场景;在主城,大量房屋和物件,需要有力的裁剪,遮挡不可见的人和物件,我们使用了高性能的裁剪算法,精确有效剔除被遮挡的物件。

另一个被重视的优化,是对于画面卡顿的优化。玩家可以容忍帧数略低,但是无法接受画面卡顿,解决卡顿问题,对于画面流畅是非常重要的。我们使用了系统级的工具监测游戏和Windows系统的性能情况,对每一次顿卡进行深入分析并解决。我们也开发了大量的内置工具用于监视游戏运行,确保最详细的性能统计数据能在第一时刻帮助我们优化游戏。

经过了大量努力,和多轮优化,我们基本把市场上主流的优化都加入了引擎,也摸索出很多独有的优化方式,保证了玩家在较低的配置上也能得到良好的游戏体验。这一次的RTG Next升级,在画面上有了较大的提升,而对玩家的机器并没有提出更高的要求。

4.RTG Next之后

天涯明月刀的开发团队,在测试和技术研发上,遵循着产品和技术研发并重的路线。项目组在确保版本正常发布的基础上,一直在研究新的技术上投入足够的人力。RTG Next的升级,其实无法在两次测试之间的短短四个月做到,这里其实都用上了长期的技术积累。

那在RTG Next之后,天涯明月刀还将带来什么样的技术亮点?目前团队的确有一些极具潜力的技术在研究中,比如更好的生成技术,更好的压缩技术,更好的互动技术,限于保密因素,暂时不能透露更多信息。我们和大家一样激动,希望在RTG Next之后,迎来网游技术的又一次飞跃。