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-1.Integer型変数作成(インテジャー)
左の変数で+をクリック。
変数名を分かりやすいようにJumpCountにします。
一度、コンパイルして、
JumpCount変数のデフォルト値を1にします。
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を記入。
コンパイルして、起動。
ちゃんとできたようです。