欧美日韩精品国产,欧美aⅴ99久久黑人专区,亚洲综合久久久久,中文字幕一区二区三区精彩视频

我的訂單|我的收藏|我的商城|幫助中心|返回首頁
搜維爾科技[m.gentlemenlisten.com]>服務(wù)>案例分享 應用研究>案例分享>游戲動畫

“最原汁原味的”《斗羅大陸》3D手游都用到了哪些 Unity 技術(shù)?

文章來源: 作者:frank 發(fā)布時間:2021年07月28日 點擊數(shù): 字號:

“最原汁原味的”《斗羅大陸》3D手游都用到了哪些 Unity 技術(shù)?

在游戲領(lǐng)域,目前市場上已有多款《斗羅大陸》改編的手游,但質(zhì)量卻參差不齊。據(jù)行業(yè)媒體游戲智庫評測,這款游戲可能是截至目前最原汁原味的一款“《斗羅大陸》3D 手游”。

在本文中《斗羅大陸:魂師對決》的主創(chuàng)團隊,將從技術(shù)的角度來談一談,如何復刻出最原汁原味的「斗羅大陸」!

三年前,三七游戲便確立了「精品化、多元化」的研發(fā)戰(zhàn)略。負責《斗羅大陸:魂師對決》的研發(fā)工作是公司負責精品化游戲研發(fā)的團隊,團隊上下共約 200 人。每個人在團隊中都發(fā)揮著重要的作用,并且往往出現(xiàn)只為尋找解決問題的最佳方法,而不管團隊成員的什么職位什么資歷的情況。真正做到了團隊上下一心,團隊的最高宗旨就是做出更好的游戲。團隊同學不少都是資深「斗羅迷」,對于斗羅世界的一切可謂了如指掌。

《斗羅大陸》是一個非常知名的 IP,有非常多的以此 IP 為基礎(chǔ)影視作品及游戲產(chǎn)品。制作這類具有龐大粉絲群體的 IP 產(chǎn)品,會需要注意哪些細節(jié)呢?

系統(tǒng)

游戲的系統(tǒng)需要基于 IP 的設(shè)定,拿養(yǎng)成系統(tǒng)來說,三七游戲采用了 IP 本身最核心的升級、突破、魂環(huán)、魂骨系統(tǒng),拿戰(zhàn)斗系統(tǒng)來說,游戲支持上陣 8 個卡牌,因為無七怪,不斗羅,他們必須得可以同時上陣,此外,戰(zhàn)斗中消耗魂力使用魂技,各個角色的魂技都和原著有所對應。

玩法

在斗羅大陸這個?IP 中,最重要的玩法就是狩獵魂獸,獲取魂環(huán)魂骨,因此這也是游戲貫穿始終的核心玩法,同時游戲制作團隊為了加強玩家獲取魂環(huán)時的感受,在玩家戰(zhàn)斗勝利后會播放一段魂獸死亡倒地,魂環(huán)從其身體往上飄的動畫展示,讓斗羅 IP 的玩家一看就知道,這感覺對了。

劇情

IP 類產(chǎn)品最重要也是最基礎(chǔ)的一個點,就是劇情的還原,為了讓玩家更好地體驗我們的劇情,團隊設(shè)定了玩家重走唐三的斗羅之路,從初見小舞到和其他史萊克的怪物互相扶持,一步一步直至成神,讓玩家能夠有一個最自然的體驗劇情視角。

場景和人物

在游戲的場景和人物方面要做到「跟動漫一模一樣」。而其中游戲場景包括渲染風格、標志性建筑、光影變化等;人物包括模型、動作、技能、特效、臺詞、配音等都必須忠于 IP,而且要抓重點。比如斗羅中有多個經(jīng)典場景,如:花海的夢幻櫻花,武魂殿的恢弘磅礴,嘉陵關(guān)的黃沙漫漫。決定了團隊一定要強化場景中的 GI 效果和天氣效果,要表現(xiàn)足夠豐富的光影變幻。斗羅動漫中也有著豐富的特寫鏡頭,趙無極的古銅色皮膚,朱竹清細膩的皮膚,長大后唯美的小舞都給動漫迷留下了深刻印象。在游戲的角色設(shè)計中會參考斗羅動漫的設(shè)計,很多斗羅迷也是動漫迷,玩家會不自覺地拿游戲的人物和動漫的進行比較。而這一特點也指引了游戲制作的技術(shù)方向。

