UE4+DeepMotion 低成本的角色動畫制作


1、前言

  • 最近工作中需要在UE4中使用大量的角色動畫,動畫要求如下:
  1. 絕大部分是肢體動畫
  2. 大部分動作都是需要定制
  3. 動畫的制作時間要求比較急、成本要有控制
  • 考慮到制作成本及時間要求,而且其實需求對動作的精准度要求不是很高,於是決定采用AI視頻動作捕捉軟件制作動畫,然后導入到UE4中使用,其主要的轉換工具為DeepMotion,流程有以下幾步:
  1. 錄制或准備動作視頻
  2. 使用deepmotion進行視頻解析,生成動作文件
  3. 動作文件導入到UE4中,並進行骨骼重定向,將動畫適配到目標角色模型上
  4. 采用動畫blend方案對角色動作進行合成和調整

2、DeepMotion

  • DeepMotion的Animate 3D讓你把2D視頻中的人體動作自動轉化為可以在游戲、動漫、AR/VR應用軟件、社交和移動平台、以及其它交互式媒體應用程序中使用的3D動畫。
  1. 支持在線轉換
  2. 支持視頻和圖片輸入,生成動作或姿勢文件
  3. 工具能夠生成肢體動作動畫和表情動畫
  4. 免費試用,每個月有30s或30個動作的的免費試用
  5. 收費方式分為包年和包月,高級收費版支持導出動畫優化(由於我用的是低級版本,優化效果尚不確定)
  • 官方網站:https://www.deepmotion.com/

3、錄制或准備動作視頻

  • 為了保證系統能夠准確的識別動作姿態,官方對於輸入的動畫視頻有如下建議:
  1. 視頻的鏡頭需要和捕捉的人物平行
  2. 捕捉的人物從頭部到腰部的整個身體或上半身都應該可見,並且距離攝像機2-6米
  3. 被捕捉的人物和背景要有強烈對比便於圖像識別
  4. 鏡頭里的人物不應該被任何物體遮擋,並且鏡頭里只有一個人物
  5. 不要穿寬松的或覆蓋膝蓋和肘部等關鍵關節的衣服
  6. 面部捕捉支持全身和半身模式,但為了獲得更好的結果,建議使用半身模式

4、使用DeepMotion進行動作解析

  • 注冊並登錄deepmotion官網,點擊進入Animate3D產品,點擊界面上的create,此時會有空白框提示拖入視頻或圖片文件,將准備好的視頻拖入,這是會有輸出選項,因為我需要把動作輸出為FBX格式導入到UE4中,所以要選擇FBXOutput和Root Joint at Origin(根節點在原點,便於導入UE4后進行重定向),Face Tracking因為當前我不關注角色表情,所以沒有選擇。

 

  • 點擊create按鈕,等待一段時間,就會生成角色動畫,同時可以更換不同的角色模型進行預覽

 

  •  點擊download,將動作導出到本地

5、導入UE4,骨骼重定向

 由於UE4里的角色和Deepmotion導出的角色使用的不是同一套骨骼,因此需要使用UE4的Retarget功能進行骨骼重定向。

骨骼重定向(Retargeting)

骨骼重定向的實質是通過在相似骨骼間建立對應的關系,創建一個能在另一套骨骼播放的動畫資源。

常用的使用場景 

  • A:我有一套帶動畫的人物模型,但它們沒使用UE4的Mannequin骨骼,我想把這套動畫應用到UE4的Mannequin上。
  • B:我有一個綁定好的人物角色,但它沒有使用UE4的Mannequin骨骼,我想讓它使用Mannequin的動畫。

當前的使用場景就是A的情況,我希望把DeepMotion的動畫應用到UE4的Mannequin上(當然骨骼重定向后,DeepMotion的角色也能Retarget出UE4的動畫)

  1. 導入DeepMotion資產動畫

將下載的FBX文件導入到UE4,deepMotion下載的FBX包含兩個文件(A-Pose和T-Pose),建議導入含有T-pose的fbx文件,這樣便於重定向時調整姿態。

  拖入到UE4中后,彈出導入選項,注意勾選導入動畫選項

 點擊ImportAll后,FBX資產導入到UE4中,這是應該出現 Mesh、動畫序列、骨骼、物理屬性和紋理等資產

2、將UE4骨骼調整為T-pose

由於UE4自帶的骨骼動畫包的pose為A-pose,而我們導入的模型是T-pose,因此需要將UE4的動畫骨骼重定向Pose改為TPose。

a.首先下載UE4骨骼自帶的T-Pose動畫,鏈接如下  

