chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

パリピ孔明のアニメーションデータを活用してUE5でアバターを動かしたい->難航中

パリピ孔明のチキチキダンスをUE5上で作ってみたいと四苦八苦していて、ダンスのモーションデータが公開しているのが分かった。
【ダンスモーションデータ】TVアニメ「パリピ孔明」OPテーマ「チキチキバンバン」【踊ってみた】 - TVアニメ「パリピ孔明」 - BOOTH
モーションデータだけをUE5に取り込もうとしてもキャラクタとの関節のマッピングがうまくいかないせいと思うがエラーになってimportできない。そこで、まずは手順が紹介されているUnity上で動かしてみる。まずはunityのAssetsに読んでみる。。Assetsにはエラーなく読み込めた。次はどうするのか??
データに対して以下の操作が必要
Inspectorを開く
「Rig」ー>Animation Typeを「Humanoid」に変更、適用
「Animation」ー>Motion、Root Motion Nodeを「<Root Transform>」に変更、適用
(https://note.com/vsrx/n/n22fa5355d8d6) ・・・Thanks

上記サイトに倣って作業をして、Unityでおじさんが踊るところまでは来た。あとは踊らせたいアバターというかキャラクターをこれに紐づければ良いのだろう。

UnityでVRMモデルを扱うには、UniVRMのプラグインが必要なので、GItから落としてきてUnityに入れる
次は動かすモデルとしてVRMモデルをDLする必要があるが、VRoidHubを見ていても、DL禁止が多いようで、勝手には使えないのかと。
版権がよくわからないので、VRoidStudioで凝らないデフォルトのモデルを作ってみる(嗜好がバレるのでそっけないモデルを作成)

上記ツールで作成したVRMモデルをExport してUnityに読み込ませる。
読み込んだVRMのAnimationのオプションを上記手順で作成したAnimator Controlのチキチキダンスを指定すると、なんとか自作アバターがうごくようになった。

細かいメニュー等の意味は全く分からないが、それほど手間なく、自作アバターが踊るところまで作れた。アバターが踊っているのを見ていると、髪の毛の揺れ等、細かい所までよく作られていて、これはこれで満足感があるけど、最終目標はUE5上のmetahuman で踊らせる事なので、、VRMモデルをUE5で読み込めるfbx形式でexportする必要がある。

UnityのFBX Exporterがあるようで、これを使ってみる。
3DモデルのメッシュやマテリアルをFBX形式でエクスポートするFBX Exporter【Unity】【アセット】 - (:3[kanのメモ帳]

Unityのパッケージマネージャから、FBX Exporterをinstall する。
GameObjectにExport to FBXメニューがあるので、今回作成したVRMモデルを選んでExportする。
これをUE5でimportしてみる。
Importするとwarningは出たけど読み込めた。

モーションデータも一緒に取り込んでいるはずなので、、どうにか設定したら動くはず(手順を忘れた)
(理解度1%ぐらいで使っているので試行錯誤ばっかりなのだが)どうやらモデルのデータは取り込んでるが、アニメーションデータが持ってこれていないようだ(Animation Sequenceのファイルがない)。アニメーションだけなら・・・と思って以前からエラーになっていたパリピ孔明のCHIKICHIKIBAMBAM_eiko.fbxをimportしてもマッピングでエラーになる。
メッセージは以下

Mesh contains Root bone as root but animation doesn't contain the root track. Import failed

再確認するとImport操作の時にAnimationデータのチェックを外していた。これを有効に変更して再度Importをする。すると、Animation Sequenceも取り込まれた。が、、動かないし、こけている。XYZが違っているせいだろうか。こけているのは90度回転させれば治ったけど、動かない。

一応時計(スライダー?)は動くのでデータとしては入っているようだが、、関節のマッピングが狂っている、あるいは、マッピングされていない状況だから動かないのだろうか。。しかしアバターは、ダンスのどこかの時刻の1ポーズで固まっているのだが。ポーズできてるということは関節のマッピングもOKなのではないか。これは代表画像(サムネイル的な)?

FBXのimport オプションをいろいろ変えながらやってみたけど、やはりAnimationデータが正しく扱えない。最終的には以下

  • モデルはダンスの1ポーズをしている
  • モデルは動かない
  • アニメーション時間の長さは正しそう
  • モデルは90度倒れている
  • import時に警告が出ている
FBXImport: Warning: No smoothing group information was found in this FBX scene.  Please make sure to enable the 'Export Smoothing Groups' option in the FBX Exporter plug-in before exporting the file.  Even for tools that don't support smoothing groups, the FBX Exporter will generate appropriate smoothing data at export-time so that correct vertex normals can be inferred while importing. 
FBXImport: Warning: Imported bone transform is different from original. Please check Output Log to see detail of error.  

このままFBXの取り込み問題を調べるアプローチもあるが、そもそもVRMモデルをUE5でさくっと動かしている人がいるようで*1、その方々の手順を参照して真似する方が早いのではと思った。アニメーションデータも持って来てもらっている必要があるのだが。。
(FBX形式のデータの中身を確認できていないので、根本原因が何なのか全然わからない)
ツールを超えてアニメーションデータを移すというのがややこしい根源のようだ。。

■追記
パリピ孔明のアニメーションデータをリターゲットしてUE5で動かしている人がいて、YouTubeにアップしていた。スレッド上で、どうやって作ったのか?との質問に対して、「Blenderを経由している」と回答されていた。

https://www.youtube.com/watch?v=2uEdi4uSgY0

H. Aruru
How did you import the .fbx to UE5 without the eiko skeleton? I tried renaming all the bones of Unity-chan to eiko but when the animation imported, it was all wrong.

Once skinning was done on the dummy mesh in Blender, it was imported in UE5 as a new skeleton with the mesh. Then we did IK retargeting to Metahuman and converted the motion.

@3D人-3dnchu- I added a metaball to the skeleton in Blender and fixed the parent and then I was able to import into UE5 properly. IK retargeting was difficult due to crashes, but if I don't T-pose the fingers it works. Thanks to your tip I was able to make a dance video as a complete 3D newbie! Thank you!

自分の場合はUnityを経由しようとして手こずっている。。Blenderの方がいいのか、FBXを介するところで何か基本的なミスをしているのか。。

■追記
mixamoからアニメーションとモデルをFBXで落としてきてUnityでFBXでExportしてUE5でImportしたらやっぱりアニメーションが動作しなかった。だから、VRMモデルに依存した問題ではなく、Unity->UE5のAnimationのExport/Importの問題と理解した。似たような事をしている人は多いと思うのだけど、なぜか動かないといった情報は見つけられず。基礎知識として、retarget の作業が必須なんだろうか??

まずは基本的なretargetを理解してから、ややこしい作業に移るべきでは?と思った。
UE5でのアニメーションの流用方法について【Compatible Skeletons, IK Retargeter】 | ドクセル


■参考URL
Unity Humanoid Avatarの解説 [VirtualCast]
アニメ「パリピ孔明」のオープニング曲「チキチキバンバン」の公式ダンスモーションデータを使って、Unity上でVRoid Studioなどで作ったVRMモデルを踊らせよう|takamitsu_h|note
3DモデルのメッシュやマテリアルをFBX形式でエクスポートするFBX Exporter【Unity】【アセット】 - (:3[kanのメモ帳]
FBX インポート オプションのリファレンス | Unreal Engine ドキュメント

*1:VRM4UはVRMモデルをUEで読み込ませるためのプラグインで、アニメーションデータは対象外、だからこれはちょっと今回には適さない