IK リグ を使用して、さまざまな スケルタル メッシュ 間でアニメーション リターゲティングを作成します。これは、単純化されたワークフローを提供しながらスケルトン間 (一致していてもそうでなくても) でアニメーションを正確に移行できる、Unreal Engine の従来の アニメーション リターゲティング 機能とは異なります。
アニメーションのリターゲティングは、Unreal Engine の外部で新しいアニメーションを作成および管理することなく、複数の異なるスケルトン間でアニメーション データを共有する手段を提供します。
このページでは、IK リグおよび IK リターゲッタ を使用した IK リグ リターゲティングのプロセスの概要について説明します。
前提条件
IK リグ アセットの作成と使用に慣れている。これを行う方法については、「IK リグ エディタ」ページを参照してください。
プロジェクトに、リターゲティング プロセスを評価するための 2 つの異なるスケルタル メッシュがある。
ソースとターゲットの設定
IK リグを使用したリターゲティングは、IK リグ アセット によって定義されている 2 つのスケルタル メッシュを、ソース と ターゲット として指定することで行われます。したがって、各キャラクターに対して 1 つの IK リグを作成しておきます。
ルートをリターゲティングする
両方の IK リグ アセット内で各キャラクターのルートを定義する必要があります。通常は骨盤または臀部のボーンです。これを行うのは、キャラクターのルート モーションが定義され、比例した方法で移行されるようにするためです。
[Hierarchy (階層)] パネルでボーンを右クリックして [Set Retarget Root (リターゲティング ルートを設定)] を選択します。両方の IK リグ アセットでこれを行います。
これは、[Hierarchy] パネルおよび [IK Retargeting (IK リターゲティング)] パネルにあるリターゲティング ルートを表します。
リターゲティング チェーン
リターゲティング プロセスで移行する手足および他の付属物も、ソースとターゲットの両方の IK リグで定義されている必要があります。このプロセスは、Autodesk MotionBuilder や Maya などの他のアプリケーションで見られる、リグを「キャラクター化」することに似ています。主な違いは、個々のボーンではなく ジョイント チェーン で定義することです。そうすることで、ボーン構造が大きく異なるリターゲティング キャラクターに柔軟性が与えられます。
たとえば、ターゲット キャラクターのアームの数がソースよりも多くても、アーム チェーン全体を定義しているので、リターゲティング動作は正しく機能します。
ソースのアーム チェーン。
ターゲットのアーム チェーン。
チェーンを作成するには、[IK Retargeting] パネルにある [Add (+) New Chain (新規チェーンを追加) をクリックします。そうすると、空のチェーンが作成されます。
チェーンでは以下のパラメータを設定する必要があります。
名称 |
説明 |
---|---|
Chain Name (チェーン名) |
The name of this chain.これは任意の名前にすることができますが、目的とする他の IK リグのリターゲティング チェーンと一致している必要があります。 一致するチェーン名のプロセスは あいまい 文字列一致で決定されます。そのため、各 IK リグの チェーン名 は完全に一致する必要はありませんが、一致させるように努めることをお勧めします。例えば、「 |
Start Bone (開始ボーン) |
リターゲティング チェーンの開始ボーン。アームをリターゲティングしている場合、通常は上部アームのボーンを選択します。 |
End Bone (終了ボーン) |
リターゲティング チェーンの終了ボーン。アームをリターゲティングしている場合、通常は手のアームを選択します。 |
IK Goal (IK 目標) |
オプションとして、適切な精度でリターゲティングされない可能性がある 手足またはチェーンを安定させる ために、ここで IK 目標 を選択します。そのためには、これらの目標の ソルバ も作成する必要があります。これにより、リターゲティング プロセス後にそれらのソルブが実行されます。 |
チェーンは、リターゲティングするすべての主な手足に対して作成する必要があり、指などの小さい部分ではオプションです。この例では、両方の IK リグで以下のチェーンが作成されます。
Spine (背骨)
Left Arm (左腕)
Right Arm (右腕)
Neck (首)
Head (頭)
Left Leg (左脚)
Right Leg (右脚)
目的とするチェーン内のすべての ボーン を個別に選択し、[Hierarchy (階層)] パネルでそれを右クリックして [New Retarget Chain from Selected Bones (選択ボーンからリターゲティング チェーンを新規作成)] を選択することでチェーンを作成することもできます。
IK リターゲッタ
両方の IK リグを作成し、必要なボーン チェーンを作成したら、IK リターゲッタ でリターゲティング プロセスを始めることができます。IK リターゲッタは、ソースとターゲットの両方のリグを参照するアセットおよびエディタであり、リターゲティング結果をカスタマイズするための機能を提供します。
IK リターゲッタを作成するには、コンテンツ ブラウザにある + をクリックして、[Animation (アニメーション)] > [IK Retargeter (IK リターゲッタ)] を選択します。表示されるダイアログ ウィンドウで、ソース IK リグ アセットを指定する必要があります。
リターゲティングをプレビューする
IK リターゲッタが表示されると、ソースのスケルタル メッシュがビューポートに表示され、Source IKRig Asset プロパティに示されます。ターゲットのメッシュを追加するには、Target IKRig Asset プロパティにターゲットの IK リグを割り当てます。両方のキャラクターが表示され、ソース キャラクターがターゲット キャラクターに影響を及ぼしています。
[Asset Browser (アセット ブラウザ)] パネルから別のアニメーションを選択して、さまざまなアセット上でリターゲティング エフェクトをプレビューできます。
[Chain Mapping (チェーン マッピング)] パネルには、ソース チェーンとターゲット チェーン、およびそれらのマッピング関係が表示されています。[Source Chain (ソース チェーン)] 内にあるドロップダウン メニューを使用して、別のチェーン マッピングを指定することや、不一致を修正することができます。
ポーズを編集する
リターゲットされているキャラクターの参照ポーズによっては、ベース リターゲティング ポーズ の形でそのポーズの編集が必要になることがあります。通常は、ターゲット キャラクターの参照ポーズがソースと異なっている (A ポーズではなく T ポーズである、など) 場合にこれを行う必要があります。そのようなリターゲティング ポーズを一致させておくと、リターゲティングの精度が向上します。
ソース キャラクターの参照ポーズは A ポーズである。
ターゲット キャラクターの参照ポーズは T ポーズである。
参照ポーズの不一致を解決するには、以下のツールバー コントロールを使用してリターゲティング ポーズ編集するか、別のリターゲティング ポーズを作成します。
名称 |
説明 |
---|---|
Current Retarget Pose (現在のリターゲティング ポーズ) |
ターゲット キャラクターで使用されている現在のリターゲティング ポーズの一覧が表示されます。デフォルトでは、デフォルト ポーズだけが示されますが、[New Pose] をクリックして新規ポーズを作成した場合は、それらも一覧表示されます。
|
Edit Pose (ポーズを編集) |
[Current Retarget Pose] を編集します。ビューポートでボーンを操作できるようになります。このモードを有効にして、ソースのポーズにぴったり一致するようにターゲット キャラクターのポーズを変更します。
表示されて選択できるのは、リターゲティング チェーンで定義されているボーンのみです。 |
New Pose (新規ポーズ) |
新規のリターゲティング ポーズを作成します。そうすると、[Current Retarget Pose] ドロップダウン メニューで選択できるようになります。これをクリックするとダイアログ ウィンドウが表示されるので、新規ポーズの名前を指定します。
複数のリターゲティング ポーズを指定しておくと、Target IKRig Asset プロパティを変更することで異なるターゲット キャラクターを使用したい場合に便利です。また、特定のアニメーションは、リターゲティング ポーズによっては他のポーズよりも正確にリターゲティングされることがあります。そのため、特定のアニメーションを考慮して、独自の複数のリターゲティング ポーズの作成が必要になることがあります。 |
Delete Pose (ポーズを削除) |
[Current Retarget Pose] を削除します。 |
Reset Pose (ポーズをリセット) |
これをクリックすると、ポーズに対して行ったすべての変更内容がリセットされ、キャラクターがベース参照ポーズに戻ります。 |
IK 目標によるリターゲティング
サイズが大きくボーンが異なっているキャラクターでは、単純なボーン チェーン のリターゲティングでボーンの不要な動きが生じることがあります。たとえば、次のようなターゲットの脚で余分な動きが現れて、望ましくないクリッピングが生じることがあります。
ターゲット IK リグから IK 目標 と ソルバ を使用して、これらの手足を安定させて、この問題を軽減することができます。そうするには、問題があるジョイントに対して同様の IK 目標とソルバを作成し、[IK Retargeting] パネルでその目標をそれぞれのチェーンに割り当てます。
たとえば、フルボディ IK ソルバがターゲット IK リグに作成されています。このソルバは足の IK 目標にリンクしているので、それを使用して両足に IK が提供されています。
そして、それらの目標は、[IK Goal] 列にあるそれぞれのリターゲティング チェーンに割り当てられています。そうすることで、リターゲティング プロセスの後に、これらの目標を使用してソルバが実行されます。
IK リターゲッタでリターゲティング結果をプレビューすると、今度は安定性が向上しています。[Details] パネルで [Retarget IK (IK をリターゲティング)] の有効/無効を切り替えて、この IK 手順の違いをプレビューすることもできます。
リターゲティング結果をエクスポートする
ターゲット キャラクターでのリターゲティング結果が納得のいくものになったら、そのアニメーションを、そのキャラクターのスケルトンに対応した アニメーション シーケンス にエクスポートできます。そうするには、エクスポートするアニメーションを [Asset Browser] パネルで選択して [Export Selected Animations (選択したアニメーションをエクスポート)] をクリックします。
ダイアログ ウィンドウでエクスポート先のパスを指定して [OK] をクリックすると、アニメーションがエクスポートされます。リターゲティングしたアニメーションが、サフィックス「_Retargeted
」付きで出力フォルダに作成されます。
IK リターゲティング エディタの設定
IK リターゲティング エディタの [Details] パネルには以下のプロパティがあります。
名称 |
説明 |
---|---|
Source IKRig Asset |
アニメーションのコピー元であるソース IK リグ。この値は変更できません。 |
Target IKRig Asset |
アニメーションのコピー先であるターゲット IK リグ。 |
Target Preview Mesh |
ここに別のスケルタル メッシュを指定すると、そのメッシュに対するリターゲティング動作をプレビューできます。 |
Retarget Root |
ターゲット IK リグで定義されているルート ボーンの平行移動を有効にします。ルートのリターゲティング動作をデバッグする場合以外は、これを無効にしないでください。 |
Retarget FK |
すべての ボーン チェーンのリターゲティングを有効にします。ボーン チェーンのリターゲティング動作をデバッグする場合以外は、これを無効にしないでください。 |
Retarget IK |
IK 目標がリターゲティング チェーンで使用されている場合に、IK リターゲティング パスを有効にします。IK のリターゲティング動作をデバッグする場合以外は、これを無効にしないでください。 |
Target Actor Offset |
ターゲット キャラクターの、ソース キャラクターからの横方向の距離。大きいキャラクターでは。この値を大きくする必要があることがあります。
|
Target Actor Scale |
ターゲット キャラクターのスケールを増減するために使用できる、プレビューのスケール モディファイア。ソースと比べてターゲットが非常に小さいかまたは大きい場合に、この値を変更して見やすいようにサイズを近づけることができるので便利です。
|
Bone Draw Size |
[Edit Pose] が有効である場合に、ターゲット キャラクターのボーンの表示サイズを制御します。 |
一括リターゲティング
アニメーション シーケンスやブレンド スペース、アニメーション ブループリントなど、ほとんどの アニメーション アセット は、一括リターゲティング によって コンテンツ ブラウザ からすばやくリターゲティングすることができます。
リターゲットするアニメーション アセットを コンテンツ ブラウザ 内で選択して右クリックし、[Retarget Animation Assets (アニメーションアセットをリターゲティング)] > [Duplicate and Retarget Animation Assets (アニメーション アセットを複製してリターゲティング)] を選択します。
一括リターゲティングのウィンドウが開きます。ここで、一括プロセスを開始する前に、リターゲティング動作と結果をカスタマイズできます。
ソース スケルタル メッシュとターゲット スケルタル メッシュのプレビュー。これらのパネルは、IK リターゲター を指定するまで有効になりません。有効になると、リターゲティング先のキャラクターを変更したい場合に、ここでターゲット スケルタル メッシュを変更できます。
ターゲットを IK リターゲターで定義されているものとまったく異なるスケルトンに変更すると、適切でない結果が生じる場合があります。
ソースおよびターゲットのスケルタル メッシュと一括リターゲティング プロセスを知らせるための IK リターゲター アセット。
出力アセットの名前に対して新しいプレフィックス モディファイアとサフィックス モディファイアを指定し、テキストの検索と置換ができるテキスト フィールド。[Old Name (古い名前)] と [New Name (新しい名前)] には、テキスト エントリのプレビューが表示されます。
リターゲティングされたアセットの保存先である出力フォルダ。
[Remap References Assets (参照アセットを再マッピング)] では、他のリターゲティングされたアセットへの参照を含むあらゆるアセット (アニメーション シーケンスを参照するブレンド スペースなど) を、新しく作成されてリターゲティングされた結果に再マッピングできます。
これを 無効 にすると元の参照が維持されて、新しいスケルトンとの互換性が失われたアニメーションを参照するアセットで問題が生じる場合がります。
これを 有効 にすると、参照されているすべてのアセットをリターゲティングしなかった場合に、参照に関する問題が生じることがあります。
[Retarget (リターゲティング)] をクリックして、一括リターゲティング プロセスを開始します。