祖龍新3D乙遊又有了新動靜

來源: 更新:

10月22日,虛幻引擎開發者技術交流大會(Unreal Fest Shanghai 2026)在上海開啓。首日議程中,祖龍娛樂3D乙遊新作《代號:神不言》兩次“出場”,除了新曝光的實機技術演示PV,祖龍首席藝術家劉冰分享了遊戲角色開發實踐,女媧實驗室技術負責人Qian Shen則分享了《代號:神不言》的移動端渲染的光影設計思路。



《代號:神不言》自2026年4月首曝起就收穫了大量關注,其PV和實機技術演示在B站播放量早已超過1000萬;英文版本在海外平臺油管(YouTube)同樣收穫了千萬播放;如今,遊戲全球預約人數更突破了700萬。


從《龍族幻想》《以閃亮之名》到《代號:神不言》,十餘年間祖龍完成了從UE4到UE5的技術迭代,如今這份積累正被重投到女性向賽道。《代號:神不言》背後的VVANNA事業部,就是今年2月由工作室升級而來,並專門成立了引擎技術攻堅團隊“女媧實驗室”。


如今,祖龍在技術探索上又有了新的命題:真實不是終點,當寫實成爲技術底座之後,風格化還能做到哪一步?在兩場分享中,祖龍給出了一些回答。


以下爲兩場分享實錄:



超越寫實:基於 MetaHuman 的美型風格化角色探索


大家好,我是劉冰,來自祖龍娛樂。在遊戲角色的設計與製作中,我們一直在探索一個問題:在你身邊的他,應該是怎樣的。今天我想用《代號:神不言》這個項目的分享,介紹我們對美型風格化角色的探索。我們基於MetaHuman的高質量數字人框架,探索出了一套美型風格化角色的實現方案。接下來我會從幾個層面,分享我們在角色上的技術實踐。首先請看最新的遊戲實機演示畫面。



我們想做的,不是超寫實,而是可信的美型風格化。MetaHuman 的技術底座爲我們提供了可信的基礎:高質量的技術面部結構與拓撲、成熟的 Fiz[Figure] Rig 優化生態、標準化且可擴展的角色生產框架,爲可信的動態表現打下了技術基礎。同時,我們希望構建一個真實感與審美相結合、符合美型比例的角色,弱化寫實掃描帶來的“掃描感”,建立大美型的寫實向行動化表達,讓角色擁有足以讓用戶相信的情緒與生命力。



我們要改變角色外觀,同時保留 MetaHuman 的整套動畫體系,兼顧靜態美型與動態自然,讓同一技術框架可以支持不同的角色風格,讓風格化角色在運動中依然成立。


如前面視頻所示,默認的 MetaHuman 框架與我們的目標角色設計之間存在衝突。



第一是比例重構。真實的結構並不是每一幅美型畫面的終點,角色其實只是起點,而不是答案。第二是表情的取捨。肌肉和褶皺越真實,不一定越符合角色的審美;有些結構我們需要主動弱化,比如角色法令紋的處理。


第三是動態效果的檢驗。足夠漂亮,不代表在對白和大動作中依然成立。角色的美,要經得住整個運動過程的檢驗。我們的目標,是讓用戶感受到“在你身邊的他,就應該是這個樣子”。



基於現有框架,《代號:神不言》做了四個層面的擴展:造型重構、表情重構、渲染重構,以及基於 RBF 驅動的服裝聯動。


第一層,造型重構。我們改變面部基礎,包括分化面部比例、五官重新塑形、調整眼球與眼瞼的關係、嘴脣與口腔結構。


第二層,表情重構。爲第二套表現形態形成自己角色SR Layer;比如我們對MetaHuman的三百五十一個表情節點做了定製化處理,針對寫實結構加以削弱,讓角色更加美型,同時保留角色特點。


第三層,細節渲染。有些真實細節我們主動增加,有些反而主動削弱。物理正確是基礎,藝術選擇決定最終風格。


第四層,RBF 驅動。我們增強動態效果,讓角色在運動過程中,隨着關節彎曲,袖口和褲腳可以使用自動提拉的貼合效果。



基於 MetaHuman 框架,這套方案爲這款產品提供了強大助力。今天我們還帶來了另一段開放的實機演示畫面,實現效果可以同時在 PC 和移動端穩定運行,大家請看大屏。


