3.キャラクター設定の完了

Input Mapping に反応してキャラクターが移動するようにブループリントでスクリプトを実行します。

Windows
MacOS
Linux

このセクションでは、プレイヤー入力に合わせてキャラクターを制御するスクリプトを実行して、キャラクター設定を完了させます。

  1. MyCharacter ブループリントを開きます。

  2. グラフ内で InputAxis MoveForward Event と InputAxis MoveRight Event を 右クリック して追加します。

  3. Control キーを押したまま DisableMovement 変数をドラッグし、各イベントの BranchCondition に接続します。

  4. 残りのノード ネットワークを以下のように設定します。

    画像をクリックしてフルサイズで表示

    DisableMovementFalse の場合のみ、キャラクターの移動が可能になります。これは、アニメーションが存在しないのに、キャラクターが移動してしまうことを防ぐためです。例えば、 Prone Idle アニメーションはあっても、 Prone Crawl アニメーションはありません。前かがみになった時にプレイヤーが地面に滑り落ちないようにするために、移動を無効にします。

  5. 右クリック して InputAxis Turn Event と InputAxis LookUp Event を追加します。

  6. Turn Event を Add Controller Yaw Input ノードに、 LookUp Event を Add Controller Pitch Input ノードに接続します。

    Character_MouseInput.png

  7. グラフ内を 右クリック して、 InputAction Jog Event を追加します。

  8. [MyBlueprint] ウィンドウで、 [Show inherited variables] チェックボックスをクリックし、Control キーを押しながら、 CharacterMovement をグラフへドラッグします。

    Character_JogA.png

  9. Alt キーを押しながら Jog Pressed 変数をドラッグしたら、 Control キーを押しながら Crouch Pressed 変数をドラッグします。

  10. 適切な Set ノードの "Jog Pressed" がチェックされるように、ノード ネットワークを以下のように設定します:

    画像をクリックしてフルサイズで表示

    Jog が押されると Jog PressedTrue に設定され、 Character Movement コンポーネントでキャラクターの Max Walk Speed375 に設定します (この値を調整して Jog 速度を増減することができます)。

    Jog を放す時に、しゃがんでいるかどうかをチェックし、しゃがんでいる場合は、Walk Speed を 160 (しゃがんで歩く速度) に設定します。しゃがんでいなければ、 Walk Speed を 200 (デフォルトの歩行速度) に設定します。これにより、ステートが Jog から Crouch または Walking になり、適宜元に戻るようになります。

  11. グラフ内を 右クリック して、 InputAction Crouch Eventを追加します。

  12. Alt キーを押しながら Crouch Pressed 変数をドラッグしたら、 Control キーを押しながら Jog Pressed 変数と Prone Pressed 変数をドラッグします。

  13. 適切な Set ノードの "Crouch Pressed" がチェックされるように、ノード ネットワークを以下のように設定します。

    画像をクリックしてフルサイズで表示

    Crouch スクリプトの場合は、 Prone ステートだとしゃがむことが不可能なので、まずそれを確認します (Prone から Crouch またはその逆のアニメーションがないためです。アニメーションがあれば、プレイヤーを Crouch から Prone ステートにさせることができるでしょう)。

    ずっと Crouch ボタンを押し続けるのではなく、 FlipFlop ノードをしゃがむためのトグルとして使用しています (使用する方法によってオプションとなります)。1 度目に押す時は、 Crouch PressedTrue に、そして Max Walk Speed160 に設定します。Crouch をオフに切り替えるために 2 度目を押すと、 Crouch から Jog になることを確認し (歩行速度は 375 に設定します)、そうでない場合は歩行速度を 200 に戻します。

  14. グラフ内を 右クリック して、 InputAction Prone Event を追加します。

  15. Alt キーを押しながら Prone Pressed 変数と DisableMovement 変数をドラッグします。

  16. Control キーを押しながら、 Crouch Pressed 変数をドラッグします。

  17. 適切な Set ノードの "Prone Pressed" がチェックされるように、ノード ネットワークを以下のように設定します。

    画像をクリックしてフルサイズで表示

    Prone スクリプトの場合、まず Crouched ステートかどうかを確認し、そうであれば Prone ステートにはなれません (前述の通り、それ用の遷移アニメーションがありません)。そこで FlipFlop ノードをここでも使い、 Prone ステート間の切り替えを行います。

    1 回目に押す時は、 Prone PressedDisableMovement が両方 True に設定されて、Prone ステートになりキャラクターの移動は無効にされます。2 度目を押すと、Prone ステートを終了するために Prone Pressedfalse に設定されて、再度移動が可能になるまで若干遅れ (1.4 に設定) を加えます (立っている状態にアニメーションが戻る途中でプレイヤーが移動しないようにするためです)。

  18. グラフ内を 右クリック して、 InputAction Jump Event を追加し、 [MyBlueprint] ウィンドウから CharacterMovement をドラッグします。

  19. Alt キーを押しながら Jump Pressed 変数をドラッグしたら、 Control キーを押しながら DisableMovement 変数と CrouchPressed 変数をドラッグします。

  20. 適切な Set ノードの "Jump Pressed" をチェックするように、ノード ネットワークを以下のように設定します。

    画像をクリックしてフルサイズで表示

    Jump スクリプトの場合は、まずステートが Prone か Crouched のいずれかになっているかを確認します。両方とも true ではなければ、 CharacterMovement コンポーネントを使って現在の速度を判断します。 0 より大きければ、移動していることになります。

    移動しているかどうかに応じて、まだ固定状態のうちに JumpZVelocity365 (キャラクターが移動している場合) または 340 に設定して、キャラクターがジャンプできる高さを設定します。どちらの場合も Jump PressedTrue に設定し、 Jump が解除されると Jump PressedFalse に設定します。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信