現在、アクションゲームを作成しているものです。
画像にあるように、地面とマグマのステージを作っており、マグマのコリジョンに触れると主人公の変数 Life Point が0になって、死亡する(Life Pointが0になったら Destroy する、という処理を主人公のBPに書いています)ようにしています。しかし、なぜか主人公がマグマの上に乗っても Destroy しないのです。 Print String で調べたところ、どうやらマグマの Hit イベントが反応していないようなのです。また、歩いて乗っても反応しないのに、ジャンプすると Hit イベントが反応して主人公が死亡します。
コリジョンなどの設定を弄ってみたりしたのですが、どうしてもうまくいきません。どなたか、教えてくださると助かります…!
マグマのコリジョンはどのような形になっていますか?
- 地面の中にあるor地面のものを使っている(上辺=床)
- 地面の上にある(上辺>床)
もし床とマグマのコリジョンの高さが同じであれば、歩いて乗った場合、前フレームから計算する進行方向にマグマのコリジョンがない(コリジョン上を滑る)ため、Hitイベントとして扱われないのでは?と考えています。
(このあたりはエンジンコードを調べていますが、確証がないです)
ダメージ床の実装であれば、HitよりOverlap(BeginOverlap)を使用したほうがやりやすいと思います。
(床のコリジョンとは別に、床の上にダメージ判定用のコリジョンを配置し、BeginOverlapイベントで処理します)
返信が遅れてしまい、大変申し訳ございません。
床とマグマの高さが同じだったため、少し床の位置を高くしてプレイしてみると、問題なくダメージを受けるようになりました。また、Overlapを使用する方法も参考にさせていただきました。ありがとうございます。