(演示後)《代號:神不言》需要做的,就是在這個基礎上繼續探索寫實與美型風格化之間更大的空間。以上就是我今天的全部分享,期待和大家繼續交流,謝謝各位。



劉冰分享了《代號:神不言》的角色美型風格化方向,爲了做到這樣表達,就需要在光影上“下功夫”。而《代號:神不言》大量特寫鏡頭與影視化打光,對移動端渲染提出了苛刻的要求。怎麼讓光影參與敘事,又能在手機上穩定跑起來?下半場,女媧實驗室技術負責人 Qian Shen 從渲染管線的角度進行分享。


《代號:神不言》的移動端渲染的光影設計


先簡單介紹這款作品和我們上一款作品《以閃亮之名》的異同。這款新遊戲的渲染管線設計,是圍繞自身產品特性定製的。和《以閃亮之名》相同的是,本作同樣擁有精細複雜的角色資源,角色渲染效果也是管線重點。二者的區別在於,《代號:神不言》加入大量影視化打光設計,對光影品質要求更高;同時遊戲存在大量特寫鏡頭,因此需要把細節打磨得更好,儘可能傳遞美術設計師賦予角色的表達。



前面的視頻大家應該有所感知,每一個鏡頭,在打光的加持下,都有自己的鏡頭語言與情緒。從這兩張對比圖片也能看出打光帶來的區別。這套光影方案,已經不能依靠傳統方向光搭配 IBL 貼圖的思路實現。爲滿足前面提到的需求,我們採用目前行業主流的延遲渲染管線。因爲需要採用 GBuffer 完成各類計算,所以放棄了 one pass(單通道) 流程。


基本上是在 Base Pass 之後,依次處理各類渲染特性,再執行被打斷的光照步驟。爲了在材質表現上更進一步,我們選用 Substrate 材質系統,主要用於角色各類服裝的表現。Substrate 原生面向 PC 平臺開發,移植到移動端時,一方面需要做定製化改造;另一方面,如果採用 TensorRay風格的 Substrate,也就是通過樹形結構混合多層 slab,性能開銷會過高。



不管是存儲還是解析,都會帶來難以承擔的開銷。所以我們這邊控制爲 one closure,放棄樹形結構。移動端的改動目標,是保證各個獨立渲染特性和 PC 效果保持一致,例如布料、各向異性、多種版本的 3S,或是半透明混合方式等。我們也根據設計師的需求,開發了定製化特性,滿足服裝表現需求。另外,各類特殊特性僅作用於角色相關資源;場景依舊保留傳統 PBR 方案,以此提升性能。


現在聊一下部分材質的處理方式。首先是皮膚材質。對於皮膚,尤其是這種偏寫實的遊戲,3S 是必不可少的一環。《以閃亮之名》已經使用 screen space 3S(屏幕空間次表面散射),《代號:神不言》也將繼續沿用。《以閃亮之名》中的 3S 方案,會在 Base Pass 之前預渲染需要開啓 3S 的模型,這個 Pass 只計算 diffuse 相關光照,之後做濾波,最後在 Base Pass 渲染 3S 物體時,直接疊加濾波完成的光照結果。


對於《代號:神不言》,因爲採用延遲渲染,我們使用和 PC 一致的流程:在光照 Pass 之後,類似後處理的方式對光照做濾波,再合併 specular。這裏選用傳統 separable CS(可分離卷積),沒有使用開銷更高的 body CS(體積卷積) 方案。雖然把 3S 放在光照 Pass 之後會打斷渲染通道,無法和後續半透明流程串聯,存在一定侷限,但如果前置執行,也不會帶來明顯收益,同樣需要做光照結果還原,而且皮膚這類開啓 3S 的模型,還會額外增加一層繪製。



我們也藉助這個通道拆分的時機,在此處統一處理其他內容,例如整體調整光照參數、處理需要前置預處理的內容。另外,對比原版 PC 管線,這裏做了取捨。PC 管線會記錄亮度比值區分 diffuse(漫反射) 和 specular(高光),濾波階段只針對 diffuse 部分處理。如果畫面只有 specular,這套方案影響可控。但是本作皮膚、眼睛都支持自發光效果,沿用原有方案處理,渲染結果會出現偏差。左側截圖是舊方案效果,可以看到自發光紋飾部分,和右側設計師定稿的目標顏色存在偏差。正好光照階段是獨立Pass,不存在 GBuffer 存儲壓力,所以我們直接將 diffuse 信息單獨拆分,佔用一組 RGB 通道,保證渲染結果準確。