“沒有思路就沒有出路”。斗羅世界擁有復雜而華麗的技能表現(xiàn),傳統(tǒng)的技能制作方式效率上沒有出路。因此團隊開發(fā)了全新的技能編輯器。通過用 timeline 和 cinecamera 的組合,他們解決了所見即所得的痛點,美術(shù)在技能制作過程中就可以在不同小怪或 Boss 鏡頭下查看和編輯技能從釋放到受擊的全過程。它在 UI 交互方面做到了標準化、統(tǒng)一化,簡單化。

技能編輯器不僅支持常規(guī)的動作動畫控制,更可以控制大招場景的過渡、后處理的變換、多對象交互。美術(shù)能用簡單的操作實現(xiàn)如武魂融合等協(xié)同表演、模塊化特效元素、場景光影更替等天馬行空的設(shè)計。

一款「好用」的編輯器看起來要足夠簡單,是 TA、美術(shù)、技術(shù)深度合作的產(chǎn)物,他既要能發(fā)揮各個部門最擅長的部分,又要能提高效率,還要滿足技術(shù)指標。

美術(shù)喜歡使用更直接的交互:編輯單個預設(shè)、單個場景或者一段零散的表演。比如場景更換元素,美術(shù)編輯好大招場景。TA 處理好場景間光照環(huán)境變化、氣候變化、后處理過度變化等。編輯器也支持復制、撤銷、多目標預覽等操作提高產(chǎn)出效率。技術(shù)則需要改進 TimeLine 源碼。Editor 側(cè)需要支持 WWISE 音頻資源、預設(shè)事件的拖拽、點擊元素等自定義交互事件,Runtime 則需要打通資源加載底層。

團隊對美術(shù)在技能中使用到的預設(shè)、場景、后處理等資源引用關(guān)系做了運行時自動拆分,這樣技能釋放時加載量能控制在 10KB 以下,也方便查看所有資源的依賴關(guān)系和定制緩存策略,同時可以保證運行時和編輯環(huán)境完全一致。而這些都不會影響到美術(shù)的制作。還有很重要的一點,技能播放過程中編輯器需要幫助美術(shù)統(tǒng)計 Overdraw,方便自查資源負載情況。

場景編輯器是所有項目中不可或缺的,它是項目成敗的關(guān)鍵一環(huán)。「魂師對決」中的場景編輯器設(shè)計理念是強大、包容。而場景編輯器隨著項目的成熟已經(jīng)發(fā)展成了一個獨立完整的插件——場景制作平臺。強大指它要包含場景制作人員涉及到的所有工序,包容指它要能能容納更多有創(chuàng)意的創(chuàng)新工具。

「魂師對決」的場景全部采用基于物理的光照模型,場景優(yōu)化工作是重中之重。比如場景中的不透明物件如果產(chǎn)生 overdraw,其嚴重程度遠遠高于特效,會造成毀滅性的災難。

為了充分利用移動端的 early-z,制作團隊對場景中所有的材質(zhì)隊列有嚴格的規(guī)劃,并且在相同的渲染隊列區(qū)間根據(jù)不同變體錯開排列。通過對所有的背景物件采用 gpuinstance 的方式繪制,對可行走區(qū)域一定距離的物件他們會關(guān)閉陰影相關(guān)變體,關(guān)閉 lightprobe、reflectionprobe。并合并多余的反射探針、對場景特效關(guān)閉間接光、陰影的接收。對樹葉采用自定義透光機制,關(guān)閉反射探針等。而這些優(yōu)化措施完全不需要美術(shù)部門的介入,只需一鍵優(yōu)化提交即可。

