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”。
除了y之外,碰撞点x的位置似乎是正确的。
我还检查了对象本身的世界位置,但仍然不匹配。
我需要知道这个错误的号码来自何处以及如何解决。
答案 0 :(得分:0)
contact point返回世界空间中的实际接触点。我的意思是,这是两个物体之间发生碰撞的世界空间中的点。
"points"下的值在本地空间中。您将必须基于碰撞接触点来计算对象的位置(即枢轴点)。除非已更改,否则通常为对象的中心。