春日部つむぎ no ゲーム作ってみよう!【UE5/UE4】 - 二段ジャンプ【UE5/UE4】


https://youtu.be/6UPHI5ubxz0

00:00 オープニング
00:28 1.isFallingノード
01:46 2.Launch Characterノード
02:39 3.ジャンプに回数制限を付ける
05:03 4.ジャンプ回数の回復
06:12 ざっくりまとめ!
06:32 エンディング

ざっくりまとめ!








ブループリント

■二段ジャンプっしょ。

1.Characterブループリントの編集

ThirdParsonCharacterのブループリントを開く

イベントグラフには最初からJump処理記載されています。
これを編集していきます。
1-1.isFallingノードの配置

まず、ジャンプキーを押したとき、地上にいるのか空中なのか判断する処理を記載します。

isFallingノードを配置します。
isFalling ノード : 空中に入るかどうかの情報

Branchノードを配置します。
isFallingノードをBranchのConditonピンに繋げる

BranchノードのFalseピンとJumpノードをつなげます。

これで、空中に入れば、Trueの処理に、
地上いれば、ジャンプします。
1-2.Launch Characterノードの配置

Launch Characterノードを配置します。
Launch Characterノード : 対象のキャラクターに指定方向への力を変える働きをする。

Launch CharacterノードをBranchノードのTrueピンにつなげます。

Launch CharacterノードのLaunch Veloctityの座標Zに1500と記入します。
Z方向つまり縦方向に1500の力を加えます。
ZOverrideにチェックを付けます。
チェックを入れると、重力を無視して力を加えます。

一旦、コンパイルして、起動してみます。

空中でジャンプが可能になりました。

でも、でも、空中で何回もジャンプができてしまいます。
あれれれれー!

2.ジャンプに回数制限を付ける


ジャンプ回数に制限を付けましょう。
2-1.Integer型変数作成(インテジャー)

左の変数で+をクリック。
変数名を分かりやすいようにJumpCountにします。

一度、コンパイルして、
JumpCount変数のデフォルト値を1にします。
2-2.ジャンプ回数制限の処理
2-2-1.現在の変数「JumpCount」の判断処理
空中ジャンプ処理時に変数「JumpCount」が1以上であるかを判断します。

Branchノードを最初のBranchノードとLaunch Characterノードとの間に配置します。
変数

isFallingノードをBranchのConditonピンに繋げる
変数「JumpCount」をドラッグアンドドロップでGetノードを配置します。
JumpCountからパルスを伸ばし、条件式「>=」を配置し、値に1を記入します。
条件式「>=」をBranchノードのConditionにつなぎます。

1以上であればTrueを処理します。
2-2-2.変数「JumpCount」の減算処理

変数「JumpCount」をドラッグアンドドロップでSetノードを配置します。
変数「JumpCount」のSetノードとLaunch Characterノードをつなぎます。

変数「JumpCount」をドラッグアンドドロップでGetノードを配置します。
変数「JumpCount」のGetノードからパルスを伸ばし、条件式「-」を配置し、値に1を記入します。
これで変数「JumpCount」に-1減算された値が入ります。

一旦、コンパイルして、起動してみます。

あれれれれー 最初の1回以降ジャンプができなくなってしまいました。

3.ジャンプ回数の回復


着地時に変数「JumpCount」をデフォルト値に戻します。

イベントOn Landed ノードを配置します。

イベントOn Landed
キャラクターが着地した際に実行されるイベント

変数「JumpCount」をドラッグアンドドロップでSetノードを配置します。
JumpCountの値に1を記入。

コンパイルして、起動。

ちゃんとできたようです。