ランタイム IK リターゲティング

Retarget Pose From Mesh を使用してキャラクターの動的なランタイム リターゲティングを行えるようにします。

IK リターゲティング を使用してキャラクターをリターゲティングするときに使用できるオプションの 1 つとして、ランタイム セッション中のリターゲティングがあります。これを実行すれば、新しい アニメーション シーケンス を生成することなく、または Live Link セッション中に別のキャラクターにリターゲティングできます。

このドキュメントでは、IK リターゲティングRetarget Pose From Mesh を使用して、ランタイム セッション中に別のキャラクターにリターゲティングするようにキャラクターを設定する方法について説明します。

前提条件

  • キャラクターを別のキャラクターにリターゲティングする、IK リターゲッタ アセット を作成していること。その方法については、「IK リグによる二足歩行キャラクターのリターゲティング」ページを参照してください。

  • (必須ではありませんが) ゲームプレイ中にキャラクターを制御してランタイム時のリターゲティング エフェクトのプレビューを改善できること。制御可能なマネキンを含む サードパーソン テンプレート を使用できること。

アニメーション ブループリントの設定

最初の主要な手順として、ターゲット キャラクター用の アニメーション ブループリント を作成します。この例では、マネキンを Stack-O-Bot にリターゲティングしているため、Stack-O-Bot 用の新しい アニメーション ブループリントRetarget Pose From Mesh ノード を作成します。

コンテンツ ブラウザ[+ Add (+ 追加)] をクリックし、[Animation (アニメーション)] > [Animation Blueprint (アニメーション ブループリント)] の順に選択します。次のウィンドウで、ターゲットの スケルタル メッシュ を選択して [Create (作成)] をクリックします。アニメーション ブループリント アセットに名前を付け、そのアセットをダブルクリックして開きます。

create animation blueprint

次に、アニメーション グラフ をダブルクリックし、[Misc. (その他)]> [Retarget Pose From Mesh] の順に選択してこのノードを作成してから、Output Pose に接続します。

add retarget pose from mesh

Retarget Pose From Mesh ノードを選択し、次のようにプロパティを設定します。

  • [Use Attached Parent (アタッチした親を使用)] を有効にします。これによってコンテンツの設定が容易になり、ソース メッシュ コンポーネント** を見つけて手動で割り当てる必要がなくなります。

  • このチュートリアルの 前提条件 として作成した IK リターゲッタ アセットに [IKRetargeter Asset] を設定します。

retarget pose from mesh properties

ブループリントの設定

この次の手順では、単一のブループリントでソースとターゲット両方のキャラクターを設定し、前の手順で作成したアニメーション ブループリントをターゲット キャラクターに割り当てる必要があります。

まず、コンテンツ ブラウザ[+ Add] をクリックして新しい アクタ ブループリント を作成してから [Blueprint Class (ブループリント クラス)] を選択し、[Actor (アクタ)] をクリックします。ブループリント アセットに名前を付け、そのアセットをダブルクリックして開きます。

create blueprint

ブループリント[Components (コンポーネント)] パネルで [+ Add] をクリックし、2 つの スケルタル メッシュ コンポーネント (ソース用とターゲット用) を追加します。[Details (詳細)] パネルで、各コンポーネントの該当するスケルタル メッシュ アセットに スケルタル メッシュ アセット のプロパティを割り当てます。

add skeletal mesh components

ターゲットのアニメーション ブループリントで [Use Attached Parent] が有効になっている場合は、リターゲティングが正しく機能するように、ターゲットのスケルタル メッシュがソース コンポーネントの親となるようにする必要があります。この設定により、親コンポーネントがソースとして使用されるためです。

parent components and use attached parent

ソース キャラクターを選択して [Animation Mode (アニメーション モード)][Use Animation Asset (アニメーション アセットを使用)] に設定してから、アニメーションを [Anim to Play (再生するアニメーション)] に割り当てます。次に、ターゲット キャラクターを選択し、前の手順で作成したアニメーション ブループリントを [Anim Class (アニメーション クラス)] に割り当てます。

assign animation blueprints to skeletal mesh components

そうすると、ターゲット キャラクターがソース キャラクターにリターゲティングされる様子がブループリントのビューポートに表示されます。

retargeting results in blueprint

キャラクター ブループリントの例

プロジェクトのニーズによっては、さまざまなキャラクターのゲームプレイ アニメーションのプロトタイピングでランタイム リターゲティングが役に立つ場合があります。この例では、ブループリントに追加した Stack-O-Bot を使用して、サードパーソン テンプレート のキャラクター ブループリントを変更しました。

character blueprint setup

これにより、さまざまなキャラクターの 可視性 を切り替えるロジックを作成して、ゲームプレイ シナリオでリターゲティングの結果をプレビューできます。

gameplay example

ソース キャラクターを非表示にしている場合は、[Optimization (最適化)] カテゴリの [Visibility Based Anim Tick Option (アニメーション ティック オプションに基づく可視性)][Always Tick Pose and Refresh Bones (常にポーズをティックしてボーンを更新)] に設定する必要があります。

always tick pose and refresh bones

タグ
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル