- Home /
Detect Collision Between Object and Box Collider
I have a car object with an invisible plate on the front to try to detect when the car crosses the finish line. The finish line is another game object that has another box collider on it.
This code is assigned to the car's box collider game object
void OnCollisionEnter(Collision other)
{
Debug.Log("Collision Detected");
if (other.gameObject.tag == "FinishLine")
{
Debug.Log("Finish Line");
}
if (other.gameObject.name == "FinishLine")
{
Debug.Log("Finish Line2");
}
}
I see no collision happening between the two and the car is able to drive through the box collider. How can I get the car to drive through the finish line and trigger code when the finish line is crossed?
Thanks in advance.
PS - These are both in the layer called "WinCollision" And I have the physics set so that WinCollision only collides with WinCollision
Answer by Owen-Reynolds · Feb 16, 2013 at 05:01 PM
The finish line collider should probably be checked as a Trigger (so the car doesn't bounce off of it.)
If it is a trigger now, use the function name OnTriggerEnter (with Collider as input instead of Collision.) OnCollision* is meant to ignore triggers (code-wise, a trigger is a type of collider; but logically it's easier if it doesn't count as one.) OnTrigger* works "to and from" triggers, so having it on the collider car is fine.
If the finish line isn't checked as a trigger, it probably is the "non-kinem" answer above. Or, double-check the child collider is in is in layer WinCollision (children don't inherit parent's layers.) Otherwise, maybe test if the Collison matrix is working with a small WinLayer cube above the finish line -- see if it falls through (I've used it some, an never had a problem that wasn't my fault.)
Your answer
Follow this Question
Related Questions
A node in a childnode? 1 Answer
AI to make an object wander around and avoid obstacles? 5 Answers
Make a Player Die on Collision { Urgent } 1 Answer
Collision problem 0 Answers