UE4勉強メモ:グライド(滑空、Glide、Gliding)
◎実装したいこと
ジャンプキーを3回目押したときにグライドさせる。(このときジャンプ自体はさせないでグライドのみ)
1~2回目のジャンプは通常通り。
グライド中の落下速度はなるべく一定にしたい。
◎実装するために考えたこと
グライド中のGravityScaleを0.1などに小さくすれば、重力加速度も小さくなるので、ある程度一定の落下速度になるだろうと考えた。
◎元々の設定
CharacterMovementのGravityScaleは2.0にしてある。
◎イベントノードの内容
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に戻す。