SphereCastAll无法检测到某些碰撞
问题描述:
我在红线的方向上投射了SphereCastAll,而且我有时会遇到一个奇怪的问题,就是此投射会遗漏下面屏幕中的某些碰撞体。绿线显示SphereCastAll的起源和不同刚体的最近命中,不与自己的碰撞体发生碰撞。 SphereCastAll半径是车宽的一半。SphereCastAll无法检测到某些碰撞
有时SphereCastAll会漏掉前方车辆的所有对撞机并撞上下一辆车。
刚体由WheelColliders
答
这里是Physics.SphereCast()
一个link
一个有趣的方面是,它如果球已经与物体发生碰撞有时无法移动。因此,对于Physics.SphereCastAll()
,如果球体已经与它们发生碰撞,它可能不会返回第一个(几个)碰撞。考虑使用Physics.OverlapSphere()
来获取您丢失的碰撞或将SphereCast
的半径减小到这样的半径,其中SphereCast
无法在任何其他敌人/汽车/您拥有的内部开始。
哪辆车在铸造?在图像左侧的那个? – Fattie
包括您的铸造代码。你可能选择了错误的距离或其他简单的问题。 – Fattie
铸造范围是红线的长度。铸造车是没有可见的对撞机的车。 问题是,这只会不时发生。大部分时间它运作良好,但是当这种情况发生时,汽车相撞 – Sebastian