【cocos creator】2.x里,使用3D射线碰撞检测

注意点:

1、开启射线检测

cc.director.getPhysics3DManager().enabled = true;

2: 响应射线的物体要加3D碰撞盒 BoxCollider3D

3:响应射线的物体分组group要设置为3D,分组管理里需要勾选3D和3D的碰撞

demo下载:

https://download.csdn.net/download/K86338236/89527924

typescript 复制代码
const { ccclass, property } = cc._decorator;

@ccclass
export default class CameraTouchCtrl extends cc.Component {

    @property(cc.Camera)
    camera: cc.Camera = null;//3D相机

    @property(cc.Node)
    touchNode: cc.Node = null;//2D触摸节点
    start() {
        //开启射线检测
        cc.director.getPhysics3DManager().enabled = true;
        this.touchNode.on(cc.Node.EventType.TOUCH_START, this.onTouchStart, this);
    }

    /**检测射线 */
    onTouchStart(event) {
        let touchLoc = event.touch.getLocation();
        let ray = this.camera.getComponent(cc.Camera).getRay(touchLoc);
        let maxDistance = 1000;//检测的最远距离,如果物体远,需要改大数值
        let rayColliderGroupName = "3D";//碰撞分组,分组管理里需要勾选3D和3D动碰撞
        //响应射线的物体要加3D碰撞盒 BoxCollider3D,分组group设置为3D
        const result = cc.director.getPhysics3DManager().raycastClosest(ray, rayColliderGroupName, maxDistance, false);
        if (result) {
            let box = result.collider.node
            box.scale += 0.01
        }
    }
}
相关推荐
AI前沿资讯9 小时前
支持视频动作迁移的AI 3D平台有哪些?2026全维度测评
人工智能·3d
CG_MAGIC9 小时前
幕后花絮:用Blender打造自己的建筑
3d·blender·贴图·uv·建模教程·渲云渲染
scott19851211 小时前
3DGUT与3DGRT
3d
三维频道15 小时前
压铸件尺寸检测与模具监测方案 / 3D Scanning for Die-casting QC & Mold Monitoring
人工智能·计算机视觉·3d·尺寸检测·xtom·压铸件·模具优化
aini_lovee15 小时前
LIS3DH低功耗加速度传感器驱动程序
3d
三维频道15 小时前
注塑件变形怎么调优?全尺寸3D检测如何助力精密注塑“减废增效”
3d·制造·智能制造·3d扫描仪·新拓三维·注塑模具质检·三维尺寸偏差分析
AI前沿资讯15 小时前
2026年3D动画制作工具推荐:从传统工作流到AI一站式创作
人工智能·3d
bryant_meng1 天前
【3D】Stereo Matching learning notes
计算机视觉·3d·双目匹配
三维频道1 天前
工业级三维扫描实测:汽车灯具复杂结构件的全尺寸 3D 测量方案分析
java·人工智能·python·数码相机·3d·汽车·汽车轻量化制造
MapVillage2 天前
3D Gaussian Splats 高斯泼溅技术
3d