Language:
Page Info
Engine Version:

アニメーション リターゲット(異なるスケルトン)

Retarget1_1.jpg

注記:この機能はエンジンのバージョン 4.5 以前では利用できません。

アニメーションのリターゲット (異なるスケルトン) は、同じスケルトン アセットを共有しないキャラクター間でアニメーションを再利用できるようにする機能です。同じスケルトン アセットを共有するキャラクター間でアニメーションをリターゲットする アニメーション リターゲット とは異なります。

異なるスケルトンを持つキャラクター間でアニメーションをリターゲットするプロセスでは、リグ というアセットを使用し、あるスケルトンから別のスケルトンにボーン情報を渡します。リグを選択したら、ソース スケルトンとターゲット スケルトン (アニメーションをリターゲットする対象のスケルトン) の間でリグを共有します。これを行ったら、次にターゲット スケルトンのボーンを、リグに格納されているノードと一致させます。

ターゲット スケルトンの全ボーンがリグでセットアップされたら、ソース スケルトンで使用されているアニメーションをターゲット スケルトンにリターゲットすることができます。全ての関連データと合わせて Animation ブループリント全体をリターゲットすることも可能です。こうすることで、あるスケルトンから別のスケルトンに全アニメーション アセットを迅速に移動したい場合に時間を短縮することができます。

はじめよう

異なるスケルトン間でアニメーションのリターゲットを開始するには、両方のスケルトンで共有するためにリグ アセットを選択する必要があります。このセクションでは、エンジン コンテンツの一部として同梱される Humanoid Rig を使用するためにアクセスして割り当てる方法を説明します。

マーケットプレイス から無料で入手可能な 2 つのアセット パックも使用します。このアセットパックには、リターゲットに使用できる複数のスケルトンとアニメーションが入っています。使用可能な状態のスケルトン アセットが 2 つあったら、以下の注記をスキップし、そのアセットを使用してください。アセットの準備が整っていなかったら、以下の注記の 2 つのパックを追加する手順に従ってください。

この例では、マーケットプレイス から入手可能な以下のアセットを使用しています。

  • 使用するソース スケルトンは Animation Starter Pack に入っている UE4_Mannequin_Skeleton です。

  • 使用するターゲット スケルトンは Mixamo Character Pack に入っている SWAT_Skeleton です。

上記のパックをインストールしたら、アンリアル ランチャーの [Add to project (プロジェクトに追加)] ボタンを使用してプロジェクトに追加することができます。

AnimationStarterpack2.jpg

Animation Starter Pack には、いくつかのアニメーションが入っており、Mixamo Character Pack のキャラクターにリターゲットします。

ご利用のアンリアル エンジン 4 のバージョンは上記のものとは異なる場合があります。

