如何解决如何获得两个物体之间的最短距离?
我添加了一张图片来说明我想要什么。红线是我使用 Vector3.distance 时得到的距离,但我想要的距离是绿线。如果游戏中有很多物体,我怎样才能得到我选择的两个物体之间的最短距离。
解决方法
在您的情况下,您可以使用 this,您需要将 yourObject
位置作为第一个参数传递,将 wall.up
作为第二个参数传递(以防您的墙向上变换指向yourObject
侧)。然后您将收到墙上的一个点,该点垂直于墙投影在墙上。获取该点并使用 Vector3.Distance
从 yourObject
位置到投影点。
var pointOnWall = Vector3.ProjectOnPlane(yourObject.position,wall.up);
var closestDistance = Vector3.Distance(yourObject.position,pointOnWall);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。