質問: new Vector3(transform.position.x,transform.position.y,transform.position.z + 0.1f); //ポイントA print("Update called (" + i + ")"); } private void OnCollisionEnter ( Collision collision ) { print("OncollisionEnter called (" + i + ")"); } } ``` ●移動するオブジェクト test01.csのセット box collider(is trigger=false)のセット rigitbodyのセット 座標(0,0,0)に設置 ●移動しないオブジェクト box collider(is trigger=false)のセット 座標(0,0,10)に設置 実行した時のログ -------- ``` Update called(1) Update called(2) ・・・(略)・・・ Update called(89) Update called(90) OncollisionEnter called(90) Update called(91) ・・・(略)・・・ ``` 実現したいこと ------- ログにもあるように、OnCollisionEnterを使えば接触判定はできます。 ただ、今回接触判定をしたいのは、update内の「ポイントA」の箇所になります。 OnCollisionEnterはupdateを最後まで実行した後に呼び出されてしまうので、 ポイントAで把握することが出来ません。 色々調べては見たものの、OnCollisionEnter以外で接触判定できそうなものが見当たらなかったのですが、 何か方法はないでしょうか? (相手のオブジェクトに影響を与えたり、情報を得たりすることはないので、「ある」「ない」の判断が出来ればそれでいいです。) 環境・補足 ----- unity2019.2.1f1 実際の環境でもcolliderはbox colliderを使う予定です。
回答: 物理エンジンがどの範囲までの事を指すのか分からないですが、Collision系以外で思いつくのはこれくらいでしょうか。 Rayを飛ばして当たったオブジェクトの情報を得る方法 Unity】2点間の距離を求めるいくつかの方法