《天涯明月刀》技術團隊談次世代場景技術
《天涯明月刀》在十一期間打出了“打造最武俠黃金週”的口號,開啓其正式封測。在之前的推廣中,《天涯明月刀》的場景技術上採取的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系統中才能有的交互系統。
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之後,迎來網遊技術的又一次飛躍。