【发布时间】:2014-12-20 23:07:31
【问题描述】:
我有一个Collider2D,它在一个较大的静止 Collider2D 内移动,我想沿着它的行进方向获取从较小的中心到较大的边缘的距离。
我的第一个想法是使用Raycast,例如:
Physics2D.Raycast(this.transform.position,
this.rigidbody2D.velocity.normalized).distance;
但显然距离始终为 0,因为它们已经相交了。
有什么办法吗?
编辑:这是根据要求的图表
两个圆圈都是 Collider2D 对象,箭头是小圆圈的行进方向,红色 x 是我想找到的点(这样我可以确定距离)。
【问题讨论】:
-
图表或屏幕截图会很有帮助,当您说一个对撞机在另一个对撞机内部时,我不确定您在描述什么。
-
好主意 Savlon,但是 Bounds 表示一个轴对齐的边界框,而外部 Collider2D 是一个圆。
-
我已经设法通过编写自己的射线圆相交测试来做到这一点,但我仍然想知道是否有办法在 Unity 中内置。