揭秘 MWU 最佳画质游戏《永劫无间》技术历程
近日知名人工智能計算公司英偉達(Nvidia)發布了一部“第一款使用 DLSS 技術的 Unity 游戲”《永劫無間》DLSS 宣傳片。
DLSS 技術能渲染低分辨率的圖像,通過英偉達(Nvidia)GPU 的 DLSS 把畫面插值成高分辨率的圖像,如此可比直接渲染高分辨率的圖像性能更好。Unity 聯合英偉達(Nvidia),把這項技術集成到 Unity 引擎中,讓 Unity 的開發者更方便地使用此項技術。現在讓我們一睹究竟 DLSS 技術在 Unity 游戲中的實現效果吧。
這段視頻中展現的正是跨平臺動作游戲《永劫無間》的實機游戲畫面,今天我們請到了《永劫無間》開發組的核心成員為我們揭秘游戲開發的全過程。
首先介紹下 24 Entertainment 工作室吧。
24 Entertainment 工作室:目前這個團隊成員接近百人,核心成員是由幾位對動作游戲懷抱特別大熱情的同事組成。我們以“做一款全平臺的動作游戲大作”為目標,在 2019 年初完成 prototype 立項,依靠網易的支持,成立了自負盈虧的 24 Entertainment。立項推進的第一款游戲,就是《永劫無間》。
除了自己開發游戲,24 Entertainment 也希望通過更多方式幫助整個業界開發出更好的游戲。基于這樣的理念,我們也籌辦了面向獨立、單機、買斷制游戲的[F5]進取游戲發布會,盡我們所能幫助與我們有一樣追求的開發者們。
?
可以跟開發者介紹下《永劫無間》這款游戲的創作背景嗎?
24 Entertainment 工作室:24 Entertainment 從立項起就決定面向全球市場,于是在題材的選擇上我們從“東方神秘”切入,這個主題在全球的接受度都很不錯。
我們將各種東方文明與神話融匯成了一個架空的世界,你可以從中體驗中國俠客,日本武士,中亞刺客,甚至還有來自草原的勇士。
玩法上我們認為生存競技的題材相比傳統的競技場對戰更刺激,也更容易擴展玩家群體。玩法中承載的大地圖也能更好地讓玩家體驗到,在《永劫無間》中通過各種運動交互在場景里高速移動的快感。
同時《永劫無間》也將采用買斷制在全球范圍內發行,登錄盡可能多的商城,并進行主機版本移植。為 24 Entertainment 盡可能多地積累將來開展單機游戲發行的市場經驗。
?
游戲中服裝道具呈現出的光影效果逼真細膩,為玩家提供了高水準的代入感,可以跟廣大的開發者分享下 PC 平臺下這種高質量 PBR 材質的創作流程嗎?
24 Entertainment 工作室:在項目啟動的時候,美術會根據世界觀,提出一些可能會用到的材質,例如絲綢、棉布、寶石、金屬、皮革、皮膚等。然后開發人員會通過 shader 進行實現。
這些材質,并沒有取得業界普遍共識的算法,有些甚至談不上物理正確,將他們和基礎的 PBR 材質結合到一起,制作標準和效果都會比較混亂。因此我們的目標并不是追求科學上的正確,也沒有這個能力,而是讓美術在使用的時候有類似 PBR 的“體驗”。
這個體驗怎么定義呢?在早期的 CG 或實時渲染中,為了讓物體的高光質感正確,需要調整數個參數,非常耗時。而 PBR 材質中使用粗糙度一個參數就可以做出各種不同的質感,而且非常容易形成固定的標準,非常優雅。我們也盡可能在所有定制材質中“復刻”這種體驗,盡可能地精簡參數,并且調節時效果的變化比較“線性”。這個過程中,HDRP 中的一些實現起到了很好的參考作用。
確定合適的參數和算法后,還需要在 Substance 等常用工具中使用定制 shader 做出與引擎中類似的效果。因為我們引擎程序的人力比較有限,也對渲染管線做了比較大規模的修改,這導致在游戲中呈現的效果非常不穩定,因此在開發前期和中期都以 Substance,Marmoset 等工具中的效果作為基準,我們認為這個做法比較適用于中小型團隊。
?
《永劫無間》這款游戲畫風寫實精美,可以介紹下是如何使游戲的畫面達到這種水平的?都采用了哪些技術,可以跟大家分享下嗎?
24 Entertainment 工作室:PBR 材質的算法本身是符合物理規律的,但要讓最終的結果看起來“可信”,還需要保證前后兩個環節的正確,即輸入 PBR 函數的數據,和對二手手機號轉讓輸出結果的處理。
輸入數據一方面是材質貼圖和各種參數,仰賴我們的美術對制作規范的正確執行。另一方面就是光照數據,在這方面我們進行了較為深度的定制,最終的結果就是只要輸入一個太陽高度角,即可根據大氣層的衰減和散射計算出陽光顏色,天空和云層的顏色,環境光,構建一組“可信”的基礎光照數據。
陽光以外的光源我們采用了 Clustered Forward/Deferred 混合的組織方式,《永劫無間》中并沒有使用基于物理的照度單位,從實際效果來看,只要陽光相關的部分關系正確,其余光源是可以有較大彈性的。而且對于一個快節奏的多人競技類游戲來說,過于寫實的動態范圍也會造成觀察障礙和玩家的疲勞。
另外我們開發了一套類似 Unity 的 Light Probe Proxy Volume 的 Voxel GI 系統,可以支持流式加載。場景、角色、特效乃至體積光,都可以共享一套 GI 數據,維護了整個游戲光照的統一性和可信度。
對 PBR 光照的輸出數據處理主要依賴合理的后處理流程,這方面我們的經驗是提升動態曝光系統的可控性,來模擬攝像機的運作方式。分離色彩的風格化和 Tonemapping 也有助于提升輸出色彩的可控性,并且更好的兼容不同的顯示設備。
在開發的過程中,SRP 的靈活性很好地滿足了我們的需要,另外 URP 和 HDRP 也對一些流程和效果提供了非常好的參考。
可以跟大家分享下游戲中的飛索系統嗎?以及是如何提升游戲的打擊感為玩家打造無拘無束的戰斗體驗呢?
24 Entertainment 工作室:一直以來我們強調的游戲理念,就是“我身無拘”,這也是我們游戲的 SLOGAN。游戲不應該是條條框框的規則堆砌,而應該是一個解放玩家一切拘束的試驗場。
全自由的武器選擇,全自由的景物運動交互,全自由的戰術發揮。而其中對“我身無拘”最直白的體驗,還是飛索系統。
雖然早期玩家一直拿我們和“只狼”做對比,但這僅僅是因為他們還沒有實際體驗游戲。玩過《永劫無間》的玩家,都會清楚知道,我們游戲里的飛索,是完全不同性質的存在。
在我們的游戲中,飛索的交互是絕對自由,只有你想不到,沒有你勾不到。飛索不但可以視為一個急速的全場景移動手段,它更以作為戰斗中的有利道具,為了降低使用門檻,我們甚至提供了對人自動瞄準的功能。
于是,在戰斗中牽制對手,強勢連招或全身而退,都和飛索的應用緊緊聯系在一起。
制作方面,我們采用 Unity 對動畫及音頻進行精確編程控制的 Playable 動作系統以及自研的動畫編輯器,從而實現了對動作控制效果和骨骼融合效果的顯著提升。
游戲的角色逼真,人物模型刻畫細膩,可以分享下寧紅夜的角色創建過程嗎?
?
24 Entertainment 工作室:在項目前期概念階段,我們遵循游戲寫實風格、多人對戰、動作游戲的標簽,及輕度東方魔幻的整體世界觀。確定設計將以穿戴邏輯寫實,造型短打精干,符合動作游戲玩家預期的基調為設計方向。在此基礎上根據寧紅夜的個人背景經歷及性格(劍術超絕、行事冷酷、蒙眼溝通陰神燭龍的力量、昆侖派知名的劍客與殺手)確定其蒙眼的緣由,神秘刺客形象為大的視覺設計方向。
?
后經過多番內部討論,最終確定作為主宣傳角色的盲劍客,定位為女性角色。前期設計時角色穿搭相對保守樸素,少量有別于中原服飾特征的裝飾,重點突出了東方寫實風格。早期我們的宣傳配色指導方案決定由黑白紅配色搭配水墨風組成,因此寧紅夜自然也就成了游戲 KV 的主推英雄。因此,進行高階皮膚設計時,我們增加了角色服飾紅色的主色面積。同時,深入了昆侖玄女的人設身份,延續并進一步強調蒙眼,紅主色調,高馬尾及蛇意向等視覺設計元素。
高等級裝束重點拉開與傳統武俠游戲寬袍大袖的視覺差距,避免過多的布料飄動令角色在極限動作時出現穿插,保證東方韻味的同時又能符合現代玩家的審美習慣。
?
在角色 3D 化的過程中,首要保證的是角色必須契合“輕度魔幻但質感寫實”的視覺目標,同時必須能與游戲場景氛圍融為一體。角色模型在細節、質感都盡可能保證真實的塑造方式,3D 在制作過程中也完善了概念設計階段合理性欠缺的設計。
?
英雄每一套服飾模型的穿戴方式和疊壓關系都盡可能地保證了合理性,布料裁減和工藝基本符合真實。我們采用 Jobsystem 對 Dynamic Bone 布料系統進行了重寫并將 HDRP 中的布料材質系統搬到了 URP 當中,從而實現了對人物服飾布料更加逼真的模擬。
?
與角色背景故事相關的設定,也體現在每個角色身上出現的專屬掛飾。我們為寧紅夜設計了專屬紅笛掛飾,每個掛飾的題材和造型的背后也有一小段屬于角色的故事。
可以談談《永劫無間》項目在 PC 端的優化技術嗎?
24 Entertainment 工作室:《永劫無間》項目在很多方面進行了優化,比如場景的流式載入,高度可配置定制化的動作系統,物理系統,URP 管線的高度定制化以及對 HDRP 管線的部分特性的整合,涉及到屏幕空間信息處理的部分利用 dx11 所支持的 compute shader 特性進行 tile-based 優化,柔布的性能提升和定制,地表的渲染優化融合,場景的體素化管理,陰影的優化,場景的靜態剔除優化等等,這些優化,在最大程度上兼容玩家硬件的同時,以最好的性能和畫面讓玩家玩的流暢,玩的開心。
在游戲的開發過程中 Unity 企業技術支持團隊都提供了哪些幫助呢?
24 Entertainment 工作室:Unity 技術支持團隊和我們一直保持著非常良好的合作關系,在項目的各個階段,支持團隊都給予了我們很大的幫助。特別是在問題的及時反饋,疑難問題的建議和解決方面,都給與了很大的支持,比如物理優化方面,場景載入方面,渲染管線優化方面等,都積極進行了溝通,大大縮減了我們的開發時間。
我們在開發過程中應用到了多款 Unity 自帶以及 Unity Asset Store 中的高質量插件,如游戲使用 3D 建模和關卡設計工具 ProBuilder 創建游戲原型、制作骨骼動畫解決方案的 Final IK 對其進行擴展從而制作自己自定義角色設定。
此外為了讓玩家能夠相互交談從而延長他們在游戲中停留的時間,我們采用了 Unity 提供的多人游戲內通信服務 Vivox,能夠讓玩家在沉浸式游戲環境中互相交談。
為何要使用 Unity 引擎開發這款游戲?
24 Entertainment 工作室:Unity 是當今最優秀的游戲引擎之一,而且 Unity 發展至今在多個技術方向都已經升級完善,經過了大量不同類型成功游戲的驗證,可靠性很高。尤其對于中小型團隊而言,不需要花太多時間維護引擎,可以更多的關注項目的需求。
Unity 引擎具有最好的跨平臺能力, SRP 特性的加入提供了更多的靈活性,可以進行針對 PC 端的一些優化,充分利用 PC 平臺的強大機能,同時也可以保留未來登陸多個不同平臺的可能性。
《永劫無間》項目基于 Unity 源碼服務,充分利用了 Unity 引擎既有的很多特性,如動作系統,物理系統,DOTS,URP 管線+ HDRP 管線, shadergraph, Visual Effect Graph 等等,打造全方位立體的戰斗方式,呈現高質量的游戲畫面和感受。
為何使用 Unity 的 Vivox 來實現游戲的實時語音通訊模塊?
24 Entertainment 工作室:《永劫無間》是一款需要在全球范圍內發行的實時聯網動作競技游戲,語音通訊的質量和穩定性,會極大地影響到玩家的游戲體驗,在這一點上,我們不容有失。
我們觀察對比了許多同類型的服務,留意到其中 Unity 的 Vivox 一直是全球范圍內比較主流和領先的游戲實時語音服務,像《Fortnight》、《PUBG》這些全球現象級的游戲都在使用 Vivox。能夠承受得住這些爆款游戲的考驗,Vivox 的語音通訊質量、穩定性和技術支持服務肯定是值得信賴的。
實際接入測試后,我們發現 Vivox 的功能也相當強大,3D 位置音效可以為玩家帶來更強的沉浸感,跨平臺的能力也非常優秀,幾乎針對所有的主流游戲平臺都有專門的 SDK。另外,Vivox 在國內也開通了服務,我們只需接入開發一次,就可以在全球運行,這為我們節省了不少時間。
總結
以上是生活随笔為你收集整理的揭秘 MWU 最佳画质游戏《永劫无间》技术历程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字雕刻中“节奏”的作用
- 下一篇: 游戏中的卡片模态面板设计【1】—运用案例