質問: 自分は今までOnColliderEnter()を”スクリプトがアタッチされているオブジェクト”が”その他の何か”に接触した時の挙動に使っていましたが、例えば、ControllerにOnColliderEnter()をアタッチして、”(スクリプトがアタッチされていない)別のオブジェクト”と”(スクリプトがアタッチされていない)さらに別のオブジェクト”が接触する判定って取れたりしますか? 質問がわかりにくくてすみません・・・。 何がしたいかというと、全てControllerのクラスで管理したいときに他オブジェクトのOnColliderEnter()の処理もできるのかどうかが知りたいのです。
回答: 直接取ることはできません。 (もちろんColliderを使わずに衝突判定を自分で実装すればできますが、それは意図する所と違いますよね?) なので、Controllerに衝突時のロジックを書くのであれば、 1. Controller側に衝突時のロジックを書く(仮にHandleCollisions()とします) 2. Colliderがアタッチされた、実際に衝突するGameObjectのOnColliderEnter()で、Controller::HandleCollisions()を呼び出す とする必要があります。