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

キャラクター アニメーションを歩行からジョギングへとブレンドするために使うブレンドスペースの例。

Choose your operating system:

Windows

macOS

Linux

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

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

EndResultImage.png

ステップ

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

AnimationAssetPack.png

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

  1. プロジェクトの「 Content/ThirdPersonBP/Blueprints 」フォルダで ThirdPersonGameMode を開き、 Default Pawn Class Ue4ASP_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 アニメーションを位置 1 Jog_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 (最高歩行速度の設定) Pressed Released にドラッグし、それぞれの値を 250 150 にします。

    BlendSpace17.png

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

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

    BlendSpace20.png

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

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

    BlendSpace18.png

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

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

最終結果

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

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる