小编P.S*_*.S.的帖子

Three.js - raycaster.intersectObjects 问题

我有一个带有球体的 3D 散点图来表示点,我试图在单击时显示点的信息。基于对 SO 上几个不同问题的回答,我认为我走在正确的轨道上。这是我的 onCanvasMouseDown:

        event.preventDefault();
        mouse.x = ( (event.clientX - renderer.domElement.offsetLeft) / renderer.domElement.width ) * 2 - 1;
        mouse.y = - ( (event.clientY - renderer.domElement.offsetTop) / renderer.domElement.height ) * 2 + 1;
        mouse.z = 0.5;

        projector.unprojectVector( mouse, camera);
        raycaster.setFromCamera( mouse, camera);

        var intersects = raycaster.intersectObjects( scene.children );

        if( intersects.length > 0 ) {
            intersects.map(function(d) {
                if(d.object.name === "sphere") {
                           //etc...
                }
            })

        }
Run Code Online (Sandbox Code Playgroud)

但相交不断返回空。我感觉问题与我设置鼠标坐标的方式有关,但我不确定如何解决该问题。

编辑:如果我旋转绘图以便我从上方查看它,我似乎能够找到一个球体(但无论旋转如何,我都需要能够检测到它)。这是否表明任何具体的事情?

javascript three.js

2
推荐指数
1
解决办法
6877
查看次数

标签 统计

javascript ×1

three.js ×1