射线检测 只能给 摄像机使用吗,我想在指定位置发射射线 然后检测 碰撞的了哪些模型?

我现在 想实现 从a 模型发射一条射线 检测在a 模型前方的 所有能碰撞到的 b 模型,


我是这样写的,但是 没有效果.检测不到

模型上是有碰撞组件的

我自己的问题

我记得api有设置射线的起点和角度的向量,你可以去看看

大佬能否分享一个模型发出射线的完整代码?

没有实现,我是 硬写的 ,没有射线检测

嗯嗯,我试出来了。待会分享给你。

往自己的正前方发射200长度的射线。写的比较简陋。geometry.ray前三参数为发射起点,后三参数为发射方向。

let ray = new geometry.ray(this.node.position.x, this.node.position.y, this.node.position.z, 
this.node.forward.x, this.node.forward.y, this.node.forward.z);
     if (PhysicsSystem.instance.raycast(ray, 0xffffffff, 200)) {
        const r = PhysicsSystem.instance.raycastResults;
        console.log(r);  // 返回值为检测到的collider的数组
     }

用过了感觉还行,准备放在update里面试试性能。

我之前也试成功了,但是 会穿,比如 相同方向的 检测到后面的了

看论坛帖子好像有这个问题。

所以 我就没用,查询要检测的列表,先查a 模型 对着的 方向,然后筛选出最近的距离

搜嘎,学习了。

mark一下,射线的使用