然後是皮膚上的水漬效果,我們也做了專項處理。


水珠或者水痕本身具備體積屬性,法線和底層皮膚並不一致。如果不考慮法線差異,效果會失真;但直接用水珠法線覆蓋皮膚法線,又會破壞皮膚本身質感,如左圖所示,看起來不像是附着水痕,更像是皮膚本身發生凸起。我們採用雙法線方案:水漬與皮膚分別計算各自的 PBR、漫反射結果,再做混合疊加,效果更加自然。同時,配套 Mask 貼圖標記水漬的位置與強度信息,方便美術和動畫師實時調控。



眼睛也是一個重點模塊,我們看一下對應的效果拆解。首先是虹膜的 diffuse,其次是虹膜焦散。這裏沒有使用冪函數生成高光,而是採用更貼近物理的焦散模擬,還原虹膜聚光效果;角膜高光使用傳統 GGX。之後疊加 3S,讓眼球質感更溫潤,避免乾澀生硬;最後對眼睛和周邊皮膚做模糊處理,銜接更加自然。



下面聊一下光照與着色模塊。本作材質複雜度較高,支持多種特性互相組合,例如各向異性疊加閃點、再疊加 3S 等,着色開銷壓力較大。一方面是 GBuffer 容量緊張,多種特性疊加時,默認三張 GBuffer 無法滿足需求。管線選型上有幾種方案:全延遲、全前向,或是複雜材質走前向渲染、普通材質走延遲渲染的混合方案。我們目前採用 DEF-before 方案,擴充兩張 GBuffer,同時對部分複雜特性做編碼壓縮,儘可能控制 GBuffer 的佔用與大小。


實測發現,移動端相比傳統 PBR 管線新增了大量計算,如果直接沿用 PC 的 Uber Shader 方案,性能無法承受,寄存器佔用超標,嚴重影響 GPU 並行性,必須拆分 Shader。前向渲染的 Shader 拆分相對簡單,CPU 側可以提前獲知材質組合,直接綁定對應 Shader。延遲渲染可以使用模板標記或者分 Tile 的方式拆分不同 Shader。



我們選擇 Tile 拆分方案,如圖所示,綠色、粉色以及其他顏色,代表不同 Shader 分支。圖中綠色標記爲帶閃點特性的材質;如果材質對應區域閃點強度爲 0,該 Tile 就可以選用簡化着色器,跳過閃點計算。當然,該方案需要和設計師溝通材質組合規則,不能無限制隨意疊加特性,需要平衡效果與性能。



光照本身的選型上,燈光數量較少時,Probe Light Volume 會比較合適;燈光數量較多時,Light Volume 開銷會隨材質組合、燈光數量快速上漲,同時每個着色器起始都要讀取 GBuffer,開銷偏高。所以燈光數量較多的場景,更適合選用 Cluster 光照方案。


接下來聊陰影相關內容。首先是本地光源陰影。本作採用影視化打光思路,同屏光源數量較多,對應的陰影數量也隨之增加。原則上有光即有影,爲保障畫面表現,主光源的陰影儘量保留,這對移動端壓力很高。遊戲絕大部分場景是靜態場景,理論上可以把陰影烘焙到光照貼圖,但存在幾個問題:動態角色無法接收烘焙陰影;同時光照貼圖受壓縮影響,容易出現通道串色、精度不足等問題。因此最終選擇全 Shadow Map 路線:靜態物體預緩存,動態物體單獨渲染陰影,再做疊加。


還有一點需要注意,使用 Shadow Map 時,我們會提前生成屏幕空間陰影或者陰影掩碼,在光照階段直接複用結果。目的同樣是避免超大複雜着色器,提升 GPU 利用率。最後需要控制陰影數量,同一個像素上疊加過多陰影,視覺收益很低,很難分辨。


我們限制每個 Tile 最多保存 4 組有效陰影,思路類似 Tile Lighting,每個 Tile 維護自身有效的陰影掩碼。屏幕整體可以同時存在超過 4 個陰影,給設計師打光留出更高自由度。當然,該方案需要和設計師共同約定製作規範,並配套相關檢查工具。Light Map 是另外一條可選路線,這裏不展開。


