Chapter 03

【UE4】アニメーションをリターゲットする方法(異なるスケルトンで使用する)

daichi_gamedev
daichi_gamedev
2021.08.19に更新

リターゲットとは

リターゲットとはアニメーションを別の人型モデルでも使えるようにする事です。つまりリターゲットする事により様々な人型のモデルでアニメーションを使い回す事ができるという事です。今回は外部から持ってきたアニメーションをリターゲットして使用するための手順を紹介します。

①アニメーションを用意する

1.Mixamoで欲しいアニメーションを探します。

2.ほしいアニメーションを見つけて例えばRunの場合、モデル自体は動かす必要はないのでInPlaceにチェックを入れてDownloadをクリック。

3.設定はそのままでダウンロードします。

4.UE4をひらいてアニメーションをドラック&ドロップして設定はそのままでインポートします。

②二つのスケルトンを一致させる

追加するアニメーションのスケルトンとそのアニメーションを追加したいキャラのスケルトンで二つの作業が必要です。両方ともボーンを割り当てて、ポーズも同じにしてリターゲットする準備をします。

アニメーションの方のスケルトンの設定

②-①ボーンを認識させる

まずは先ほどMixamoからインポートしたスケルトンから設定していきます。
1.スケルトンを開き、SelectRigからHumanoidを選択します。

ボーンを表示して見やすくするには?

ビューポートからChara> Bones > AllHierachyでボーンを表示します。

2.SelectRigの下にある設定からTargetに正しいボーンを割り当てていきます。ボーンは名前が完全に一致していると自動で割り当てる事ができますが、ほとんどの場合は手間がかかりますが手動で割り当てなければいけません。▽を押してボーンを見つけて設定していきます。名前はほぼ一緒のものが多いですが、若干異なる場合があります。一致するボーンがスケルトンにない場合は飛ばして構いません。

Mixamoの場合のボーン設定例の画像👇

3.Show advancedで指など細かいボーンを設定する事が可能です。

設定しなければ指などはアニメーションが反映されませんが必須ではありません。Mixamoの場合のボーン設定例の画像👇thumbが親指、indexが人指し指、middeleが中指、ringが薬指、pinkyが小指です。

なお、一度登録するとSelectRig下のSaveからボーンマッピングを保存しておく事ができます。

②-②Tポーズにする

両方のスケルトンのポーズを一致させる必要があります。Tポーズである必要はありませんが汎用性があるのがTポーズなのでTポーズにします。Mixamoの場合は元々Tポーズなのでこのままで問題ないです。Tポーズでないモデルの場合の修正方法は②-⑤で後述。

②-③メッシュを適用して保存

最後にスケルトンのDetailsのMeshからApllyAssetを選択してSaveします。

アニメーションを追加したいスケルトンの方の設定

②-④ボーンを認識させる

今回はグレイマンにアニメーションを追加する事にします。アニメーションを追加するグレイマンのスケルトンを開きます。SelectRigからHumanoidを選択、グレイマンの場合は名前が一致しているのでターゲットが自動で割り当てられます。

②-⑤Tポーズにする

UpperArmの角度を両方50度あげてTポーズにします。

ModifyposeからUseCurrentPose > Saveして準備完了です。

また、完璧なTポーズにするとよりアニメーションの精度が高まるみたいですがちょっとめんどくさいです👇

Mixamoを通して正確なTポーズにする方法

1.スケルタルメッシュをエクスポート
2.Mixamoにアップロード
3.T-poseのアニメーションをwithoutスキンでダウンロード。
4.importmeshのチェックを外してダウンロード。
5.コンテンツブラウザでSaveする
6.modifypose > poseasset > 保存先指定 > Tposeを選択
7.modifyposeからTposeを選択。pose0を選択

8.use current poseを選択する
9.save
参考動画👇
https://www.youtube.com/watch?v=a_N6ooo1LCk
これでより正確なTポーズになります。

③リターゲットする

使用するアニメーションを右クリック > Retarget Anim Assets > Duplicate Ainm ~をクリック

2-2で設定済みのアニメーションを使用したいスケルトンを選択して、Retargetをクリックすると新たにアニメーションが作成されます。Changeで保存場所を選択できます。

④アニメーションを確認する

このようにグレイマンでMixamoで入手したアニメショーンが再生されるようになりました。

何も問題なく再生されていたら良いのですがなかなか一発では上手くいきません。ボーンの設定を間違えている場合が多いからです。アニメーションがおかしい場合はもう一度確認しましょう。

同じ手順で他のモデルも同じようにしてアニメーションを再生できるようになりました。

リターゲットについて参考になる動画

https://www.youtube.com/watch?v=xy9aLbZLdeA
https://www.youtube.com/watch?v=92rag3qStI4

まとめ

一番手間なのがボーンの割り当てですが、一度当てはめれば保存したものを再使用できるので次回からはかなり短縮されます。作成したアニメーションはアニメーションブループリントからアニメーションを変更するなどの方法でゲーム上で使用する事ができます。本でまたその部分については書いていきます。以上リターゲットの方法でした。

お疲れ様でしたー✋


Unreal Engine 5の教科書という本を書いています✍🏻コンテンツは随時追加、アップデートしているのでよければ今後参考にしてみてください。

https://zenn.dev/daichi_gamedev/books/unreal-engine-5