Unity 的地形刷工具已經(jīng)很強大了。但是手機游戲總會有他的限制。為了更好的適配多種機型,團隊重寫了 Unity 的地表刷系統(tǒng)。場景工作平臺的地表刷功能繼承了 Unity 的一筆多刷(刷顏色、刷濕度、刷明暗)功能方便美術(shù)使用。

另外團隊在美術(shù)保存時增加了末位剔除功能。也就是會在美術(shù)使用的 16 張 Texture Array 中選取前 4 個占比最高的貼圖。保證每個像素最多采樣四次。大部分低端設(shè)備上最多只支持 4 張貼圖采樣,因此在重新編寫的地標刷系統(tǒng)中團隊還加入了貼圖交換功能。美術(shù)刷完地圖后可以把占比較高的貼圖交換到前面。這樣就能最大程度保證市面上所有機型的效果。

基于物理的渲染大家這兩年都很熟悉了,使用 PBR 光照模型能制作出非常寫實的效果。而「魂師對決」則有所不同。場景工作平臺需要支持所有的風格化參數(shù)的調(diào)整。從基礎(chǔ)功能來說,包含高光、反射、霧效、風格化天空盒、透光、樹葉、主角光源等一系列參數(shù)。進一步來講,它形成了晝夜變化、天氣變化兩個獨立的模塊。場景工作平臺的晝夜變化和天氣變化的目標就是用最小的代價做到實時 GI 的表現(xiàn)。

對于游戲中的尋路網(wǎng)格想必大家也有多種方案。場景工作平臺在尋路網(wǎng)格的創(chuàng)建上有所突破。因此可以自動調(diào)整到和合適視角拍攝俯視圖,根據(jù) tag 生成一張圖片。美術(shù)在 ps 中調(diào)整圖片,就可以導出尋路網(wǎng)格了。根據(jù)俯視圖生成的 mesh 團隊采用了基于 GEM 的漸進式網(wǎng)格優(yōu)化方法。可以自動生成足夠簡化的尋路網(wǎng)格。同時也降低了服務(wù)器尋路的壓力。

場景制作平臺提供了拍照工具,比如美術(shù)覺得一棵樹好看,可以對樹使用拍照功能。遠景復雜的樹木就變成了一顆難辨真假的面片。拍照功能支持單角度,多角度,自定義 mesh 烘焙等模式,應對各種復雜的遠景表現(xiàn)。

眾所周知在移動設(shè)備上 compute shader 的支持一般,但是在 PC 上卻能大放異彩。每個團隊一定都會為大量的重復、相似、屯余、大透明范圍的貼圖頭疼。在很多人的想象中「魂師對決」這種大型項目的資源管理一定很復雜。實際上卻很輕松。

團隊為美術(shù)定制了專屬資源優(yōu)化工具。它可以對所有的美術(shù)貼圖逐像素對比,然后找到完全相同的貼圖,列出相似度較高的貼圖、輸出透明占比以及屯余的貼圖。這些操作都是使用 compute shader 實現(xiàn)的。

這里以特效為例,「魂師對決」的特效有 2 萬 texture,相當于要對比 2 億次貼圖。找一臺好一點的機器,線程數(shù)全部用滿的情況下檢查全部貼圖只需要半小時就可以得到結(jié)果。對于完全相同的貼圖計算機會刪掉多余的,修改相關(guān)材質(zhì)和預設(shè)的引用然后一鍵提交。相似度高的貼圖美術(shù)會酌情處理。這樣美術(shù)完全不用關(guān)心貼圖重復的問題,也不會因貼圖放置的位置亂而頭疼了。自然而然保證了項目中資源的整潔可控。

工具永遠是為了提高生產(chǎn)力的,「魂師對決」對工具的產(chǎn)出極為重視,最終也取得了很好的結(jié)果。

在斗羅大陸中有眾多的森林場景。花草便是很重要的一環(huán)。開發(fā)團隊研究了多種做法和光照模型。現(xiàn)在比較流行的模型加頂點色做草的方式難以表達復雜的花草效果。所以團隊最終選擇了以?alpha test 的方式來做,接下來遇到的問題就是光照模型的選擇。面對大面積的草,一般只能選擇 lambert、blinnphone 這種簡單模型。但是單獨使用,無法和 PBR 的場景融合。團隊嘗試將 GGX 高光烘焙到頂點或者在頂點計算高光,效果基本達到了但是性能又滿足不了要求。最終他們采用了雙層高光方案:一層較弱的改進版 blinnphone 高光來模擬反射效果,一層透光模型來做場景融合。最終達到了預期。

