質問: "Square") { SceneManager.LoadScene("GameOver"); } } } } ``` ### 現在の状況 ``` 当たり判定をColliderでゲームオーバーの発生をtimeSceneLevelLoadで管理 ``` ### 発生している問題 ``` ゲームオーバーにならない条件(時間)の時にプレイヤーとオブジェクトが重なると座標がズレてしまう(本当は位置がズレないようにしたい) ``` ### 改善案 1. Colliderを持ったオブジェクト同士を重ねる方法があればそれでOK 2. 当たり判定をColliderではなく座標が一致しているかどうかで管理する ### 試した検索キーワード 「unity boxcollider 重ねる」「unity boxcollider ズレる」「boxcolliderを持ったオブジェクトを重ねる」「unity 当たり判定」等
回答: BoxColliderコンポーネントの「Is Trigger」をオンにします。 これでこのGameObjectは他のColliderオブジェクトを通過する(重なる)ようになります。 IsTriggerオンの時の衝突判定は、`OnCollision〜〜`ではなく`OnTrigger〜〜`メソッドを利用します。 Collider-OnTriggerEnter(Collider) - Unity スクリプトリファレンス 今回の事例だと「重なっている間、毎物理フレーム呼ばれる」`OnTriggerStay`を使用するといいと思います。 Collider-OnTriggerStay(Collider) - Unity スクリプトリファレンス