2016-05-13 12 views
1

Collider2Dコンポーネントを持つ2つのオブジェクトが接触したときにOnCollisionEnter2Dがトリガしないことに気付きました。そのうちの1つにRigidBodyが接続されている場合にのみ起動します。 Unityエディタ自体が、非動くRigidBodyの代わりに静的コライダーを使用する方が性能がはるかに優れていると言っているので、これは私にとっては奇妙に思えます。次に、Unityが静的コライダーを持つ2つのゲームオブジェクトが接触したときに衝突イベントを引き起こすのをなぜ許可しないのですか?Unity3Dの衝突イベント

+0

PhysXエンジンの*** ***です。静的なコライダーは忘れて、普通のゲームではほとんど使用しません。あなたはRigidBodyでゲームを作っています。彼らはUnityから "静的な"機能を取り除くことができますが、それはほんの僅かしか使われておらず、ゲームの99%にほとんど差がないでしょう。忘れてしまいなさい。 – Fattie

答えて

1

確かに、静的コリードはより効果的ですが、単語が示しているように:スタティックです。
移動には物理計算が必要なため、剛体(速度などの情報を保持)が必要です。これは実際に通常の衝突のためのドキュメントに記載されていますhttp://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html