Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 ジャンプ落下時、キャラ頭上で跳ねずに滑り落ちるようにする

非常に遅いですが、2019年あけましておめでとうございます。
年明け一発目の更新は軽めのネタとなります。

CharacterクラスでCharacter Movementコンポーネントを持つキャラクターがジャンプ後に落下中、別のキャラクターの頭上に落ちた際、カプセルコンポーネントコリジョンに引っ掛かりますが、この挙動がいくらか気になることがあります。

まずはサイドスクローラーテンプレートで状況を再現してみます。

f:id:alwei:20190116224734p:plain

通常は跳ねてふっ飛ばされてしまう

何も設定を変更しないままで頭上に落ちると以下のようにコリジョンが反発するように跳ね飛ばされてしまいます。

f:id:alwei:20190116230008g:plain

この挙動はアクションゲームとしてあまり相応しくないと思う人も少なくはないです。

設定を変えて滑り落ちるようにする

この設定を少し変えると以下のようになります。

f:id:alwei:20190116230134g:plain

こちらは跳ね返されるわけではなく、カプセルコリジョンから滑り落ちるような挙動になっています。

この設定に変更するためにCharacter Movementの値を修正します。

Character Movementの修正

上記動画のようにするためにCharacter Movementの以下の値を修正します。

f:id:alwei:20190116230310p:plain

修正点は"Falling Lateral Friction"を"1.0"未満にし、"Jump Off Jump ZFactor"を"0.0"に修正するだけです。ひとまずこの修正だけでも滑り落ちるような挙動になります。

ちなみに頭上に乗っかられる側のカプセルコンポーネントのCollisionの設定で、"Can Character Step Up On"を"No"にしておかないと普通にコリジョン頭上に乗ってしまうので注意が必要です。

以上、小ネタでした。