首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从内部到Collider2D边缘的距离

从内部到Collider2D边缘的距离
EN

Stack Overflow用户
提问于 2014-12-20 23:07:31
回答 1查看 2.3K关注 0票数 0

我有一个Collider2D,它在一个更大的,静止的Collider2D内移动,我想得到从小的一个的中心到大的那个的边缘沿它所移动的方向的距离。

我的第一个想法是使用雷卡斯特,例如:

代码语言:javascript
复制
Physics2D.Raycast(this.transform.position, 
                  this.rigidbody2D.velocity.normalized).distance;

但显然距离总是0,因为它们已经相交了。

有办法这样做吗?

编辑:这是一个按要求提供的图表

两个圆都是Collider2D对象,箭头是较小的方向,红色x是我想要找到的点(这样我就可以确定距离)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-09 21:02:01

而不是试图检查碰撞,你可以做数学计算。

如果你知道圆的半径/位置,较小的Collider2D的位置,以及它的运动矢量,那么你就可以解出这个运动矢量与圆相交的位置。

下面是如何从数学上解决这个问题:intersection.html

另一种方法,如果你仍然想要光线投射,可以从一个点沿较小物体的运动矢量,距离大于较大圆的直径。然后将这条射线投射到较小的物体上。本质上,你是从圆外投射光线,而不是在圆内投射射线。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27585197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档