我在制作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什么都没检测上。
如图所示:
中间是一个阻挡物层,且存在刚体和包围盒,但是始终传回的是底部刚体。
场景的结构
期待官方人员给个解决方案!!!!急急急