ブレンドスペース は 2 つの入力値に基づいたアニメーションのブレンドを可能にする AnimGraph でサンプリングできる特殊なアセットです。 単一の入力に基づいた 2 つのアニメーションの単純なブレンドは、Animation ブループリントで利用可能な標準の ブレンド ノード のひとつを使用して行うことができます。 ブレンドスペースは、複数の値 (現在は 2 に限定) に基づいた複数のアニメーション間で一段と複雑なブレンドを可能にします。
このガイドでは、キャラクターの移動の速度と方向に基づき歩行とジョギングのアニメーション間でブレンドするためにブレンドスペースを使用します。
![](https://d1iv7db44yhgxn.cloudfront.net/documentation/images/4217d056-0346-43af-a676-4cf9cac54374/endresultimage.png)
ステップ
このガイドでは Blueprint Third Person プロジェクトを使用し、Animation Starter Pack をプロジェクトに追加しました。
![](https://d1iv7db44yhgxn.cloudfront.net/documentation/images/fb090423-67d9-4c8d-ac99-55ad04fb76f7/animationassetpack.png)
Animation Starter Pack はエピックのランチャーの マーケットプレイス から無料でダウンロードすることができます。
-
プロジェクトの「 Content/ThirdPersonBP/Blueprints 」フォルダで ThirdPersonGameMode を開き、Default Pawn Class を Ue4ASP_Character に設定します。
これで Animation Starter Pack プロジェクトと共に作成されたプレイ可能なキャラクターを使用することができます。
-
レベルで ThirdPersonCharacter を選択し、レベルから削除します。
前のステップからのキャラクターとしてスポーンするためには、レベルからこのキャラクターを削除する必要があります。
-
「Content/AnimStarterPack/UE4_Mannequin/Mesh」 フォルダで UE4_Mannequin 上で 右クリック し [Create] で [Blend Space] を選択して名前を付けます。
Blend Space アセットは参照する Skeleton アセットが必要です。ここではショートカットを使ってこの Skeleton アセットからブレンドスペースを作成し、MyBlendSpace と呼びます。
-
ブレンドスペース内の [Asset Details] パネルの [Axis Settings] で以下の値を追加します。
横軸は 移動 方向を角度で決定します。
横軸の設定 値 Name Direction Minimum Axis Value -180 Maximum Axis Value 180 Number of Grid Divisions 4 Interpolation Time 0 Interpolation Type Averaged Interpolation 縦軸ではキャラクターが移動する 速度 を決めます。
縦軸の設定 値 Name Speed Minimum Axis Value 0 Maximum Axis Value 250 Number of Grid Divisions 4 Interpolation Time 0 Interpolation Type Averaged Interpolation -
アセットブラウザ で Walk_Fwd_Rifle_Ironsights アニメーションをグリッド上の下部中央にドラッグします。
ここはブレンドスペースに入ったときの開始位置になります。
-
以下のように Walk_Lt_Rifle_Ironsights アニメーションを位置 1 に、Walk_Rt_Rifle_Ironsights アニメーションを位置 2 にドラッグします。
ここでは左右に移動するときに使うアニメーションを配置します。
-
以下のように Walk_Bwd_Rifle_Ironsights アニメーションを位置 1 と位置 2 にドラッグします。
ここでは後方に移動するときに使うアニメーションを配置します。
-
アセットブラウザ で Jog_Fwd_Rifle アニメーションをグリッド上の上部中央にドラッグします。
これでスピードが最高限度 250 で、左右に動いていないときに前方向にジョギングする別のアニメーションを使用することができます。
-
以下のように Jog_Lt_Rifle アニメーションを位置 1 に Jog_Rt_Rifle アニメーションを位置 2 にドラッグします。
-
以下のように Jog_Bwd_Rifle アニメーションを位置 1 と位置 2 にドラッグします。
-
「Content/AnimStarterPack」 フォルダで UE4ASP_HeroTPP_AnimBlueprint を開いて、[MyBlueprint] パネルで Locomotion グラフを ダブルクリック します。
-
Jog ステートを ダブルクリック してグラフを開きます。
![](https://d1iv7db44yhgxn.cloudfront.net/documentation/images/8a3e4ed2-4d60-406c-9a13-ef906a530d20/blendspace12.png)
ステートマシン には既に Jog State があり、その中に別の Jogging モーションのためのブレンドスペースがあります。
-
[アセットブラウザ] から、MyBlendSpace アセットをグラフにドラッグし、BS_Jog ブレンドスペースを以下のように置き換えます。
デフォルトのブレンドスペースには Walking ステートはありませんが、作成したブレンドスペースにはあるので置き換えてみましょう!
-
「Content/AnimStarterPack」 フォルダで、Ue4ASP_Character を開きます。
-
グラフで Crouch セクションを見つけて削除して警告エラーを取り除きます。
デフォルトで Animation Starter Pack には crouch (かがむ) のために作成されたバインディングがありますが、これはこのプロジェクトにはありません。この例では、かがんで歩く機能を取り除きます。
-
グラフ内で 右クリック して、Left Shift Key Event を追加します。次に [Components] タブから CharacterMovement をグラフにドラッグします。
[Left Shift] ボタンを押して保持すると、歩行からジョギングに切り替わります。
-
CharacterMovement ノードと Set Max Walk Speed (最高歩行速度の設定) を Pressed と Released にドラッグし、それぞれの値を 250 と 150 にします。
左シフトを保持しているかに基づき移動速度を変更しており、ゲーム内のキャラクターの移動速度が変わります。
-
[CharacterMovement] コンポーネントをクリックします。次に、 [Details (詳細)] パネルで Max Walk Speed を 100 に変更します。
キャラクターのデフォルトの移動速度を更新し、歩行を開始するようにします。
-
[Components] タブで CapsuleComponent をクリックします。次に [Details (詳細)] パネルの [Hidden in Game (ゲーム内で非表示)] オプションにチェックを入れます。
これでゲーム内のコリジョンのカプセルのデバッグ表示がオフになります。
-
コンパイル をクリックし、ツールバーで [Play in editor ] ボタンをクリックします。
最終結果
エディタでプレイする場合、 WASD を使用して移動すると、キャラクターがデフォルトで歩行し、方向を変えるときに歩行のアニメーション間でブレンドします。 立った状態で、WASD を使用しながら Left Shift を押して保持すると、キャラクターは歩行 / 照準のアニメーションから身を低くして / 照準して走るアニメーションにブレンドし、基本的にキャラクターを「スプリント」 (すばやく走ること) させます。