【解决了,但应该是个BUG】刚体超过一定距离就检测无效

原因是当动态刚体设置了只检测,不产生碰撞效果时
与另一个碰撞体超过一定距离就会丢失碰撞检测信息,从而不会进行碰撞检测,监听也是没用的。
开启碰撞效果后,远距离也有用了。
这应该算是个BUG吧?

————————————————————————————

测试中,刚体超过一定距离,检测碰撞就无效。
比如屏幕高度746
小李和小王相距大概400-500的距离,此时刚体碰撞检测就基本上无效了。
但是近距离碰撞检测率基本上100%
请问有什么好办法解决?

另外如果用两个动态刚体,怎么样让双方在撞击时都不会把对方给撞走呢?重力为0也不行,总会有一方被顶飞。
现在只能用一个静态,一个动态,动态的密度大点,这样动态的就不会被顶飞了,但是静态的物体在快速移动时就经常会穿透了。
我需要的应该是两个快速移动的物体,不但不能被穿,而且还不能互相把对方顶飞。

大神来看看这两个问题,感谢。

试试碰撞处理

在碰撞回调函数中,把速度置为零

因为我的这两个NPC是不带反弹的物体,且可自由移动,所以速度我原本就是设为0的,重力也设为0的。
但是在互相撞击时,如果都是动态刚体就都会把对方顶飞,其中一方密度大,但另一方也会被顶飞。
但是两个动态刚体不会被穿透,但测试,距离过大时,也会丢失碰撞检测信息,从而不能产生碰撞回调。

遇到相同的问题。我把子弹和角色的sensor都设置为true时,超过一定距离就没法检测。只能被迫把子弹的sensor设置为false。