LoginSignup
0
0

More than 1 year has passed since last update.

Unity初心者 誰でも簡単「衝突判定」

Last updated at Posted at 2021-11-19

参考

Colliderの設定

Edit Colider を押下したらColliderを可視化できるので、
見ながらCenterやSizeで調整していきます。
・Is Trigger:衝突判定の時はOFF。重なり判定の時はTRUEでいきましょう。
image.png

rigidbodyの設定

衝突させるオブジェクトのどちらかに必要。
普通は、衝突しに行く側かな。
・Is Kinematic:基本false。これをtrueにすると物理が働かなくなるので衝突っぽくなりません。OnTrigger(重なり判定)で使えます。
・Collision Detection:衝突スピードにたいしてどこまで精密に判定できるかの選択肢です。
image.png

関数

当たった瞬間呼び出される OnCollisionEnter

    void OnCollisionEnter(Collision other)
    {
        Debug.Log (other.gameObject.name + "Enter");
    }

当たってる間呼び出される OnCollisionStay

    void OnCollisionStay(Collision other)
    {
        Debug.Log (other.gameObject.name + "Stay");
    }

注意事項

よく空のオブジェクトにスクリプトをつけてそこから他のオブジェクトに対する処理を書くことがありますが、
その場合OnCollision系のメソッドは呼び出されないため注意が必要です。
OnCollision系のメソッドは、Colliderがアタッチしてあるオブジェクトにスクリプトを関連付けることで発火します。

子の衝突判定がしたい

親にRigidbodyをつけていると、子のColliderの衝突検知もされるようです。
全く空の親だとダメなので、ぜひ試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0