晝夜系統(tǒng)是「魂師對決」的一大特色。為了在手機上做到 24 小時變換效果做出了諸多努力。先來說說霧,美術(shù)希望能在相同的場景,不同時間段能用霧表達出完全不同的氛圍。團隊對于場景統(tǒng)一使用了指數(shù)高度霧。它相對于深度霧第一個重大的優(yōu)勢就是越遠的地方霧上升的越高。這樣當玩家在比較淺的霧效區(qū)域看遠景也會有非常理想的霧效。指數(shù)高度霧第二大特點是參數(shù)好調(diào)節(jié)。密度、偏移和開始距離就能很好的表述它的特性。最后把色散融入了霧效,氛圍感就比較好了。

團隊希望在晝夜的變化中保留完整的實時光和環(huán)境光。團隊烘焙了多套 lightmap 和多套 lightprobe,這樣在不同的時間物件會有很好的光照過度。現(xiàn)在移動設(shè)備上比較好的烘焙方案是 shadowmask。而 shadowmask 這張圖剛好可以合并另一時段的 lightmap 顏色貼圖。也就是對 lightmap 的差值除了差值算法本身基本不帶來額外的消耗,這樣所有配置的機器都能有良好的性能表現(xiàn)。不過想要完美使用多套間接光過度,還是要對 Unity 源碼進行修改才可以。

Unity 的烘焙器對相同的物體的 uv2 在 lightmap 中的排布是隨機的。這會導致不同時間段的表現(xiàn)異常。通過修改烘焙器源碼,對相同物件在烘焙時 uv2 在 lightmap 中的排布有完全一致的排序規(guī)則。在使用 lightprobe 差值的時候會發(fā)現(xiàn)無論是采集兩套 lightprobe 還是 SphericalHarmonicsL2 的差值都會造成巨大的消耗。團隊將 lightprobe 的計算全部挪到了 C++ 層,實測下來 CPU 時間可以降低到 1/20。

斗羅大陸的場景環(huán)境極為多變,宏大的場景中難免會有大面積的陰影區(qū)域。引擎中陰影區(qū)域的光照主要來自于環(huán)境光。太寫實的環(huán)境光并不適合我們。斗羅最終采用了 directinal 的烘焙方式。為了在間接光中產(chǎn)生真實的光照表現(xiàn),通過參考 2018 GDC 上寒霜引擎的 GI 數(shù)據(jù)存儲方式。團隊用 LightProbe 球偕的方向代替 4 個映射的方向與 Unity Directional 貼圖方向加權(quán)平均再計算 GGX 高光,也就時間接高光越強的地方 SH 高光占比越高。好在方向圖不需要很高的精度,我們把多張方向圖放在了同一張貼圖中。玩家也會受到 SH 高光的影響。

有了這些,基本的晝夜效果已經(jīng)很豐富了。后面的云、星星、銀河、月亮等順其自然也成了必需品。基于物理的天空盒在太陽靠近地平線時會有很好的容積光效果,但是光譜計算對于美術(shù)理解不是很友好,通過在天空流明度的計算中加入了顏色參數(shù)的方法方便美術(shù)調(diào)整不同時間的風格化表現(xiàn)。移動端的晝夜做起來實屬不易,美術(shù)為每個場景制作了 7 個不同時間段的表現(xiàn)才有了現(xiàn)在能在游戲中看到的晝夜變換。

天氣系統(tǒng)是另一個較為龐大的系統(tǒng)。得益于晝夜系統(tǒng)對 GI 的熟練控制,不同天氣的環(huán)境氛圍在斗羅中很容易被表達出來。重點反而在獨特天氣的表現(xiàn),比如雨水、風場等。在雨天的制作中團隊在 hudini 中下了一場大雨,記錄下地表的水紋表現(xiàn)。通過對比多種下雨效果發(fā)現(xiàn)橫向的雨水流動能非常好的描述真實的下雨場景,導出雨點和水平方向的法線在游戲中可以實現(xiàn)逼真的下雨效果。

