OncollisionEnterが機能していません
-
27-10-2019 - |
質問
unity3dのcollisionenter機能に問題があります。問題は、私が3人目のコントローラーを持っているということです。これらのコントローラーは、boudaryオブジェクトと衝突した場合、別のGameObjectとラベルをアクティブにする必要があります。
これが私のコードを与えた方法です
function OnCollisionEnter(collision : Collision)
{
if(collision.gameobject1.tag=="tag1")
{
// activate game object and label
}
if(collision.gameobject2.tag=="tag2")
{
// deactivate game object and label
}
}
問題は、両方のループを入力することであり、私が与えたものが間違っているのか、それとも私が与えた方法であるかを知らないことです。どこが間違っていますか?
解決
OncollisionEnterイベントが発射されている場合(確かにプリントを追加できます)、チェックするものは2つあります。タグとコリダーがあります
タグ
試す
collision.transform.tag
また、GameObjectの適切なタグを選択したことを確認してください。
コリダー
Unity3Dでは、衝突コールバック(OncollisionEnterなど)は、特定の状況でのみ発生します。例:ColliderとrigidBodyコンポーネントを備えたGameObject(GameObject1)は、コライダーを持っている静的(移動しない)GameObject(GameObject2)と衝突します。
私は見ます ボックスコリダーリファレンス 一番下にあるからです 衝突アクションマトリックス それは、どの条件下で衝突が発生するかを説明しています。
所属していません StackOverflow