numalog

ぬまおうの活動日誌

Unity tips #3 OnTrigger、OnCollision関数について

without comments

同様に過去記事からサルベージ。

実は、 OnTrigger、OnCollision関数が適応されるかどうかは条件があります。
これを知らないでやると、なぜか接触を感知しなかったり、かとおもえば突然動いたりなど不具合が出まくるので注意。

Collision detection occurs and messages are sent upon collision
Static Collider Rigidbody Collider Kinematic
Rigidbody Collider
Static
Trigger Collider
Rigidbody
Trigger Collider
Kinematic Rigidbody
Trigger Collider
Static Collider Y
Rigidbody Collider Y Y Y
Kinematic Rigidbody Collider Y
Static Trigger Collider
Rigidbody Trigger Collider
Kinematic Rigidbody Trigger Collider
Trigger messages are sent upon collision
Static Collider Rigidbody Collider Kinematic
Rigidbody Collider
Static
Trigger Collider
Rigidbody
Trigger Collider
Kinematic Rigidbody
Trigger Collider
Static Collider Y Y
Rigidbody Collider Y Y Y
Kinematic Rigidbody Collider Y Y Y
Static Trigger Collider Y Y Y Y
Rigidbody Trigger Collider Y Y Y Y Y Y
Kinematic Rigidbody Trigger Collider Y Y Y Y Y Y

この表でYとついているところが判定が行われる組み合わせで、それ以外のところでは正しく行われません。
当たり判定を行わせるオブジェクト同士が空白の部分の組み合わせになっていると、不可解な挙動をします。
両方Kinematic&Rigidbodyを与えると上手くいきます。


Written by numa

5月 3rd, 2013 at 4:38 am

Posted in プログラミング

Tagged with

Leave a Reply