「魂師對決」的皮膚渲染模擬了表皮層和真皮層。實現(xiàn)了可分離的次表面散射效果。真皮層負責對次表面散射的實現(xiàn),表皮層主要參考了 HDRP 中皮膚的實現(xiàn),負責對散射后的光線進行模糊處理。皮膚的卷積計算并不適合在手機上使用。我們在 HDRP 中調(diào)整卷積核,找到最適合斗羅大陸的參數(shù)應用到項目中。

為了解決斗羅世界皮膚差異巨大的問題,團隊把屏幕空間的運算改良到了 Command Buffer 中,這樣每個角色都能有不同的散射效果。配合皮膚表現(xiàn)根據(jù)美術(shù)的骨骼結(jié)構(gòu)自研了頭部骨骼的 IK 解算。無論美術(shù)給角色凹了什么造型,都可以正確解算頭部、頸部、眼睛、肩膀、腰部等骨骼,表現(xiàn)自然的注視效果。體積云、體積光、水面都可以提升場景氛圍,在繪制水時團隊使用了 Ray-Matching 技術(shù)。Ray-Matching效果固然好,不過求交計算會帶來 10ms ?以上的 GPU 耗時。想要有比較好的性能表現(xiàn),只能采用指數(shù)步進法,求交時間可以控制到 3ms 以下。

游戲畫質(zhì)的提升,隨之而來的的確是對性能的考驗。團隊把性能優(yōu)化始終放在最高的位置。一款重 GPU 的游戲指令和變體的優(yōu)化非常重要。之前提到過魂師對決的場景、模型都是用的基于物理的渲染,除此之外特效也有多種多樣的表現(xiàn)。

一般優(yōu)化 shader 的步驟是對變體進行變量歸屬和精度修正,然后剔除變體相關(guān)的計算,再根據(jù)手機 GPU 架構(gòu)優(yōu)化 cycles 數(shù)量。團隊實現(xiàn)了全自動的指令優(yōu)化工具。拿樹葉舉例,全屏是樹葉的情況下,渲染耗時能降低 50%。特效使用這套工具也可以減少所有美術(shù)沒有用到的采樣器和對應的計算指令,全部特效跑完指令優(yōu)化工具后 CPU 溫度降低了 2-4 度。耗電量同時大幅下降。

回合制游戲的另一大優(yōu)化痛點是切換地圖。團隊把場景資源分割成了物件、植被、貼圖、劇情、特效、地表幾大塊。在開發(fā)階段測試時他們會持續(xù)統(tǒng)計所有資源的加載順序、卸載時機。根據(jù)玩家當前的設(shè)備、等級、養(yǎng)成和位置決定加載和緩存策略。最終大部分情況可以做到 1s 切圖的效果。

電話:010-50951355 傳真:010-50951352  郵箱:sales@m.gentlemenlisten.com ;點擊查看區(qū)域負責人電話
手機:13811546370 / 13720091697 / 13720096040 / 13811548270 / 13811981522 / 18600440988 /13810279720 /13581546145

  • 暫無資料
  • 暫無資料
  • 暫無資料
  • 暫無資料
  • 暫無資料
主站蜘蛛池模板: 林西县| 大方县| 宜川县| 鄂托克前旗| 湘乡市| 西畴县| 西乡县| 北宁市| 瓦房店市| 柘城县| 邯郸县| 永昌县| 白水县| 茌平县| 景泰县| 九龙城区| 乐山市| 深州市| 宁波市| 遂溪县| 沙坪坝区| 财经| 茶陵县| 济阳县| 邻水| 郑州市| 双城市| 丰台区| 化德县| 镶黄旗| 当雄县| 虎林市| 措美县| 三江| 旬阳县| 军事| 木兰县| 兴城市| 沂水县| 莒南县| 紫金县|