鏈接:https://pan.baidu.com/s/10uTRfANIuLLprGc03isGIA
提取碼:ni2q

b.下載完成后,導入到UE4中,並選擇UE4自帶的骨骼

右鍵導入的動畫資產,選擇create/ create poseAsset

 

        

 c.打開UE4小白人骨骼,點擊Retarget Manager下的ModifyPose

 

        選擇剛才生成的姿態資產,點擊import

       最后選擇usecurrentPose

       最后將UE4的小白人修改為T-Pose

 3.設置Rig Map

打開UE4骨骼和DeepMotion的骨骼,在Set up Rig下的Select Rig中統一選擇Humanoid

       可以看到在UE4的骨骼中source和Target是一一對應的關系

       

但是在DeepMotion骨骼中source和Target還沒有對應,此時需要進行關系對應,雖然autoMap能夠對應部分關系,但是仍有錯誤,這就需要手動操作,否則動畫重定向后由於對應關系錯亂,會出現肢體扭曲的問題。或者直接下載以下連接,將資源拷貝到工程中,點擊load加載

鏈接:https://pan.baidu.com/s/1xxd9RaZmXgLeOKJ2QwGXuw
提取碼:b23p

(手動調節時需要點擊show advanced顯示所有信息,由於UE4自帶一些武器和肢體插槽,但是deepmotion的骨骼中沒有,如twist、ik等,選擇none即可)

 以上為映射后的部分截圖

 4.微調骨骼姿態

點擊骨骼視圖中的Character/bones/All hierarchy,顯示骨骼信息,對比UE4和DeepMotion的骨骼,發現二者的T-Pose姿態還是有些差異的,此時需要對DeepMotion的骨骼姿態進行微調:

   

       點擊deepmotion骨骼視圖左下角的View Pose,選中骨骼,對骨骼進行拖拽調整,是deepmotion的姿態和UE4的基本一致

 

        最后點擊Midefy Pose/use currentPose保存當前姿態

        5.生成重定向的動畫

        鼠標右鍵點擊DeepMotion生成的動畫文件,點擊復制動畫資產並重定向

       此時DeepMotion的動畫預覽看不見,這是因為骨骼預覽的Mesh未設定,需要修復一下

       

       在deepmotion骨骼的編輯界面點擊Preview Scene Setting

       

       在右側彈出的Preview Scene Setting面板中點擊Apply to Asset

       此時在創建重定向動畫資產就可以DeepMotion的動畫預覽,在左側列表欄選擇UE4個骨骼,點擊Retarget,生成重定向動畫。

       

      

      生成的重定向動畫即可用到UE4中的小白人上。

6、采用動畫blend方案對角色動作進行合成和調整

由於DeepMotion進行視頻識別導出的動畫是AI計算的,不可避免的會出現一些動作bug,最常見的現象是站立時雙腿會不自然的抖動,為解決這一問題,可以采用UE4動畫藍圖的blend進行修復,主要思路是上半身采用DeepMotion的動作,下半身采用其他站立的動作,這樣進行混合,達到動畫修復的目的:

首先新建動畫藍圖

在動畫藍圖的AnimGraph中,將導出的動畫拖入到面板中,並連接OutPose

        此時可以看到動畫預覽界面播放動畫。

        再將UE4的Idle動畫拖入到場景中,調用Layered blend per bone,最終輸出到outpose

        

        layered blend per bone修改的參數如下

        

        骨骼動畫blend的原理是將多個動畫按照不同的權重進行計算,最終會得出一個混合結果。

 這樣,通過blend就能將動畫的上半身動作和下半身動作進行融合,相應的,我們也可以對其他的身體部位進行融合生成新的動畫,但是這周融合只能在特定的動作有效,如果全身協調性的動作,融合起來的最終結果就會顯得任務動作很怪。

 目前我們的動畫只是在藍圖動畫里播放,但是有些需求可能是需要在動畫資產里播放,UE4里提供的錄制功能,我們點擊動畫視圖里的Record按鈕,對動畫進行錄制:

       點擊Stop選擇保存的路徑,新的動畫資產就生成了

 7、后記

      以上就是我通過DeepMotion導出動畫到UE4中並且重定向后,通過blend和UE4自帶的錄制功能生成新的動畫資產的全過程。由於目前需求只要求到肢體動畫,雖然DeepMotion支持表情動畫的導出,但並未實踐到。另外,個人感覺deepmotion對人物手部動畫沒有支持,這部分后續可能需要通過動畫blend進行修復。

 

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM