揭祕 MWU 最佳畫質遊戲《永劫無間》技術歷程
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 在國內也開通了服務,我們只需接入開發一次,就可以在全球執行,這為我們節省了不少時間。
來源:Unity官方平臺
原文:https://mp.weixin.qq.com/s/VTjz8SNFKSa51L27cNdvAA
相關文章
- 遊戲反外掛技術揭祕遊戲
- PingCode 技術架構揭祕GC架構
- 揭開JS無埋點技術的神祕面紗JS
- 石頭剪刀布?多人動作競技遊戲《永劫無間》戰鬥系統簡析遊戲
- Taro 技術揭祕:taro-cli
- PingCode Flow技術架構揭祕GC架構
- 首次揭祕!阿里無人店系統背後的技術阿里
- 《永劫無間》手遊實機畫面首曝:操作邏輯簡化,保留端遊核心玩法
- 永劫無間連招教程
- Taro 技術揭祕之taro-cli
- 玩永劫無間需要什麼配置?六款永劫無間電腦配置推薦
- VMware的雲原生應用技術揭祕
- 谷歌揭祕自家翻譯系統:如何利用AI技術提高翻譯質量谷歌AI
- 揭祕《荒野潛伏者》開發歷程:網易如何在泛濫的FPS遊戲中做差異化遊戲
- 揭祕.NET Core剪裁器背後的技術
- 從“三劍”到《永劫無間》,武俠遊戲會是國產3A遊戲最終突破點嗎?遊戲
- 網易自研競技手遊雙生子同期開測,除了永劫無間還有它
- 對話式互動技術原理及流程揭祕
- 從搭建到優化,《永劫無間》如何做遊戲動作與運動系統優化遊戲
- 15人歷時3個月打造,全球首位數字航天員誕生歷程揭祕!
- 使用 Unity遊戲引擎打造的主機遊戲大放異彩,《鬼谷八荒》《永劫無間》紛紛入榜!Unity遊戲引擎
- php陣列原理遍歷原理揭祕PHP陣列
- epic永劫無間賬號異常怎麼解決 epic永劫無間無法登陸異常10怎麼回事
- 揭祕有狀態服務上 Kubernetes 的核心技術
- OPPO雲資料庫訪問服務技術揭祕資料庫
- Linux I/O 原理和 Zero-copy 技術全面揭祕Linux
- 揭開DRF序列化技術的神祕面紗
- java命令的本質邏輯揭祕Java
- 美萊:整形大資料揭祕中國人“顏值進化”歷程大資料
- 遊戲技術遊戲
- 技能系統與遊戲歷程遊戲
- 《永劫無間》:聚窟洲不相信武德
- 永劫無間手遊公測定檔7月25日!開啟動作競技新篇章
- 《永劫無間》手遊版號到手,首測定檔4月1日!
- 揭祕電子遊戲背後音效製作的故事遊戲
- 揭祕宜信財富年度賬單的技術實現
- 凹凸技術揭祕 · 基礎服務體系 · 構築服務端技術中樞服務端
- 區塊鏈遊戲:無關技術,只要好玩區塊鏈遊戲