Language:
Page Info
Skill Level:
Engine Version:

ロコモーション ベースのブレンド

ブレンドスペース は 2 つの入力値に基づいたアニメーションのブレンドを可能にする AnimGraph でサンプリングできる特殊なアセットです。 単一の入力に基づいた 2 つのアニメーションの単純なブレンドは、Animation ブループリントで利用可能な標準の ブレンド ノード のひとつを使用して行うことができます。 ブレンドスペースは、複数の値 (現在は 2 に限定) に基づいた複数のアニメーション間で一段と複雑なブレンドを可能にします。

このガイドでは、以下のようにキャラクターの移動の速度と方向に基づき歩行とジョギングのアニメーション間でブレンドするためにブレンドスペースを使用します。

ステップ

このガイドでは Blueprint Third Person プロジェクトを使用し、Animation Starter Pack をプロジェクトに追加しました。

AnimationAssetPack.png

Animation Starter Pack はエピックのランチャーの マーケットプレイス から無料でダウンロードすることができます。

  1. プロジェクトの「 Content/ThirdPersonBP/Blueprints 」フォルダで ThirdPersonGameMode を開き、Default Pawn ClassUe4ASP_Character に設定します。

    BlendSpace1.png

    これで Animation Starter Pack プロジェクトと共に作成されたプレイ可能なキャラクターを使用することができます。

  2. レベルで ThirdPersonCharacter を選択し、レベルから削除します。

    BlendSpace2.png

    前のステップからのキャラクターとしてスポーンするためには、レベルからこのキャラクターを削除する必要があります。

  3. 「Content/AnimStarterPack/UE4_Mannequin/Mesh」 フォルダで UE4_Mannequin 上で 右クリック[Create][Blend Space] を選択して名前を付けます。

    BlendSpace3.png

    Blend Space アセットは参照する Skeleton アセットが必要です。ここではショートカットを使ってこの Skeleton アセットからブレンドスペースを作成し、MyBlendSpace と呼びます。

  4. ブレンドスペース内の [Asset Details] パネルの [Axis Settings] で以下の値を追加します。

    BlendSpace4.png

    横軸は 移動 方向を角度で決定します。

    横軸の設定
    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
  5. アセットブラウザWalk_Fwd_Rifle_Ironsights アニメーションをグリッド上の下部中央にドラッグします。

    BlendSpace5.png

    ここはブレンドスペースに入ったときの開始位置になります。

  6. 以下のように Walk_Lt_Rifle_Ironsights アニメーションを位置 1 に、Walk_Rt_Rifle_Ironsights アニメーションを位置 2 にドラッグします。

    BlendSpace6.png

    ここでは左右に移動するときに使うアニメーションを配置します。

  7. 以下のように Walk_Bwd_Rifle_Ironsights アニメーションを位置 1 と位置 2 にドラッグします。

    BlendSpace7.png

    ここでは後方に移動するときに使うアニメーションを配置します。

  8. アセットブラウザJog_Fwd_Rifle アニメーションをグリッド上の上部中央にドラッグします。

    BlendSpace8.png

    これでスピードが最高限度 250 で、左右に動いていないときに前方向にジョギングする別のアニメーションを使用することができます。

  9. 以下のように Jog_Lt_Rifle アニメーションを位置 1Jog_Rt_Rifle アニメーションを位置 2 にドラッグします。

    BlendSpace9.png

  10. 以下のように Jog_Bwd_Rifle アニメーションを位置 1 と位置 2 にドラッグします。

    BlendSpace10.png

  11. 「Content/AnimStarterPack」 フォルダで UE4ASP_HeroTPP_AnimBlueprint を開いて、[MyBlueprint] パネルで Locomotion グラフを ダブルクリック します。

    BlendSpace11.png

  12. Jog ステートを ダブルクリック してグラフを開きます。

    BlendSpace12.png

    ステートマシン には既に Jog State があり、その中に別の Jogging モーションのためのブレンドスペースがあります。

  13. [アセットブラウザ] から、MyBlendSpace アセットをグラフにドラッグし、BS_Jog ブレンドスペースを以下のように置き換えます。

    BlendSpace13.png

    デフォルトのブレンドスペースには Walking ステートはありませんが、作成したブレンドスペースにはあるので置き換えてみましょう!

  14. 「Content/AnimStarterPack」 フォルダで、Ue4ASP_Character を開きます。

  15. グラフで Crouch セクションを見つけて削除して警告エラーを取り除きます。

    BlendSpace14.png

    デフォルトで Animation Starter Pack には crouch (かがむ) のために作成されたバインディングがありますが、これはこのプロジェクトにはありません。この例では、かがんで歩く機能を取り除きます。

  16. グラフ内で 右クリック して、Left Shift Key Event を追加します。次に [Components] タブから CharacterMovement をグラフにドラッグします。

    BlendSpace15.png

    [Left Shift] ボタンを押して保持すると、歩行からジョギングに切り替わります。

  17. CharacterMovement ノードと Set Max Walk Speed (最高歩行速度の設定)PressedReleased にドラッグし、それぞれの値を 250150 にします。

    BlendSpace17.png

    左シフトを保持しているかに基づき移動速度を変更しており、ゲーム内のキャラクターの移動速度が変わります。

  18. [CharacterMovement] コンポーネントをクリックします。次に、 [Details (詳細)] パネルで Max Walk Speed100 に変更します。

    BlendSpace20.png

    キャラクターのデフォルトの移動速度を更新し、歩行を開始するようにします。

  19. [Components] タブで CapsuleComponent をクリックします。次に [Details (詳細)] パネルの [Hidden in Game (ゲーム内で非表示)] オプションにチェックを入れます。

    BlendSpace18.png

    これでゲーム内のコリジョンのカプセルのデバッグ表示がオフになります。

  20. コンパイル をクリックし、ツールバーで [Play in editor ] ボタンをクリックします。

最終結果

エディタでプレイする場合、 WASD を使用して移動すると、キャラクターがデフォルトで歩行し、方向を変えるときに歩行のアニメーション間でブレンドします。 立った状態で、WASD を使用しながら Left Shift を押して保持すると、キャラクターは歩行 / 照準のアニメーションから身を低くして / 照準して走るアニメーションにブレンドし、基本的にキャラクターを「スプリント」 (すばやく走ること) させます。