- Home /
OnCollisionEnter: collision.gameObject has weird behaviour
Hi,
first of all: i found a solution to my problem. But i still dont understand why it failed in the first place. So here is my story :)
i have an enemy. This enemy has a surrounding Trigger-Collider i use to click at it and to trigger if the enemy enters specific areas and such. This parent-gameobject is in a special enemy layer. This enemy also has a few child-gameobjects wich hold non-trigger colliders for arms, legs and other bodyparts. These are in the default layer. The enemy does not have any rigidbodys (yet).
I also have a bullet with a non-trigger collider and rigidbody. It is in a special bullet layer. I also set in the PhysicsManager that bullets only collide with the default layer. NOT the enemy layer. The Bullet has a script attached that reacts on OnCollisionEnter.
Now i shoot a bullet at the enemy and the OnCollisionEnter-Script of the bullets passes me a Collision. collision.gameobject gives me now the child-gameobjects with the bodypart-colliders. The surrounding trigger-collider of the parent gameobjects gets ignored, because it is in a layer that should not collide with the bullet. Exactly like i wanted them to.
But now i add a kinematic rigidbody to the parent-gameobject of the enemy. But suddenly in the OnCollisionEnter-Script i get as collision.gameobject the parent-gameobject with the surrounding trigger-Collider. Which is in the enemy layer that should not collide with the bullet. The solution is to call collision.collider.gameobject and get the wanted bodypart child gameobjects. But WHY do i get as collision.gameobject the parent gameobject only when i add the rigidbody?
Any ideas?
Your answer
Follow this Question
Related Questions
Is it possible to tell Unity physics to ignore a collision at collision time? 1 Answer
Excluding some physics collisions 3 Answers
Detecting When Intersection Penalty is Being Applied 2 Answers
Do you have to have a rigidbody component for collision detection? 1 Answer
Is it necessary to attach a rigidbody/colliders to child objects? 1 Answer