首次落地,淘汰傳統動捕?騰訊2800萬預約頭部產品揭祕AI+格鬥
整理/秋秋&青暉
在今天的2026GDC現場(Game Developers Conference,遊戲開發者大會),騰訊遊戲的AI負責人廖詩颺Elvis,帶來了一場關於“在3D格鬥遊戲中利用實時AI技術生成過渡動畫”的技術演講。
本次演講的落地案例,是目前騰訊魔方備受關注的漫改IP格鬥新作——《異人之下》(The Hidden Ones)。該作採用虛幻引擎開發,配合“三渲二”技術,呈現了高質量的動作視覺表現,目前遊戲全網預約量已突破2800萬。
在快節奏的格鬥遊戲中,角色動作的流暢度與打擊感是核心體驗。但海量的動作狀態切換往往會導致“滑步”或動作僵硬。
在本次分享中,演講者詳細拆解了團隊如何通過無標記動捕、輕量級神經網絡(僅6MB)以及異步引擎部署,在頭部商業遊戲中跑通了這套AI動作生成管線。
以下爲經過整理的演講實錄,內容有所刪減調整:
01
爲什麼格鬥遊戲需要AI動作生成?
大家好,我是騰訊遊戲的AI負責人廖詩颺Elvis。今天我將向大家分享,在即將推出的新作《異人之下》中,我們是如何利用實時AI技術來生成過渡動畫(transition motions),從而創造出流暢且自然的角色動作的。
簡單介紹下我的背景:我在英國伯明翰大學獲得了計算機科學博士學位,專攻大規模仿真系統;隨後在IBM Research進行百億億次超級計算機的前沿研究;之後在新加坡南洋理工大學(NTU)擔任助理教授,教授計算機圖形學、VR及遊戲開發等課程。
2020年我加入騰訊,目前擔任魔方工作室的AI負責人,同時兼任遊戲領域頂刊《IEEE Transactions on Games》的副主編。
《異人之下》是一款3D格鬥遊戲。每個角色都有獨特的技能、攻擊流派和速度,玩法極具個人特色與策略性。
通過上面的視頻可以看出,精美的畫面和動畫是這款遊戲的核心。爲了讓快節奏的戰鬥銜接更加平滑自然,團隊提出了一種全新的解決方案:利用生成式AI技術來增強角色動作的表現力。
爲什麼要這麼做呢?在格鬥遊戲中,角色需要頻繁在不同的動作狀態間切換。比如從受擊切到待機、從攻擊切到衝刺、再切到奔跑。
這其中的過渡組合數量極其龐大,我們不可能全靠動捕(Mocap),動畫師也無法手動把它們全部K幀(Keyframe)出來。因此,我們需要一種更高效的方式,實時把這些中間過渡狀態生成出來。
傳統的辦法,比如線性插值,經常會讓角色出現“滑步”(Foot sliding)。用IK(反向運動學)去強行修正落腳點,動作看起來又會很僵硬、缺乏細節。
而運動匹配(Motion Matching)等數據驅動方案也有明顯侷限:它需要一個極其龐大的動畫庫,特別喫內存;還得爲每個角色定製過渡動畫;而且泛化能力很差,遇到誇張的待機姿勢就需要大量微調。
這就是爲什麼我們要去探索生成式AI的解決方案。
AI方案,如魯棒的動作補幀、CVAE、雙階段Transformer及基於Diffusion的方法等,能很好地泛化到各種姿勢,生成流暢、自然且符合物理法則的動作。
但基於AI的方案落地到商業遊戲中,同樣面臨三大挑戰:
- 推理時間長,不適合實際遊玩;
- 內存和包體佔用大;
- 現有研究多集中於日常行爲,缺乏功夫格鬥場景的數據和案例。
爲了解決這些問題,我們的項目確立了三個維度的目標:
- 技術美術(TA)視角: 儘量減少手動調優,同時保留動畫師的視覺意圖。
- 遊戲設計師視角: 打擊時機和節奏必須準確,避免滑步和穿模。
- 客戶端工程師視角: 保持極小的包體佔用和極短的處理時間。
只有這三點同時滿足,纔算是一個完整的解決方案。
02
數據獲取與模型設計
我們的整體方案涵蓋了三個層面:
1. 數據層面: 使用無標記(Markerless)多視角視頻動捕、經過優化的捕捉工作流及數據增強技術,來處理姿勢的採集和重定向(Retargeting)。
2. 模型層面: 採用輕量級設計,設計輸入輸出特徵及損失函數(Loss design),提高動畫質量。
3. 部署層面: 解決骨骼適配、動態位移、動畫相位匹配(Phase matching)及武器穿模等問題。
據我所知,這是世界上首次將AI生成的過渡動畫,實際應用在3D格鬥遊戲的案例。
當遊戲中觸發動作過渡時,AI模型會預測過渡幀,然後我們會在引擎內開一個單獨的線程進行推理,經過後處理提升質量後,結果會直接送到遊戲引擎中進行渲染。
在數據獲取方面,傳統的動捕需要大型影棚和昂貴的設備,還要在演員身上貼滿馬克點。現在,我們在一個小房間裏,僅僅使用七臺像GoPro一樣的普通攝像頭就能達到同樣的目的。
通過姿態估計(Pose Estimation)提供關鍵點,三角測量提供3D座標,再用慣性傳感器修正脊柱的旋轉誤差。
這種低成本設置,能實現快速原型開發,非常適合原地動作捕捉,效果相當不錯,並且演員不需要穿戴任何馬克點。
在數據增強方面,我們首先做空間增強,比如沿着前方軸線做鏡像對稱。這是零成本的,並且能極大增加數據的多樣性。
由於動捕數據和遊戲的幀率往往不匹配,我們會通過縮放對齊,把動捕數據匹配到目標幀率。
此外,我們還能通過切割和融合那些運動趨勢相似、但初始姿態不同的動作,從單個真實樣本中合成更多的高質量數據。這樣不需要採集更多原始數據,就能豐富我們的數據集。
在模型設計方面,我們使用了多特徵編碼器和LSTM(長短期記憶網絡)。
只需要輸入兩幀:起始姿勢和目標姿勢。模型包含當前狀態編碼器、目標編碼器、偏移編碼器和特徵編碼器。我們加入了位移差、目標運動趨勢等額外信息,這能有效改善角色大幅度位移時的動作表現。
我們還使用了分離的解碼器:一個是MoE(混合專家)解碼器用來生成中間幀,並且把上半身和下半身的解碼器也分開了。這種設計讓模型對下半身有更強的預測能力,有效防止了滑步。
同時,我們還加入了相位信息和腳步接觸信息,這極大地改善了奔跑動畫的質量。
最後,在推理方式上,我們採用自迴歸(Autoregressive)逐幀生成。這種串行推理允許異步執行,完美符合實時引擎的限制,不會導致動畫系統阻塞。
在損失函數上,除了旋轉、根骨骼位置等標準指標,我們還特別加入了基於速度和接觸的滑步懲罰以及腳步接觸懲罰。
03
部署與優化:
6MB包體、0.4毫秒延遲
在性能表現上,FP32精度的模型大約是15MB,每次推理耗時0.75毫秒。我們對LSTM中超過8%的權重進行了動態量化(Dynamic quantization),量化後的版本只有約6MB,推理時間降到了0.4毫秒,且位置偏差不到1釐米,實現了不錯的性能權衡。
在遊戲內引擎部署方面,量化模型我們使用的是C++接口。異步推理意味着我們直接從結果緩衝區進行渲染,動畫系統完全不會被阻塞。我們通過偏移運動處理來解決根骨骼的方向和空間變化。
關於模型對不同角色骨架(Rig)的重定向問題:模型其實是在統一的骨架上訓練的,我們通過計算模型T-pose和目標T-pose的身高比例,將其映射到每個角色的骨架上,並按此比例自動縮放位置和旋轉。因此,我們無需重新訓練,就能支持正常體型、較矮或較高的各種角色。
武器穿模(Weapon clipping)是遊戲動畫中最讓人頭疼的問題之一。爲此,我們改變了原始的過渡目標,將其設爲一箇中間姿態,然後結合AI生成的過渡幀與IK資源來調整動畫,成功防止了武器穿透角色身體。
此外,爲了讓生成的過渡動作與後續的奔跑循環銜接,我們在系統中引入了相位匹配機制。當角色從過渡狀態切回奔跑時,該機制會確保其腿部的運動相位保持一致。這個方案,有效避免了動作的抽搐或卡頓(Pops),讓角色跑動看起來更自然。
在最終的效果對比中可以看到,對於大位移運動(如從滑步到奔跑的過渡),傳統方案會生硬地切入轉身,而AI模型能自然流暢地轉身,同時毫不犧牲玩家操作的響應速度。
總結來說,我們將AI無標記動捕、輕量級神經網絡與動畫引擎部署技術相結合,數據、模型和部署缺一不可,最終爲大家提供了一個完整的3D格鬥遊戲動作過渡解決方案。
04
QA環節
問:對於毛髮和布料這些次要動畫(Secondary Animation),傳統做法往往傾向於使用物理引擎進行模擬。但在剛纔的演示中,我注意到一些布料依然存在穿模現象。你們是否有計劃,把這類次要動畫也完全交由AI來生成?
答: 我們目前確實還沒有將這套系統應用在毛髮或布料上。基於物理系統是傳統的解決方式,但我們實際上已經有了一些針對AI生成布料模擬的解決方案,甚至包括針對可形變物體(Deformable objects)的模擬,比如處理自碰撞(Self-collision)和軟體模擬。
其核心難點在於自碰撞檢測。因爲遊戲角色有很多骨骼關節點,傳統的碰撞檢測過程需要消耗大量的算力和時間。而對於AI生成的解決方案,我們只需要訓練好模型,就可以在本地直接生成,目前的初步測試結果非常有潛力。
我們未來會繼續在這個方向上進行探索,但目前這套系統主要還是集中在角色軀幹和核心根骨骼動作的生成上。