複雑なアニメーション ロジックを作成するとき、単にすべてのボーンを同時にブレンドするのではなく、アニメーションをブレンドする方法を細かくコントロールすることが必要になる場合があります。ブレンド マスク とはブレンドからボーンを除外するために使用できるものであり、ブレンド プロファイル は、異なるボーンをブレンドするときの速度をコントロールできます。これらの追加ブレンド コントロールにより、ゲームプレイ アニメーションにおける忠実度や親和性を高められます。
このページでは、ブレンド マスクとブレンド プロファイルを作成して使用する方法の概要について説明します。
前提条件
プロジェクトに スケルタル メッシュ アクタ と アニメーション シーケンス が含まれること。
アニメーション ブループリント を作成し使用する基本の方法を理解していること。
ブレンド マスク
ブレンド マスク とは、使用するスケルトンに追加できる各種定義で、そこでウェイトの影響を決定し、特定のボーンで部分的あるいは完全にアニメーションのプレイを無効にできます。続いて特定ボーンでアニメーションをプレイするため、Layered Blend Per Bone でこの事前設定定義を使用できます。
ブレンド マスクの一般的なユースケースは、下半身のボーンを除外することです。これにより全身のステートに関係なく、上半身だけでアニメーションをプレイします。これが便利なのは、上半身のボーンが必要になるリロード、装備、射撃など、武器を扱うアニメーションで、残りの体の部分を無視する場合です。
|
|
---|---|
ブレンド マスク使用 |
ブレンド マスクなし |
ブレンド マスクを作成する
ブレンド マスクは、使用するスケルタル メッシュの スケルトン ツリー 内で作成します。スケルトン ツリーで [Options (オプション)] ドロップダウン メニューをクリックして、[Add Blend Mask (ブレンドマスクを追加)] を選択します。名前を付けて Enter を押します。
作成されたら、スケルトン ツリー内に ブレンド列 が表示され、ブレンド マスクがリスト表示されます。複数のブレンド マスクがある場合、[Options] メニューで対象をクリックすることで切り替えられます。
表示されているブレンド マスクを削除するには、スケルトン ツリーで [Options] ドロップダウン メニューをクリックして、[Remove (削除)] を選択します。
ブレンド マスクとブレンド プロファイルの両方が スケルトン アセットに格納されます。したがって、ブレンド マスクを作成または編集するとき、スケルトン アセットを編集しています。
ブレンド マスク値を編集する
ブレンド列に、ブレンド マスク内の各ボーンの現在値が表示されます。各ボーンに 0 から 1 の割り当て値があります。値 0 は対象ボーンでアニメーションがプレイされず、値 1 は 100% 値でアニメーションがプレイされます。
これらの値を編集するには、値をドラッグしてスライダ コントロールを有効にして設定する、または選択して直接値を入力します。
さらに同じ値をすべての子に設定するには、ボーンを右クリックして、[Recursively Set Blend Scales (ブレンドスケールを再帰的に設定)] を選択します。これによりこのブレンド値が同時に複数ボーンに適用されます。
ブレンド マスク値の編集に対する列が見つからない場合、プロパティ ヘッダを右クリックして、[Blend Profile (ブレンド プロファイル)] を有効にします。
ブレンド マスクを使用する
ブレンド マスクを作成し、適切な値を設定すると、これを アニメーション ブループリント で使用できます。これを実行するには、アニメーション グラフ内の Layered Blend Per Bone ノードでブレンド マスクを設定します。
アニメーション ブループリントのアニメーション グラフで、右クリックして、Layered blend per bone ノードを作成し、次のプロパティを [Details (詳細)] パネルで設定します。
Blend Mode を Blend Mask に設定します。
Blend Masks を使用するブレンド マスクに設定します。
受信ソースのベース ポーズとブレンド ポーズをつなげて、ブレンド マスクが動作していることを確認できます。この例では、上半身のブレンド マスクを使用しています。
この動作は、Layered Blend per bone ノードでデフォルトの Branch Filter ブレンド モードを使用して実現できますが、ブレンド マスクにより、使用するボーンでのブレンド量をより簡単に再利用できます。
ブレンド プロファイル
ブレンド プロファイル はスケルトンに追加できる定義で、ここでボーンごとのブレンド速度を決定し、一部のボーンが他のボーンより高速にブレンドできます。ブレンド プロファイルは次のメソッドを使用してブレンドするときに使用できます。
ブレンド プロファイルを使用するユースケースは、上半身より高速に下半身をブレンドすることで、アイドル状態と移動状態間を遷移するときに便利です。これは停止するとき足が地面にしっかりと接触し、移動を始めるとき上半身より前に自然に動いて見えるようにできます。
|
|
---|---|
ブレンド プロファイルを使用 (両脚を高速にブレンド) |
ブレンド プロファイルなし |
ブレンド マスクと同様に、ブレンド プロファイルは、スケルトン ツリーで 作成、管理、編集 します。スケルトン ツリーの [Options] ドロップダウン メニューをクリックし、[Add Time Blend Profile (タイム ブレンド プロファイルを追加)] または [Add Weight Blend Profile (ウェイト ブレンド プロファイルを追加)] を選択します。
ブレンド マスクとブレンド プロファイルのリストは同じ列とオプション メニュー領域に入るので、混同しないように分かりやすい名前を付ける必要があります。
タイム ブレンド プロファイル
タイム ブレンド プロファイル とは、ベースのブレンド値に対する正規化 (0 から 1) 乗数を使用してブレンドするブレンド プロファイルです。値 1.0 では、通常の速度でブレンドします。小さい値では高速にブレンドします。値 0.0 では、瞬時にブレンドされます。
たとえば、以下のように設定したとします。
Pelvis (骨盤) および上半身のすべてのボーンを 1.0 に設定します。
両脚および下半身のすべてのボーンを 0.5 に設定します。
このブレンド プロファイルを使用すると、ベース ブレンド時間に従って、この設定により常に両脚は 2 倍速でブレンドされます。Blend Poses by bool ノードで、ベース ブレンド時間を 2.0 秒に設定すると、両脚は 1.0 秒でブレンドされます。他のすべてのボーンは 1.0 に設定され、ベースの 2.0 秒でブレンドされます。
ウェイト ブレンド プロファイル
ウェイト ブレンド プロファイル とは、ベース ブレンド値に対してウェイト係数を使用して、ブレンドするブレンド プロファイルです。値 1.0 は通常の速度でブレンドします。高い値では高速にブレンドします。
たとえば、以下のように設定したとします。
Pelvis (骨盤) および上半身のすべてのボーンを 1.0 に設定します。
両脚および下半身のすべてのボーンを 2.0 に設定します。
このブレンド プロファイルを使用すると、ベース ブレンド時間に従って、この設定により常に両脚は 2 倍速でブレンドされます。値 2.0 は 2x 速でブレンドし、3.0 では 3x 速でブレンドするということです。
ブレンド プロファイルを使用する
ブレンド プロファイルを作成し、適切な値を設定すると、これを次の方法で適用できます。
アニメーション ブループリントのアニメーション グラフ にある Blend Pose ノードを選択し、[Details] パネルで [Blend Profile (ブレンド プロファイル)] プロパティを見つけます。
ステート マシンの遷移ルール で、遷移ルール を選択し、[Details] パネルで [Blend Profile] プロパティを見つけます。
アニメーション モンタージュ エディタで、モンタージュのブレンド イン/ブレンド アウトに異なるブレンド プロファイルを設定できます。[Asset Details (アセット詳細)] パネルで [Blend Profile In (ブレンド プロファイル イン)] および [Blend Profile Out (ブレンド プロファイル アウト)] のプロパティを使用します。