空中ジャンプの実装について | UE4&5 Forum | Tech Stadium Forum

空中ジャンプの実装について
 
通知
すべてクリア

空中ジャンプの実装について  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
02/09/2020 11:54 am  

最終課題の実装について質問させてください。
空中ジャンプの実装を行っていまして、イメージとしてはアイアンマンのジェットスーツのような、
ふわっと浮くようなジャンプを実現したいのですが思うようにいきません。(JumpMaxCount増やす多段ジャンプだとぎこちなくてやめました
現在やろうとしていたのは、CharacterMovementに対してZ軸にだけAddForceをかけてみるというもの。
しかし、キャラは全く反応無しです。。力を加える数字を大きくしても、変わらずでした。
CharacterMovementに対してAddForceしても自身に力を加えて浮かすことはできないのでしょうか?
また、他に良いやり方がありましたらご教示お願いいたします。


引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
02/09/2020 11:55 am  

CharacterMovementコンポーネントの「Jump Z Velocity」「Gravity Scale」の値を動的変更することでやりたいことができるかと思います。
・Jump Z Velocity → ジャンプしたときのZ軸方向の速度
・Gravity Scale ⇒ 重力加速度の値(ただし値はスケール値なのでデフォルトが1)


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
02/09/2020 11:55 am  

このMovementコンポーネントにはデフォルトでいろいろな機能がすでにあったりします
(Fly時の値など)
後はこれをゲームに合わせて設定するかこれを継承してゲーム専用のMovementコンポーネントを作ることでいろいろやりたいことを実装していきます


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
02/09/2020 11:56 am  

Gravity Scaleを軽くしてみたりして、たしかにふわっと軽くはなったのですが、やりたいこと少し違いました。。

さらに具体例(Unityで制作してるもの)を提示させて頂くと、重力を考慮した多段ジャンプを実装したいのです。
上昇する時のみジャンプ加速度を足し、下降するタイミングでジャンプすると加速度が減衰するようなところにゲーム性を見出していたので。。
ただ、UE4でやろうとすると空中ジャンプするにしても、JumpMaxCountを増やせばどうしても重力を無視してしまうようで
そもそもCharacterMovementに対してZ軸にだけAddForceをかけても意味は無いのでしょうか?


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
02/09/2020 11:57 am  

AddForceはSimulatePhysicsが有効になっているものでないと動作しません。
使いたいのであればキャラのコリジョンのSimulatePhysicsを有効にする必要があります。

他のやり方で落下中に落ちる速度を緩やかにしてみる処理をかなりざっくり作ってみました。
(ただし設計面を考慮していないのであまりよくはない処理、あくまで検証用)
FirstPersonCharacterのBPで作成しています。 


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
02/09/2020 11:58 am  

直接Velocityを触るやり方があったんですね!
いろいろ試行錯誤してみて、下降時に基準となる加速度を引くというやり方をやってみたら目的の動作になりました。
おかげさまで達成感でいっぱいです、ありがとうございます。


返信引用
共有:
タイトルとURLをコピーしました