UE4勉強メモ:グライド(滑空、Glide、Gliding)

◎実装したいこと

ジャンプキーを3回目押したときにグライドさせる。(このときジャンプ自体はさせないでグライドのみ)

1~2回目のジャンプは通常通り。

グライド中の落下速度はなるべく一定にしたい。

◎実装するために考えたこと

グライド中のGravityScaleを0.1などに小さくすれば、重力加速度も小さくなるので、ある程度一定の落下速度になるだろうと考えた。

◎元々の設定

CharacterMovementのGravityScaleは2.0にしてある。

画像1

◎イベントノードの内容

JumpCounterでジャンプ回数を数え、2より小さい場合はTrueを返し、通常のジャンプ。

2より大きい場合はFalseを返し、GravityScaleを0.1にしてグライドさせる。

2段ジャンプしてから落下中にグライドをした場合、既に重力加速度が加わっている状態からGravityScaleが0.1になるので、すぐ落下してしまう。

これを防ぐためVelocityのリセット(0.0.0にする)を追加し、重力加速度が加わっていない状態からグライドさせる。

XY方向には関与しないでほしいので、CharacterMovementからBreakVectorでXYを指定。

地面に着地したとき、JumpCounterを0に、GravityScaleを2.0に戻す。


いいなと思ったら応援しよう!