以下の手順では、デフォルトのリグとアニメーションのリターゲットについて説明します。

  1. コンテンツ ブラウザGame/AnimStarterPack/UE4_Mannequin/Mesh フォルダ内で UE4_Mannequin_Skeleton アセットを開きます。

  2. [Retarget Manager (リターゲット マネージャ)] ボタンをクリックします。[Set up Rig][Select Rig] ドロップダウンをクリックし、 [Select Humanoid Rig] を選択します。

    画像をクリックしてフルサイズで表示

  3. [Save (保存)] をクリックして、ウィンドウを閉じます。

  4. コンテンツ ブラウザGame/MixamoAnimPack/Mixamo_SWAT/Anims フォルダで SWAT_Skeleton アセットを開きます。

  5. [Retarget Manager (リターゲット マネージャ)] ボタンをクリックします。[Set up Rig][Select Rig] ドロップダウンをクリックし、 [Select Humanoid Rig] を選択します。

    画像をクリックしてフルサイズで表示

  6. リグを割り当てた状態で、次にターゲットのボーンをリグのノードと一致させる必要があります。

    Retarget7.png

  7. ドロップダウン メニューを使用して、リグ上のボーン (ノード) の位置と類似しているスケルトンのボーンを選択します。

    画像をクリックしてフルサイズで表示

    上の画像で、左側はソース スケルトン (Show Bone Names が有効な状態) で、右側はターゲット スケルトン (こちらも Show Bone Names が有効な状態) です。中央は、Set up Rig ウィンドウで、ターゲット スケルトンのどのボーンがソース スケルトンのどのボーンと同じであるか (または位置が類似しているか) を指定します。 各スケルトンの命名規則は異なるかもしれませんが、各スケルトン上で各ボーンがどこにあるかがわかり、それに従って一致させます。すべてのボーンを指定する必要はありません。ニーズに応じて微調整が必要な場合があります。

  8. 引き続き各ボーンをリグ上の対応するノードに指定します。

    以下の表は、 UE4_Mannequin_SkeletonSWAT_Skeleton のセットアップを表しています。

    ノード (リグ)

    ボーン (スケルトン)

    Root

    None

    Pelvis

    Hips

    spine_01

    Spine

    spine_02

    Spine1

    spine_03

    Spine2

    clavicle_l

    LeftShoulder

    upperarm_l

    LeftArm

    lowerarm_l

    LeftForeArm

    hand_l

    LeftHand

    clavicle_r

    RightShoulder

    upperarm_r

    RightArm

    lowerarm_r

    RightForeArm

    hand_r

    RightHand

    neck_01

    Neck1

    head

    head

    thigh_l

    LeftUpLeg

    calf_l

    LeftLeg

    foot_l

    LeftFoot

    thigh_r

    RightUpLeg

    calf_r

    RightLeg

    foot_r

    RightFoot

    リグを設定する際に使用可能なコンフィギュレーションが 2 つあります。Base または Advanced です。Base コンフィギュレーション (上の表に記載) では、アニメーションのリターゲットを確実に成功させるために必要な主要要素を用います。Advanced コンフィギュレーションには、リターゲット プロセスの一部に含む追加のボーンがあり、指定することができます。

    上記の例では、左右の手がリターゲット プロセスの一部に含まれます。しかし、個々の指は含まれません。Base コンフィギュレーションでアニメーションをリターゲットすると、基本的な動きが新規スケルトンに確実にコピーされます。しかし、ソース スケルトンにアニメートされた指が含まれるが、ターゲット スケルトンには含まれない場合、リターゲットされるアニメーションでは、指をアニメートせず、こわばった外観の手になります。

  9. [Show Advanced] ボタンをクリックして、[Advanced] コンフィギュレーションを切り替えます。

    RetargetAdd4.png

  10. ターゲット スケルトンのボーンを、Advanced コンフィギュレーションのリグ上のノードに指定します。

    ノード (リグ)

    ボーン (スケルトン)

    index_01_l

    LeftHandIndex1

    index_02_l

    LeftHandIndex2

    index_03_l

    LeftHandIndex3

    middle_01_l

    LeftHandMiddle1

    middle_02_l

    LeftHandMiddle2

    middle_03_l

    LeftHandMiddle3

    pinky_01_l

    LeftHandPinky1

    pinky_02_l

    LeftHandPinky2

    pinky_03_l

    LeftHandPinky3

    ring_01_l

    LeftHandRing1

    ring_02_l

    LeftHandRing2

    ring_03_l

    LeftHandRing3

    thumb_01_l

    LeftHandThumb1

    thumb_02_l

    LeftHandThumb2

    thumb_03_l

    LeftHandThumb3

    lowerarm_twist_01_l

    LeftHand

    upperarm_twist_01_l

    LeftArm

    index_01_r

    RightHandIndex1

    index_02_r

    RightHandIndex2

    index_03_r

    RightHandIndex3

    middle_01_r

    RightHandMiddle1

    middle_02_r

    RightHandMiddle2

    middle_03_r

    RightHandMiddle3

    pinky_01_r

    RightHandPinky1

    pinky_02_r

    RightHandPinky2

    pinky_03_r

    RightHandPinky3

    ring_01_r

    RightHandRing1

    ring_02_r

    RightHandRing2

    ring_03_r

    RightHandRing3

    thumb_01_r

    RightHandThumb1

    thumb_02_r

    RightHandThumb2

    thumb_03_r

    RightHandThumb3

    lowerarm_twist_01_r

    RightHand

    upperarm_twist_01_r

    RightArm

    calf_twist_01_l

    None

    ball_l

    LeftToeBase

    thigh_twist_01_l

    LeftUpLeg

    calf_twist_01_r

    None

    ball_r

    RightToeBase

    thigh_twist_01_r

    RightUpLeg

    あるスケルトンでもうひとつのスケルトンには含まれていない追加のボーンがある場合がありますが、これに対応するためにターゲット スケルトンで調整できるため、こうしたボーンは省略することができます。

    IK のリターゲットはまだ開発途中であるため、この例では、Mixamo キャラクターの IK ボーンを None のままにすることもできます。

  11. コンテンツ ブラウザGame/AnimStarterPack で、新規スケルトンにリターゲットするアニメーションを選択します。

  12. アニメーション上で 右クリック して、[Retarget Anim Assets -> Duplicate Anim Assets and Retarget] の順序で選択します。

    RT_DuplicateAnim.jpg

  13. [Select Skeleton (スケルトン選択)] ウィンドウで、ウィンドウ上部にスケルトンが表示されます。それを選択し、[Select] をクリックします。

    Retarget11_2.jpg

  14. リターゲットするために選択したアニメーションのコピーが、ターゲット スケルトンの同じフォルダに作成されます。

    Retarget12.png

    この新規アニメーションはキャラクターで使用できるようになりました。