下面說一下點光源陰影。遊戲內大部分點光源需求都會改用聚光燈實現,性能優於原生點光源。如果必須使用點光源,也可以考慮用兩盞聚光燈拼接模擬。但確實存在無法規避點光源的場景,這種情況下,我們使用四面體陰影貼圖替代傳統立方貼圖。這套方案開銷更低,效果也優於雙拋物面陰影。如圖所示,四面體陰影貼圖最終合併到一張 2D 紋理上,後續 Tile 處理也比方貼圖更友好。



然後說一下陰影精度問題,對於特寫較多的遊戲,這點非常關鍵,角色身上首飾等細小部件很容易出現漏光,拉低畫面質感。根源在於玩家相機和光源視錐不一致,陰影精度總會存在問題,不存在完美的解決辦法。我們首先測試了各類偏移方案,包括常量偏移、斜率偏移、法線偏移等,在不同場景下都能改善漏光問題,但都不是萬能的,效果會在漏光和陰影痤瘡之間取捨。還有接收面深度偏移這類算法,效果雖然不錯,但開銷偏高。所以偏移手段需要配合足夠分辨率的陰影貼圖兜底。



但貼圖尺寸也不能無限制增加。最穩妥的思路,是儘可能利用有限的 Shadow Map 資源,把陰影貼圖的像素儘量分配給畫面內真正需要陰影的區域,必要時犧牲畫面邊角的陰影,提升主體精度。以聚光燈舉例:聚光燈張角範圍可能覆蓋角色全身,但鏡頭只給到手部特寫。按標準流程渲染整個燈光範圍,分配給手部的陰影像素佔比很低,特寫鏡頭極易漏光。這時就把聚光燈陰影範圍裁剪收縮到手部區域,角色其他不可見部分不再佔用陰影貼圖資源。


下面介紹方向光陰影,也就是太陽光的處理。


本作包含城市場景,支持時間流轉,方向光陰影實現難度較高。陰影按距離分爲兩段。近處陰影使用傳統 CSM,支持晝夜變化、動態物體。角色精度不足時,可以疊加 Percentage Closer Soft Shadow 提升效果。同時做多重剔除降低開銷,除了標準視錐剔除,額外增加陰影投射物剔除:如果一個投射物產生的所有陰影,在玩家視錐內完全不可見,就不再渲染它的陰影。該策略在高樓密集的城市場景收益明顯,前方建築遮擋時,後方大量投射物可以直接渲染。還有一類剔除策略適合遠景山地:日出日落低角度光照時,如果山體完全遮擋太陽,可以直接關閉方向光,沒有必要繼續執行後續光照計算。



中距離陰影需要考慮緩存與分幀,但是時間變化、相機自由轉動,常規緩存很難穩定生效。我們採用基於 Tile 的緩存方案,基本原理是將場景分塊。每一塊維護獨立陰影貼圖,每一幀只更新其中一部分 Tile,分幀分攤開銷。鏡頭離開某塊區域後,緩存結果保留,旋轉回該區域時不需要重新渲染。緩存會在物體加載卸載、LOD 切換時失效,失效後不強制立刻刷新,會按照優先級權重排序,判斷哪個 Tile 優先更新。這套方案用於處理中距離陰影,動態物體不納入緩存。



方向光持續轉動會造成陰影變化,無法簡單緩存。這套方案利用方向光角度變化緩慢的特點,整套緩存系統預存多個角度的陰影貼圖,每一次只旋轉 1°~2°,提前預渲染下一角度陰影,預留十餘秒緩衝時間。時間切換之後,直接調用已經緩存好的 Shadow Map,避免玩家看到陰影跳變。當然這一切的前提是時間變化速率可控,否則來不及緩存,切換瞬間,需要將兩個時段的陰影做混合過渡。



最後聊下 GI 和反射。首先是 GI。GI 部分,爲保證角色渲染品質,間接光照是重點,影視化打光、特寫鏡頭都高度依賴 GI,這也是移動端和 PC 寫實渲染差距最大的模塊之一。我們希望實現高質量 AO,陰影內部也保有細膩的反彈光變化。同時也是爲了拉近移動端和 PC 的效果差距,如圖中展示的角色下巴光線反彈,這部分效果非常關鍵。



