OnComponentHitで物体との衝突を所得できますが、逆に何も衝突していない時にHit「していない」状態を所得する方法を知りたいです。Overlapには終了した時に実行されるイベントが存在しますがHitにはそれがありません。BreakHitResultのBlockingHitから所得しようとしても、一度trueになったらずっとtrueのままになってしまいます。調べるとOverlap用のコンポーネントを作ってEndOverlapで機能を代替するように書いてありましたが、それではHit判定との誤差が生じてしまうので使えません。
あくまで一つのコンポーネントがHitしているか否かを別々に所得したいのですが、何か良い方法はあるでしょうか。
前フレームでHitしていなければHitしていない、と判定するのがよいのではないでしょうか
Hitが終わる、という表現はありません
Hitはその瞬間のみ発生する事象であり、継続するものではないです
OnComponentHit時にBool変数がONになるようにし、TickEventでその変数をチェックして
- ONであれば前フレームでHitしたと判定し、Bool変数をOFF
- OFFであれば前フレームでHitしていない
等の判定をすれば良いかと思います
なお、OnComponentHitのResultを参照しているようですが、その結果は次のOnComponentHitが起こるまで残るので、期待しているような動作はしません
回答ありがとうございます。色々と試してみましたが、OnComponentHitが最後に衝突したオブジェクトをずっと出力し続けるのでHitが終了したことを判定できません。どのようにすればHitが終わったことを判定させられるでしょうか。