Inspector 上の Blend Node の最初のオプションは Blend Type です。このドロップダウンを使用して,1つか2つのパラメータに基づいてブレンドすることご出来る複数のブレンドタイプの中からひとつのブレンドタイプを選択します。2D ブレンディングは二つのパラメータに基づいて子のモーションをブレンドします。
各々の用途に応じた2D Blend Type があります。それぞれどちらを選ぶかにより,モーションがどのように影響されるか異なってきます。
2D Simple Directional: モーションが異なる向きを表す場合に最適,例えば “walk forward”, “walk backward”, “walk left”, および “walk right”, または “aim up”, “aim down”, “aim left”, および “aim right” 。オプションとして位置 (0, 0) で,“idle” または “aim straight” などひとつのモーションを含めることが出来ます。Simple Directional Typeでは同じ向きのモーションは複数あるべきでなく,例えば “walk forward” および “run forward” とすべきではありません。
2D Freeform Directional: モーションが異なる向きを表す場合に最適,例えば “walk forward”, “walk backward”, “walk left”, おやび “walk right” 。モーションのセットには位置 (0, 0) で,“idle” などひとつのモーションを含めるベキです。Freeform Directional type は同じ向きの複数モーション,例えば “walk forward” および "run forward,をサポートしています。
2D Freeform Cartesian: モーションが異なる向きを表さない場合に最適です。Freeform Cartesian ではX および Y パラメータに異なる意味,例えばangular speed および speed,を持たせることぁ出来ます。例としては “walk forward no turn”, “run forward no turn”, “walk forward turn right”, “run forward turn right” 等になります。
Blend Type をセットした後,最初にやるべきことはこのブレンドツリーを制御する二つ アニメーション パラメータ を選択することです。この例ではパラメータは velocityX (strafing) および velocityZ (forward speed) です。
次に個別のアニメーションを追加するには
をクリックしてアニメーションクリップをブレンドツリーに追加出来ます。 完了すると,次のようになるはずです:2Dブレンディングの Position は 1DブレンディングのThresholdに相当し,違いは値がひとつではなく,二つのパラメータに対応して値が二つあるということです。水平方向のX軸のPositionは最初のパラメータに対応し,垂直のY軸のPositionは二つめのパラメータに対応しています。前方への歩行アニメーションでvelocityX が 0 および velocityZ が 1.5 であったとすると,それらの値はPos X および Pos Y の数字フィールドに入力すべきです。
インスペクタ上部のダイアグラムは2Dブレンド空間での子モーションのPositionを表します。モーションは青い点で表されます。アニメーションクリップまたはブレンドツリーのないモーションはブレンドに影響がなく灰色の点として表されます。モーションを選択するにはダイアグラムの点線をクリックします。一回選択したあとはブレンディング空間の各点の影響は青いフィールドで表現されます。フィールドはモーションの位置の真下が最も影響が強く,すなわちアニメーションの重み付けが1となり,他方のアニメーションの重み付けは0となります。その位置から離れていくと影響は弱まり,他方のモーションの影響が強くなります。
ブレンドノードの最上部にあるダイアグラムにより,パラメータ値の変化に伴って子モーションの重み付けぎ変化する様子を視覚化します。
赤い点は二つのParameter の値を表します。もし Inspector の下部のthe Preview で を押して,ダイアグラムの赤い点をダイアグラム上でドラッグするとパラメータの値が,各々のモーションのブレンディングをどう制御しているかが分かります。さらにダイアグラム上で各モーションよ影響を各モーションの周りの円として表示されます。青い点の上に赤い点を重ねると,モーションの半径は最大となり,他の全てのモーションはゼロになることを確認出来ます。いくつかのモーションの間にあるpositionについては,近くにある複数のモーションがブレンドに影響します。もしモーションのひとつを選択してそのモーションの影響するフィールドを確認すると,赤い点を動かすと様々なpositionにおいて,影響するフィールドの具体的な大きさはモーションの円のサイズと連動することが確認出来ます。
もしモーションがひとつも選択されていない場合,ダイアグラムは全ての影響フィールドの組み合わせとなり,ひとつのモーションが支配的な場合は青が強くなり,より影響が小さい場合は青が弱くなります。
モーションのPositionを変更するには対応する青の点をクリックして周りでドラッグします。さらにモーションリストのモーションのPosition座標を変更するには,Pos X および Pos Y 列の数字フィールドに値を入力することも出来ます。
ドロップダウンにより threshold を,アニメーションクリップのルートモーションから取得させることで,好きな順番にセットすることが出来ます。選択することが可能であるデータは speed,velocityの x,y,z および 角度またはラジアン単位の Angular Speed です。もし のひとつまたは両方がこれらのプロパティに対応する場合,Compute Positionsドロップダウンを使用してPos X および/または Pos Y を計算出来ます。
プロパティ: | 特徴: |
---|---|
Velocity XZ | 各々のモーションのPos X を自身の velocity.x , Pos Y を自身の velocity.z に基づいてセットします。 |
Speed And Angular Speed | 各々のモーションのPos X を角速度 (ラジアン毎秒単位)により,Pos Y を自身のスピードによりセットします。 |
さらに
および/または を選択することで組み合わせまたはマッチングして,ひとつのみを自動計算して,もう一方は変更させないことが出来ます。プロパティ: | 特徴: |
---|---|
Speed | 各々のモーションのPos X または Pos Yを speed (速度の大きさ)に応じてセットします。 |
Velocity X | 各々のモーションのPos X または Pos Yを velocity.xに応じてセットします。 |
Velocity Y | 各々のモーションのPos X または Pos Yを velocity.yに応じてセットします。 |
Velocity Z | 各々のモーションのPos X または Pos Yを velocity.zに応じてセットします。 |
Angular Speed (Rad) | 各々のモーションのPos X または Pos Yを ラジアン/毎秒単位の Angular Speed (角速度)に応じてセットします。 |
Angular Speed (Deg) | 各々のモーションのPos X または Pos Yを 角度/毎秒単位の Angular Speed (角速度)に応じてセットします。 |
例えば,パラメータが横と正面の向きのvelocityに対応していたとして,さらにidleアニメーションが (0, 0, 0)のvelocity ,歩行アニメーションが(0, 0, 1.5),さらに横移動のアニメーションが それぞれ (–1.5, 0, 0) および (1.5, 0, 0) だとします。ドロップダウンから Velocity XZ を選択することでモーションのpositionが,各々 X および Z 座標のvelocityに対応してセットされます。