網易2022GDC | AI動畫師:實時動作補全系統
本文首發網易遊學APP(原網易遊戲學院)
GDC是在全球範圍內享有最高影響力的遊戲開發者會議,已舉辦35屆,今年於3月21至25日在舊金山舉行。網易互娛今年有12位大咖的9個提案入圍GDC非贊助類演講,包括1項核心演講和8項主題峰會演講,讓我們一起圍觀入圍的提案和大神風采!
一、技術概述
為了減少動畫製作流程中的工作,也為非專業人士提供動畫製作的可能,我們的研究嘗試實現一個簡單但是有效的基於深度學習的解決方案,即可一鍵生成的實時動作補全系統。
目前已經被GDC2022 ML submit接收:
https://schedule.gdconf.com/session/machine-learning-summit-ai-animator-a-real-time-motion-completion-system/883186
同時論文A Unified Framework for Real Time Motion Completion已被AAAI 2022 以oral收錄,詳細演算法內容請檢視論文。
我們的設計和使用:
- 基於傳統動畫製作流程,其互動簡單且可以直接嵌入。
- AI基於目標關鍵幀一鍵生成,無需設定運動軌跡和中間關鍵幀
- 可嵌入任何平臺之中,實時生成動作
二、問題背景
在動畫製作流程中,通常由動畫師手K動畫關鍵幀,然後再進一步就細節微調;此外,Maya,Max等提供了一些線性插值、混合等的解決方案。在這些方案中,手K動畫工作比較繁瑣,即使是較為簡單的或是重複的動作,也需要我們動畫師設計每一幀動畫關鍵幀。每一次的動作調整都有可能需要動畫師重複大量動作繪製過程,這給動畫師增加了很大負擔。Maya、Max等自帶的插值很難處理長距離的動畫生成,而且它們提供的動作曲線等調整工具則依舊需要動畫師繪製每一個關鍵幀。
對於沒有動畫師的專案而言,網路上下載的動畫直接使用會有一些細節不符,而自己製作簡單的自然的動畫比較複雜。
因此,動作補全一直是圖形學和多媒體研究的熱點。長久以來,有很多深度學習的方法致力於通過演算法生成多個關鍵幀中間的動畫。
三、技術實現
(1)我們的方法能夠解決不同的動作補全場景問題:
(2) 動作補全 In-betweening結果展示
輸入骨骼動畫:藍色部分
AI演算法生成結果:白色部分
(3)動作上取樣 In-filling
我們的動作上取樣演算法,選擇了比較難的舞蹈動作來展示其效果。
如下gif所示,我們隨意選取了4個人類姿態,放入模型之後生成了一段128幀長的舞蹈(30fps)
圖中,左側為我們生成的演算法,中間為(目前通用的)線性插幀演算法,右側為四個pose展示
紅色為生成結果,黑色為輸入pose
(4)動作銜接 Blending
輸入骨骼動畫:藍色部分
AI演算法生成結果:白色部分
動作銜接我們同樣採用了比較複雜的舞蹈動作來進行測試。
四、應用介紹
我們針對動作補全部分In-betweening實現了一個Maya外掛
我們在maya上測試的速度表現如下:
實際使用中,我們首先需要匯入一段動畫:
重定向到我們的模型
即可調整引數實時生成動畫
同時,對於同一段動畫,我們可以選擇生成不同的長度。
相關文章
- 最常用的動畫系統——補間動畫動畫
- 無作業系統時的裝置驅動和有作業系統時的裝置驅動作業系統
- jquery 自動補全jQuery
- 作業系統全接觸之UNIX系統(轉)作業系統
- pycharm 如何自動補全PyCharm
- mac git 自動補全MacGit
- 網易伏羲GDC分享:伏魔AI遊戲外掛防控系統在網易遊戲的實踐經驗AI遊戲
- LeetCode 642 號問題:設計搜尋自動補全系統LeetCode
- iNeuOS雲作業系統,.NET Core全系打造作業系統
- 給HP-UX作業系統打補丁UX作業系統
- [譯] 自動補全規則
- 終端自動補全命令
- Python的自動補全Python
- Docker自動補全容器名Docker
- Novell推SUSE Linux實時版作業系統(轉)Linux作業系統
- Laravel artisan bash 命令自動補全Laravel
- fish shell 自動補全子命令
- python之 自動補全 tabPython
- Docker 命令自動補全?要的Docker
- CSS 也能自動補全字串?CSS字串
- vim自動補全外掛配置
- 網易基於 Iceberg 的實時湖倉一體系統構建經驗
- Cobbler實現自動化安裝作業系統作業系統
- 作業系統何時執行?作業系統
- 系統關閉時候,oracle資料庫執行動作Oracle資料庫
- 鴻蒙系統(OpenHarmony HarmonyOS):面向全場景的分散式作業系統鴻蒙分散式作業系統
- Flutter——動畫基礎(補間動畫)Flutter動畫
- 直播系統原始碼,雲朵左右移動迴圈動畫實現原始碼動畫
- 萬彩動畫大師教程 | 如何實現物件的閃動的動畫效果動畫物件
- 實時作業系統與通用作業系統的一些比較 (轉)作業系統
- 用python實現的可以自動補全的字首樹Python
- 瑞芯微3568開發板實時作業系統作業系統
- Flutter補間動畫Flutter動畫
- QT實現動態顯示系統時間QT
- PHP外掛系統的實現(四):實現註冊動作PHP
- Python tab 命令補全,以及 vim 補全Python
- MySQL資料庫自動補全命令MySql資料庫
- Python如何設定自動補全?Python