爲對齊 PC 效果,移動端接入 Lumen。原生 Lumen 開銷過高,無法直接全量運行,必須做定製修改。光照更新方面,大部分場景、燈光爲靜態,可以提前預計算輻照度信息,運行期直接讀取。我們希望角色擁有高質量 GI 效果,所以優先選用高質量 Final Gather,也就是 Screen Probe Together 框架,而非 Uniform Field。Screen Probe Together 整體框架不變,在屏幕空間撒佈探針,每個探針分配射線收集輻照度。射線追蹤保留 SNGI 和預烘焙輻照度作爲遠景兜底,捨棄中距離 SDF 追蹤。



整套開銷依舊很高,因此僅角色啓用這套高質量 GI;場景沿用傳統光照貼圖、Probe 方案處理。角色和場景銜接如果出現斷層,可以用 Contact Shadow 補充修復。在引擎內,燈光師按鏡頭單獨布光,因此需要保存多套光照數據。我們看一下對應的效果對比,左側是舊的 Probe 方案,右側是新的 Screen Probe GI 方案。在手臂和扶手的銜接處,可以看到 GI 和 AO 讓過渡更加自然,手臂能夠更好地融入環境。再看一組對比圖,左側還是原有方案,右側是新方案,身體上的光線可以反彈到脖頸,提亮效果更加自然。



同時衣領處的 AO 遮蔽效果也更加明顯。最後我們討論反射相關內容。本作是現代都市背景,寫實渲染下反射效果很突出,也十分關鍵。相比古風、曠野這類以石頭土地爲主的場景,都市場景存在大量光澤表面,例如金屬、漆面等;地面、立面這類大平面的反射瑕疵,肉眼極易識別。



某種意義上來說,優化反射,更多是爲了解決反射漏光問題,這類錯誤觀感非常刺眼。即使依託高密度 GI 信息校正反射球,依舊無法完全根除。整體流程和 UE 原生反射一致:優先屏幕空間反射追蹤,追蹤失敗後走世界空間追蹤。我們在世界空間追蹤使用硬件光錐,結果準確,效果表現更好。


移動端硬件光錐性能有限,不能無限制使用。這裏主要藉助光錐完成反射球的正確採樣;追蹤命中失敗後,再對交點重新計算光照,這部分後面細說。我們處理的是光澤表面反射,不是理想鏡面,所以光錐拿到結果之後還需要降噪。


光錐主體採用預烘焙方案,圖中紫色是場景表面,藍色爲主相機與反射光線。超出 SSR 範圍後,常規做法直接按反射方向採樣反射球,結果錯誤;藉助光錐得到命中點位置,用命中點減去反射球位置,得到正確採樣方向。該方式只採樣預烘焙立方貼圖,不需要實時計算輻照度,性能友好。我們同時通過內聯追蹤、簡化 BVH 進一步降低光錐開銷。精細細節大多會被 SSR 覆蓋,簡化 BVH 帶來的差異很難察覺。


這套方案存在失效場景:動態物體無法預烘焙;反射球擺放位置受限,如果反射射線和反射球之間存在遮擋,採樣得到的是遮擋物信息,結果錯誤。這類場景下,在光錐命中位置實時計算光照。爲控制性能,光照計算階段貼圖採樣、着色邏輯都做簡化;非鏡面光澤反射,輕微瑕疵可以接受。



下面看對應的效果展示。如圖所示,藍色區域代表 SSR 成功;綠色區域爲 SSR 失效,用光錐輔助採樣反射球;紅色區域是前述方案全部失效,需要實時計算輻照度。這張圖是場景完全使用立方貼圖採樣的效果,存在明顯漏光,可以看到琴鍵和立面銜接位置有漏光。疊加 SSR 之後漏光減少,但 SSR 失效區域依舊存在瑕疵。再接上光錐校正反射球,主體效果基本正確。最後補充反射球遮擋區域的實時光照兜底,修復量取決於反射球擺放位置和鏡頭視角。



以上就是本次分享的全部內容,期待後續有機會和大家繼續交流。

相關推薦
請使用下列任何一種瀏覽器瀏覽以達至最佳的用戶體驗:Google Chrome、Mozilla Firefox、Microsoft Edge 或 Safari。為避免使用網頁時發生問題,請確保你的網頁瀏覽器已更新至最新版本。
Scroll to Top