cocoscreator3.x 射线检测问题

我在制作a目标追踪b目标的一个另类ai功能,a指向b出一个检测射线,a和b之间可能存在阻挡物,要求射线能够检测到该阻挡物,并给出阻挡物的射线撞击点。
功能制作在cocoscretor2.x中使用PhysicsSystem2D.instance.raycast(p1,p2,ERaycast2DType.Any,mask)能够正常表现,但是在cocoscreator3.8.0和cocoscreator3.8.1上表现不对。
以下是我的实现代码
var p1 = v2(this.gameObject.position.x,this.gameObject.position.y);
var p2 = v2(MonsterComponent.Instance.playentity.gameObject.position.x,MonsterComponent.Instance.playentity.gameObject.position.y)
const mask = 2 << 0|5<<0|6<<0|9<<0; // 第1层
var results = PhysicsSystem2D.instance.raycast(p1,p2,ERaycast2DType.Any,mask)//,mask, maxDistance,queryTrigger);
目前在cocoscreator3.8.0和cocoscreator3.8.1上测试都是如此效果,也尝试过postion换成worldpostion,worldpostion什么都没检测上。
如图所示:
微信图片_20231120104635
中间是一个阻挡物层,且存在刚体和包围盒,但是始终传回的是底部刚体。
场景的结构
11

期待官方人员给个解决方案!!!!急急急

:joy: :joy: :joy:坑啊,PhysicsSystem2D.instance.raycast 文档内容太少了,实测ray坐标点的确要用worldPosition点来绘制。
但是这里注意了: mask是表示包含层还是排除层呢?
我猜是包含层的概念,只有这样才会出现绘制。但是注意了这里cocoscreator3.x 有几个bug,期望官方人员测试一下:
1.射线在检测到非mask层的时,直接终止了不继续穿透。概念上是射线应该忽略排除层继续检测。
2.ERaycast2DType 几个类型,在返回结果时要考虑上面的情况。

mask的编写样式,文档没有,期望补全,有多种层需要mask的时候怎么书写