建立下個時代的高畫質遊戲美術資源生產管線(七):動作捕捉

潘翔發表於2024-06-13
本文首發知乎,GameRes獲授權釋出。

總覽國內遊戲圈子,對於美術生產管線的知識分享少之又少,本文打算從模型,貼圖,繫結,動畫和動作捕捉,shader,關卡,光照,後期,程式藍圖,最佳化等全面梳理基於下個時代美術生產管線,也算對這幾年自己工作和研究的一個總結.本文是第七篇,動作捕捉篇

動作捕捉工作流重點主要是兩個方面,動捕資料採集和動捕資料修正。

之前寫過一篇文章簡單介紹了下動作捕捉的一些裝置和方案。所以關於動捕資料採集的方案這塊就不多說了。有興趣瞭解的可以移步之前的文章。

聊聊低成本動作捕捉,這裡有多套方案供開發團隊參考
https://mp.weixin.qq.com/s/Jb42nxcakj_XzAzHoYdw7w

在之前文章末尾,我提到了基於影片的動捕方案,並且判斷,在不久的將來,做動畫會和拍影片一樣容易。這期間我也一直在和朋友們為實現這個目標努力,目前也終於有了一點小成果,在此奉上我們產品的一個小宣傳片。馬上就要公開測試了,屆時歡迎各位朋友體驗指正。

在AI的加持下,動捕資料採集已經變得非常便利,任何人都可以透過隨手拍攝的一段影片,提取影片中人物的運動資料,並且運用到虛擬角色上,製作成特效影片或者動畫。甚至連影片也可以使用AI生成,demo中就演示了使用sora生成的影片再提取動作資料,應用到新的角色上的效果。透過文生影片,影片生成3D資料,再對3D資料重新加工渲染,整個創作流程可以完全虛擬化,一個人完成一部影片也不是沒有可能。

以下是本人測試的一些效果,人物摳像,動捕資料和鏡頭運動資料提取使用我們自研的AI產品《幻境》提取,實時渲染和合成使用虛幻引擎。如果你沒有虛幻引擎,我們的幻境工具也支援生成合成效果,如果對生成效果不滿意,也可以將素材檔案下載出來匯入blender,AE,nuke等工具軟體中自行修改。

關於這個產品的論文已經發在了siggrapha,這套工程檔案和素材我也會免費放出,感興趣的朋友可以看一下我們是怎麼做的。

資料採集已經唾手可得,因此本文的重點是動捕資料的使用。

在開始之前,我們先了解一下傳統的動作捕捉資料的採集和使用流程。

傳統動捕的主流模式是光學動捕和慣性動捕,光學動捕只能在室內使用,需要裝配一個動捕場地,一般需要至少20平以上空間,4個以上紅外攝像頭。攝像頭價格3——20萬不等,動捕服另算。所以搭建一個能用的動捕房,成本差不多30萬起。攝像頭越多捕捉效果也越好。

慣性動捕使用簡單得多,只需要購買買動捕服或者捕捉點即可,價格也很便宜,目前市面上已經有千元級的產品在售,並且可以在室外使用,當然效果也比光學差很多。捕捉點飄移是常態。

捕捉出來的動捕資料是無法直接使用的,一般動捕硬體都有自己的應用軟體,常規流程是,資料透過應用軟體錄製下來,然後使用motionbuilder之類的動畫軟體進行重定向和資料修正,最後才能被用到最終角色身上。修動捕資料才是動捕流程的成本大頭。根據質量要求,報價範圍100——500一秒不等。

為什麼資料不能直接使用,這就要說到動作捕捉的常見問題了。

  • 抖動,因為反光球貼得不穩和動作晃動等原因,捕捉出來的動畫資料不可避免會抖動。需要進行修正。慣性動捕和影片動捕更不用說。
  • 體型差異。一般情況下,動捕演員的體型和被驅動的虛擬形象是不可能完美匹配的。舉個極端的例子,演員身高1.8米,虛擬角色是一個0.5米高的巨人,那麼這個角色步伐和每一步的跨步距離都和現實中的演員存在巨大差異,類似的情況還有臂長的差異,腰圍的差異等等,那麼捕捉出來的資料套用到虛擬形象上會不可避免的出現穿模,位置對不上等情況。這種都需要人工修正。
  • 關節資料不正確,人類關節轉動軸向是固定的,例如手肘只能超前彎曲,而動捕資料捕出來通常XYZ3個軸像都有值,錯誤的資料會影響關節修型效果。
  • 環境匹配。大部分動捕環境是在室內,和最終的遊戲或影視中呈現的虛擬環境不一致,所以需要人工修正與環境的匹配。
  • 專案要求,導演/製作人/主美覺得動捕沒有呈現出他們需要的表現力,需要人工修改。