リターゲットの調整

リグをセットアップしてスケルトン間で共有する場合、あるスケルトンが他のボーンにはないボーンを余分に持っている場合があります (例、「はじめよう」のセクションで、例と同じスケルトンを使用した場合、例えば Mixamo Skeleton の手に余分なボーンがあることに気づくことでしょう)。これは、場合によっては問題を生じることがありますが、スケルトンへの移動のリターゲットを再帰的に設定することで修正できます。

例えば、以下は調整前の画面です。

Retarget13.png

リグのセットアップ中に余分なボーンを指定しなかったために指が歪んでいるように見えます。

これは調整を行った後の例です。

Retarget15.png

スケルトン ツリー ビューでボーンの移動のリターゲットを指定することができます。ここでは、各指の最後の指上で 右クリック して、Bone Translation (ボーンの移動) を Recursively Set Translation Retargeting Skeleton(移動のリターゲットのスケルトンを再帰的に設定) に設定します。

Retarget14.png

Animation ブループリントをリターゲットする

2 つのスケルトン アセットで共有するリグをセットアップするプロセスを行い、ソース スケルトンに関連付けられている Animation ブループリント があれば選択して、ターゲット スケルトンで使用するためにリターゲットすることができます。

Animation ブループリント上で 右クリック して、Retarget Anim Blueprints -> Duplicate Anim Blueprints and Retarget オプションの順序で選択します。

RT_AnimBP.jpg

[Select Skeleton (スケルトン選択)] ウィンドウが表示されます。ターゲット スケルトンを選択し、[Select] を押してください。

Retarget11_2.jpg

Animation ブループリントに関連する全アセット (Animation アセット、ブレンドスペースなど) は、Animation ブループリント自体で定義されているロジックがあればそれと合わせてコピーされ、ターゲット スケルトンと同じ場所に置かれます。

Retarget17.png

ベース ポーズをリターゲットする

ソース スケルトンと正確には同じベース ポーズを使用していないスケルトンにアニメーションをリターゲットする場合があるかもしれません。

例えば、以下の右側の画像のスケルトンをご覧ください。

Retarget2_2.jpg

左側のソース スケルトンは、A-Pose であり、ターゲット スケルトンは、T-Pose を使用しています。リグは共有するためにセットアップされていますが、アニメーションを現在の状態のままリターゲットする場合、以下のような問題が生じることがあります。

Retarget19.png

上の画像では、アニメーションはターゲット スケルトンにリターゲットされています。しかし、ベース ポーズが同じではないため、腕が横にクリップしています。アニメーションをリターゲットする前に、ターゲット スケルトンのベース ポーズもリターゲットできます。これにより、上記のような問題発生を減らすか、なくすことができます。

ターゲット スケルトンでは、[Retarget Manager] に、Manage Retarget Base Pose というオプションがあります。

Retarget20.png

[View Pose] ボタンをクリックすると、現在のベース ポーズが表示されます。ボーンをクリックして、Rotation (E) ウィジェットを使用することで調整できます。

Retarget21.png

上の画像では、右腕が調整され、左腕はデフォルトのベース ポーズ (回転ウィジェットを使用して調整可能) を使用しています。ポーズを調整したら、[Save Pose] オプションをクリックして、リターゲットしたベース ポーズを保存することができます。スケルトン間で類似したベース ポーズでは、アニメーションをリターゲットすることができます。スケルトン選択ウィンドウが表示されると、ターゲット スケルトンが、リターゲットしたベース ポーズを使用していることがわかります。

Retarget2_2.jpg

リターゲットしたベース ポーズでアニメーションをリターゲットすると、アニメーションの見栄えがよくなります。

Retarget23.png