- Home /
Obtaining contact point and normal of first object in collision
Hey guys, I am simply trying to obtain the hit point and normal on my player character mesh after a collision, not the object it collides with, in this case a simple cube. My character has a rigid body and a mesh collider (obviously not set to kinematic at this point (or trigger for that matter)). The following snippet is attached to my player character. The hit point and normal for the object I am hitting (cube) display as expected.
This is the error I get : BCE0019: 'point' is not a member of 'UnityEngine.Collider'.
function OnCollisionEnter(collision : Collision) {
// Check if the collider we hit has a rigidbody
// Then apply the force
for (var contact : ContactPoint in collision.contacts) {
Debug.Log(contact.thisCollider.name + " hit " + contact.otherCollider.name); //This works fine
//var hitPoint = contact.thisCollider.point; //This doesn't work
//var hitNormal = contact.thisCollider.normal; //This doesn't work
// Visualize the contact point
Debug.DrawRay(contact.point, contact.normal * 10, Color.white, 10); //This works as expected
}
}
Thanks for any help you can offer.
Seems thisCollider is of type collider, and like the message says Collider does not have a property point or normal. I am guessing the point and global properties are in global coordinates--> same for both colliders, they are colliding right? Same Normal and point for both objects.
So you should be able to get contact.point and contact.normal, and go from there.
Hey svenskefan! Thanks for your response. Now that I think about it a little more, it makes sense that the collision point (in global space) would be the same for each collider. I guess the normal of the player object collision point would just be the negative of the object that the player hit! Another quick question, does Unity differentiate between point normals and surface normals? Thanks!!
Your answer
Follow this Question
Related Questions
Collision.contacts? 1 Answer
Getting surface normal from collision 1 Answer
contact.normal not updating in OnCollisionStay2D 0 Answers
How do I increase speed after collision? 2 Answers
Collision with no contact? 2 Answers