UDN
Search public documentation:

MatineeAnimControlTrackJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

MatineeAnimControlTrack

ドキュメントの概要: 高度なキャラクター アニメーションのブレンドによる、Matinee の AnimControl トラックの使用説明。

本ドキュメントの変更ログ: Laurent Delayen により作成。

概要

高度なキャラクター アニメーション ブレンディングを使用した、Matinee の AnimControl トラックに関する使用方法をご説明します。

あるアクタ上でひとつだけのアニメーションをMatinee を使ってプレイするのはとても簡単です。まず、対象となる AnimSet をアクタのグループの GroupAnimSet のアレイに追加します。次に、AnimControl トラックをグループに追加し、キーを追加すると、選択群となる AnimSequence のリストが提供されます。一つの AnimControl トラックを使用するだけの場合は、スロット名など割り当ての必要は一切ありません。

Matinee は、SkeletalMesh 上で複数のアニメーションをプレイするために「スロット」を使用します。各スロットの対応先は、頭のみ、胴、右腕、または全体のメッシュといった特定の領域になります。

次に、各スロットには数個のチャンネルがあります。一つのチャンネルは、一度にプレイされる可能性のある一つのアニメーションを表します。したがって、それ以上のチャンネルを持つということは、それ以上のアニメーションがスロットで一緒にブレンドすることを意味します。

この簡単なチュートリアルでは、AnimControl トラックを使った SkeletalMesh 上で、Matinee のアニメーションを再生するために必要なステップ概要をご説明します。

AnimTree のセットアップ

AnimNodeSlot というアニメーションノードを、AnimNodeBlendPerBone と組み合わせて配置し、キャラクターボディーのある特定の骨格をマスクします。このプロセスで、Matinee で使用するスロットが作成されます。

スロットにより、アニメーションをプレイする骨格マスクを定義します。AnimNodeBlendPerBone アニメーション ノードが何も使用されない場合は、アニメーションが、骨格のすべてのボーンに影響し、結果として「ボディ全体」上でプレイします。したがってこの場合、AnimNodeSlot ノードを配置し、それに(ノードの NodeName プロパティ)「Slot_FullBody」と名付けます。

その後で、骨格のサブ領域を処理します。例えば、AnimNodeBlendPerBone のノードを配置し、足についてすべてマスクします。次に AnimNodeSlot を配置し、「Slot_UpperBody」と名付けます。さらに、カスタム アニメーションをプレイするボディ パーツ(足、頭など)全てについて、同様に繰り返します。

AnimNodeSlot は、デフォルトのアニメーションに接続された最初の子(ソース)です。デフォルトでは、Matinee 指定のアニメーションがないため、AnimTree でセットアップされたものを全てプレイします。これにより、デフォルトのアニメーション用の AnimTree が用意され、例えばキャラクターが移動するときは歩行のアニメーションがプレイされます。しかしMatinee の場合、Matinee にアニメーションをオーバーレイできます。例えば、「手を振るアニメーション」はキャラクターのボディ上部にオーバーレイする、といった具合です。

Matinee の AnimControl トラックを使って AnimNodeSlot 子(チャンネル)を追加利用して、アニメーションをプレイします。トラックが多いほど、より多くの同時再生アニメーションをプレイ(または相互にブレンド)できます。

これは、単純な AnimTree のセットアップのスクリーンショットです。

MAT_AnimTreeSetup.jpg

3 つのスロットが定義されています。Slot_LowerBody、Slot_UpperBody は、Slot_FullBody よりも優先されます。 このデフォルトアニメーションは、アクタの移動の中で前進歩行のアニメーション、および立ち止まる動作のアイドル アニメーションを再生する AnimNodeBlendBySpeed です。ノードを配置した順序によって、Slot_FullBody でボディ全体のアニメーションを再生するのか、Slot_LowerBody または Slot_UpperBody のいずれか(または両方) を別のカスタム アニメーションにオーバーレイできるのかが決まります。AnimNodeBlendPerBone の前に Slot_FullBody を配置した場合、ボディ全体のノードがボディ上部のノードを上書きして消してしまうことになるため、カスタムのボディ全体用アニメーションにボディ上部用のアニメーションをオーバーレイすることはできません。

レベルのセットアップ

SkeletalMeshActorMAT のアクタを通してマップにキャラクターを配置します。このクラスに含まれるコードは、ポーンなどのあらゆるアクタに追加可能で、ゲームプレイ中にアクタをコントロールし、Matinee からのアニメーション再生が可能です。SkeletalMeshActorMAT では、メッシュを適用してMatinee に取り付け、アニメーションを再生する簡単な方法が提供されます。

以前に作成した AnimTree の参照して AnimTree テンプレートのプロパティをセットアップし、メッシュが正確にセットアップされたことを確認してください。

Matinee セットアップ

InterpGroup (インタープリタ グループ) は、GroupAnimSet のプロパティを通じて使用するアニメーションの特徴を示している必要があります。

InterpGroup から(右クリックで) AnimControl トラックを追加します。

SlotName は、AnimTree でセットアップされた AnimNodeSlot の名前です。したがって例では、Slot_FullBody、Slot_UpperBody、および Slot_LowerBody となります。追加チャンネルを作成するには、これらのスロットのトラックを複製します。

優先順位は、下から上の順になります。つまり、一番上のチャンネルよりも一番下のチャンネルの方が優先順位が高くなります。Slot_FullBody に対し、ウェイトが 1.0 のチャンネルがふたつある場合、より下にあるチャンネルのみがアニメーションを供給します。

各チャンネルのウェイトをセットするには、カーブ エディタを使用します。ウェイトの有効範囲はウェイトが 0.0 から 1.0 です。

これは、既存の AnimTree を使用したセットアップの例ですので、ご参照下さい。

MAT_Matinee.jpg