MRが楽しい

MRやVRについて学習したことを書き残す

Auto-Rig ProのRemap機能を使ってThreeDPoseTrackerで出力したモーションデータを別のリグに反映する

本日は Blender の技術調査枠です。
Auto-Rig Pro の Remap 機能を使って ThreeDPoseTracker で出力したモーションデータを別のリグに反映する方法を記事にします。
f:id:bluebirdofoz:20211029235026j:plain

ThreeDPoseTrackerからのモーションデータ出力

ThreeDPoseTrackerからのモーションデータ出力の手順は以下の記事を参照ください。
本記事では以下の記事で出力したホロモンモデルのモーションデータを利用します。
bluebirdofoz.hatenablog.com

Auto-Rig ProのRemap機能

Auto-Rig Pro の Remap 機能を使って異なるアーマチュアへモーションデータを反映します。
Auto-Rig Pro のインストール手順は以下の記事を参照ください。
bluebirdofoz.hatenablog.com

モーションを適用するキャラクターモデル

今回は ThreeDPoseTracker で出力したモーションデータをホロモンの元データのアーマチュアに反映してみます。
ThreeDPoseTracker に取り込んだ VRM ファイルのホロモンモデルは VRM 向けにアーマチュアをカスタマイズしており、一部アーマチュアの構造が異なります。
f:id:bluebirdofoz:20211029235119j:plain

モーションデータの取り込み

モーションデータを Blender に取り込みます。
メニューから[ファイル -> インポート -> MotionCapture(.bvh)]を選択します。
f:id:bluebirdofoz:20211029235133j:plain

ファイル選択のダイアログが開くので ThreeDPoseTracker で出力したモーションデータ(.bvh ファイル)をインポートします。
f:id:bluebirdofoz:20211029235144j:plain

これで ThreeDPoseTracker から出力したアーマチュアオブジェクトとモーションデータが取り込まれます。
f:id:bluebirdofoz:20211029235158j:plain

反映元と反映先のアーマチュアの対応付け

次に Auto-Rig Pro の Remap 機能を使って Blender 内のホロモンモデルのアーマチュアに再反映します。
[3Dビュー]のサイドバーから[ARP]タブを開き、[Auto-Rig Pro: Remap]タブを開きます。
f:id:bluebirdofoz:20211029235207j:plain

[SourceAmature:]に反映元となる取り込んだモーションデータのアーマチュアを設定します。
[TargetArmature:]に反映先となるホロモンのアーマチュアを設定します。
この状態で[Build Bones List]ボタンをクリックすると、自動でアーマチュア同士の対応がチェックされます。
f:id:bluebirdofoz:20211029235421j:plain

2つのアーマチュアの対応が下部のリストに表示されます。
自動で同名のボーンが対応付けされます。
f:id:bluebirdofoz:20211029235430j:plain

対応が正しくとれていない場合は手動で対応を設定しなおす必要があります。
f:id:bluebirdofoz:20211029235448j:plain
f:id:bluebirdofoz:20211029235513j:plain

モーションの反映

アーマチュア同士の対応を設定したらモーションの反映を行います。
[Set as Root]にチェックを入れ、[Re-Target]ボタンをクリックします。
f:id:bluebirdofoz:20211029235525j:plain

反映するモーションの範囲とオブション設定の確認ダイアログが表示されます。基本的にそのままの設定で問題ありません。
[OK]ボタンをクリックするとモーションの反映が開始するので完了まで待機します。
f:id:bluebirdofoz:20211029235535j:plain

モーションの確認

反映結果のアクションが作成されます。これでモーションの反映が完了しました。
再生フレームの範囲を反映したモーションと同じ範囲に変更し、再生して確認します。
f:id:bluebirdofoz:20211029235548j:plain

以下の通り、ホロモンの元データのアーマチュアにモーションを反映できました。
f:id:bluebirdofoz:20211029235558j:plain

ただし VRM ファイルのデータと異なり、人型のボーン構造に最適化されていないため、所々動きが破綻してしまう結果にはなりました。
f:id:bluebirdofoz:20211029235608j:plain