three.js透视相机对象拾取在r69中不起作用

时间:2014-11-24 06:50:41

标签: javascript three.js

我试图在我使用透视相机的场景中挑选物体。我的代码片段已经 有效,但不准确。如果将鼠标悬停在多维数据集左/右/上方/下方的某些像素上,它仍会告诉我该对象已被选中(请参阅控制台输出)。

我使用three.js r69。找到我的鼠标移动代码。

function onDocumentMouseMove(event) {

        event.preventDefault();

        var vector = new THREE.Vector3();
        var raycaster = new THREE.Raycaster();
        var dir = new THREE.Vector3();

        vector.set((event.clientX / width) * 2 - 1, -(event.clientY / height) * 2 + 1, 0.5); 

        vector.unproject(camera);

        raycaster.set(camera.position, vector.sub(camera.position).normalize());

        var intersects = raycaster.intersectObjects(scenemodels.children, false);

        if (intersects.length > 0) {

            console.log('object is selected!');

        }
    }

请参阅fiddler版本:http://jsfiddle.net/jpremkumar/gbdKF/65/

感谢您对此的支持。

提前谢谢。

0 个答案:

没有答案