3.6.2 box2d 的射线 带Mask 返回空数组

物理射线检测使用掩码之后有时明明有物理对象但是也会返回空数组

经过研究发现 如果目标对象前面有个其他分组的物理对象挡住了它, 它就会返回 空数组

看了一下引擎源码


当检测到掩码不一致 的时候 返回的是0,但是0直接会终止后续检测 导致直接返回空数组了…
image

修改后:

2赞

:rofl:我把返回值改成了-1 就正常了.

1赞

3.8.2还有这个问题。。。。

2024年6月了,此问题还存在

do not terminate loop if mask mismatch by minggo · Pull Request #17697 · cocos/cocos-engine · GitHub 修复了。

1赞