從這些問題可以看出,在大部分情況下,動捕通常並不能節省製作成本。只是為了提高表現效果和生產效率的一種製作手段,可以說動作捕捉是某些專案中動畫生產流程的前置環節。隨著專案要求的提高,動作捕捉的應用也越來越廣泛,很多專案對動捕的需求是剛性的。比如對動畫效果真實性有高度要求的專案,如體育類,舞蹈類,軍事類遊戲和動畫的製作,或者需要使用motionmatch技術的專案,都需要大量使用動捕。目前動捕裝置的成本已經大大降低了,那麼有沒有方法可以簡化後續的動畫資料修復流程,讓動捕結果所見即所得呢?

其實不少3A廠商已經在這個流程最佳化上做了一些嘗試,下面是卡普空關於RE引擎中使用實時動捕的技術演示:

卡普空演示在RE引擎中直接執行動捕技術
https://www.bilibili.com/video/BV1bH4y1r73K

裡面主要涉及了幾個點:

1:物理模擬——實現動捕資料和虛擬道具的互動

建立下個時代的高畫質遊戲美術資源生產管線(七):動作捕捉

2:環境匹配——被動捕驅動的角色行為自動適應虛擬環境,案例中展示了演員在平地表演,但是虛擬角色是在下樓梯。

建立下個時代的高畫質遊戲美術資源生產管線(七):動作捕捉

3:實時重定向和體型匹配——展示了一套動捕資料驅動不同體型的角色,但是姿勢能夠完美貼合

建立下個時代的高畫質遊戲美術資源生產管線(七):動作捕捉

4:鏡頭系統——實時預覽引擎內過場動畫效果

建立下個時代的高畫質遊戲美術資源生產管線(七):動作捕捉

5:一些引擎和DCC軟體的編輯功能——如引擎內錄製資料,回放,和DCC軟體資料互通等等。

建立下個時代的高畫質遊戲美術資源生產管線(七):動作捕捉

整套看下來,Capcom的這套動捕方案基本上等於一個實時虛擬直播方案。而其中大部分功能,現在的虛幻引擎內都提供了。要實現capcom的這套方案,只需要拆解一下里面的技術鏈和學習使用引擎內對應的模組。實現起來並不是很難。

動捕資料的實時流送。這個比較簡單。引擎內livelink基本都實現了。可以和maya等主流DCC軟體實現資料互通。引擎和maya,blender也有這樣的外掛。max有沒有我不清楚,好像沒有。

動捕資料實時平滑和過濾一般會用到各種平滑演算法,這塊不是我擅長的所以不講了,一般來講,平滑演算法會對實時效果造成較大影響,會出現延遲,或者動畫不到位等情況。如果追求實時性的這個需要謹慎新增。

實時重定向和體型匹配:引擎內自帶的IK重定向和fullbodyIK可以實現這個功能,更復雜的效果也支援,可以用control rig實現。

  • 地形匹配,主要就是一個簡單的角色movement模組(角色移動被pelvis資料驅動),加上fullbodyIK實現腳步與地面的地形貼合。
  • 和虛擬道具互動,功能上和普通gameplay互動需求差不多,觸發拾取,啟用物理模擬等。
  • 鏡頭互動控制有三種方式,一種是透過gameplay實現,做一個鏡頭切換功能。第二種是用sequence做好分鏡。預算充足或者追求B格可以使用第三種,使用手機,或者vr裝置的控制器控制鏡頭運動,可以實現手持拍攝效果。

動畫資料錄製:引擎內的take recorder就可以實現。

部分功能如何實現在我4年前的文章中也有提到

UE4實現互動式動作捕捉
https://zhuanlan.zhihu.com/p/250671359

因為一套工作流涉及到的技術面很廣,一篇文章是不可能寫完的,其他部分有時間了另開一篇展開細說。

可以看到,如今遊戲開發的邊界越來越模糊,各種軟體的功能正在往遊戲化發展。遊戲領域的實時性和互動性,與影視工作流和AI相結合,能發揮出意想不到的威力,並擴充出更多的產業和工作機會。


原文:https://zhuanlan.zhihu.com/p/682230373

相關文章