if(collision.gameObject.tag == "Ball")
{
collision.GetContacts(contactPoints);
Debug.Log(contactPoints[0].point.y);
}
https://i.stack.imgur.com/s6aiv.png
如果检查了图像,您会注意到在多边形对撞机中y位置最小的点具有“ -1.445364”,与同一点“ +1.8”发生碰撞时将返回该点,而不是期望值这是“ -1.445364”。
碰撞点x的位置似乎与y一样准确。
我还检查了对象本身的世界位置,但仍然不匹配。
我需要知道这个错误的号码来自何处以及如何解决。
contact point返回世界空间中的实际接触点。我的意思是,这是两个物体之间发生碰撞的世界空间中的一点。
"points"下的值在本地空间中。您将必须基于碰撞接触点来计算对象的位置,即枢轴点。通常,对象的中心,除非您已对其进行更改。