PaperSloth’s diary

主にゲーム開発関連についての記事を書きます。

UE4 Characterの多段ジャンプについて

環境

・Unreal Engine4.20.3

多段ジャンプの実装方法

Characterクラス内に「Jump Max Hold Time」と「Jump Max Count」というパラメーターがある。
f:id:PaperSloth:20181101172105p:plain
GitHubのログを見た限りではUE4.2の頃からあるようだ。
CharacterMovementComponentではなくCharacterに定義されているため、気付きにくく調整の際には注意が必要。
落下速度や空中での入力の効き具合などの細かい調整はCharacterMovementComponent側で行う。


Jump Max Hold Timeはジャンプボタンを押し続けると指定した時間の間上昇させることができる。
ジャンプの入力時間に応じて上昇量が変わるため
いわゆるマリオジャンプを簡単に実装できる。
ジャンプ力やゲームデザインにもよるが0.3以下くらいがちょうど良さそう。


次にJump Max Countはその名のとおり多段ジャンプの最大数である。
例えば2にしてやれば接地判定が動くまでの間に2段ジャンプを行う事ができる。
試しに100にしてみたが正しく動作しており、int32に収まる範囲なら何度でも跳べそう。
Windowsの場合は2,147,483,647段ジャンプができる。
データ型の範囲



また、両方のパラメーターを組み合わせることもできるため
多段ジャンプの度にプレイヤーがジャンプ量を調整するゲームというのも可能ではある。