アニメーション ポーズのスナップショット

アニメーションのポーズのスナップショットでは実行時のスケルタルメッシュのポーズをブループリント内でキャプチャーして、Animation ブループリント内で追加ポーズをブレンドイン、ブレンドアウトすることができます。

スケルタルメッシュ をアニメートする場合、物理でメッシュを制御することがあります (キャラクターが「ラグドール」状態になるなど)。 物理を適用後、Animation Pose Snapshot (アニメーション ポーズのスナップショット) 機能を使って、スケルタルメッシュのポーズ (すべてのボーン トランスフォーム データを保存したもの) を ブループリント 内でキャプチャーすることができます。 次に、 Animation ブループリント 内でこの情報を取り出して、保存したポーズをブレンド元として使うことができます (以下の動画)。

上の例では、 [R] キーを押すとキャラクターがラグドール状態になります。Character ブループリントPose Snapshot ノードを使用し、スケルタルメッシュのポーズを保存します。 [R] キーを再度押すと、キャラクターがスナップショットからブレンドし、"get up" アニメーション モンタージュ を再生してから通常のロコモーション ステートを再開します。 これで物理の結果として最終的なキャラクターのポーズが何になっても、そのポーズからキャラクターが立ち上がるアニメーションに滑らかにブレンドできるようになります。

Save Pose Snapshot

スケルタルメッシュのポーズをランタイムに保存するには、Character ブループリント 内で Skeltal Mesh コンポーネント とその Anim Instance にアクセスする必要があります。 スケルタルメッシュと Anim Instanceを用意したら、Save Pose Snapshot ノードを呼び出して必要な Snapshot Name を入力します。 [Snapshot Name] 欄に名前を手動入力するか、名前を保存する変数を作成します。

PoseSnapShotBlueprint.png

Snapshot Name として指定した名前は、Animation ブループリント 内でPose Snapshot を取り出す場合にも使用しなければなりません。 さらに、Save Pose Snapshot を呼び出す場合、スナップショットは現在の LOD で撮られます。例えば、LOD1 でスナップショットを撮って、LOD0 で使用すると、LOD1 にないボーンはメッシュのリファレンス ポーズを使用します。

Pose Snapshot を取り出す

Pose Snapshot を取り出すには、Animation BlueprintAnimGraph 内で 右クリック して、Pose Snapshot ノードを追加して Snapshot Name を入力します。

PoseSnapShotAnimBPNode.png

以下はラグドール ポーズから立ち上がるキャラクターのサンプル使用例のグラフです。

PoseSnapShotAnimBP.png

上の図では、キャラクターのロコモーションを操作する Default という ステートマシン で、 MySlot ノードという Slot ノードを使用し、キャラクターが立ち上がるアニメーション モンタージュを再生します。 Blend Poses by bool ノードを使って、キャラクターが移動を停止したかを判断し、True の場合は、Pose Snapshot に切り替えます。 False の場合、Pose Snapshot からスロットに入れた AnimMontage にブレンドしてから、通常の Default State Machine に続きます。

Snapshot Pose 関数

Pose Snapshot 機能を使う代替方法として、ブループリント 内で Snapshot Pose 関数を呼び出してスナップショットを Pose Snapshot 変数に格納します。

SnapshotPose.png

Snapshot Pose を使用する場合、上図のようにスナップショットを保存する変数を与える必要があります。

AnimGraph 内で、Pose Snapshot ノードを追加したら、[Details] パネルで、[Mode]Snapshot Pin に設定し、[(As pin) Snapshot] オプションにチェックを入れます。

PoseSnapshotDetails.png

これで Pose Snapshot 入力ピンをノード上に公開し、必要なスナップショット変数を渡すことができます。

SnapshotPoseAnimGraph.png

追加のリソース

この機能についての追加情報は、以下の Live Training Stream でもご覧いただけます。

このページは Unreal Engine の前のバージョン用です。現在リリースされている Unreal Engine 5.3 に対して更新は行われていません。
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル