chakokuのブログ(rev4)

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

リアルタイムでモーションキャプチャしてUE5のキャラクターを動かしたいー>簡単にはいかなさそうだ

パリピ孔明」の「チキチキバンバン」のダンスが面白くて、MMD?で踊らせている人も多く、自分もモーションキャプチャしてUE5のキャラクタ(METAHUMANとか)を踊らせてみたいと思った。
おおよそ、画像から関節を抜き出して、3Dモデリング(ボーン?)にマップして、キャラクタに動きを与えるという流れになるのだけど、サクッと動かせるツールが見つけられない。UE5のプラグインで動きそうなのは、PoseAI、MediaPipe Pose Tracker等があるけど、いずれも有料なのであった。できればフリー版で動かしたい*1
Youtubeで紹介されている方法は、いくつかのソフトウエアを組み合わせて、FBX形式のデータまで作ってからUEに持って来るのが一般的なようだ。この場合、複数のソフトを使いこなす必要があるのと、最後に関節位置の再割り当てが必要で面倒だ。plaskはフリーで動画やカメラ画像をFBX形式まで変換してくれるのだけど、やっぱり最後は関節位置の再割り当てが必要。。面倒*2

こうなったら、GitHubで公開されている、CMUのOpenPoseを使って関節位置情報を抽出して、なんとか自力か先人の変換ツールでFBX形式に変換してみようかと思っている*3。また飽きるかもしれないが。

■追記
調べているうち、モーションデータとキャラクタデータは別と理解できて、ひょっとして、ダンスのモーションデータを誰かが公開しているのでは?と思ったら、踊ってみたのFBX形式が提供されていた。
【ダンスモーションデータ】TVアニメ「パリピ孔明」OPテーマ「チキチキバンバン」【踊ってみた】 - TVアニメ「パリピ孔明」 - BOOTH
Unityで使えるけどMMDでは使えないそうだ。データ形式が違うから? あまり理解できていませんが、UE5で読み込ませたらエラーになった。plaskで読んでみると、boneとmeshがないと怒られる。素直にunityで読んでみる。。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で凝らないデフォルトのモデルを作ってみる。


Unity Humanoid Avatarの解説 [VirtualCast]

*1:PoseAI自体は無料だけど,スマフォ側で動かすキャプチャソフト(Pose Camera)が有料、しかも自分のiPhoneは古くてサポート外

*2:これぐらい面倒がらずにやらないとダメなんすかね

*3:この場合も関節位置の再割り当てが必要かも。しかしある程度データ形式を理解できていたら、プログラムでマッピングさせたい