Webgl three.js场景获取空对象

Webgl three.js场景获取空对象,webgl,three.js,Webgl,Three.js,我为mouseMove和mouseDown编写了两个非常相似的函数。前者工作正常,后者从var intersects=ray.intersectScene(scene)获取空对象 您可以在这里找到完整的代码 谢谢 我对Three.js不是很熟悉,但我不禁想知道为什么向量的Z分量在第一个函数中为0.5,在第二个函数中为100。如果一个有效,另一个无效,那肯定是一个不错的开始 function onDocumentMouseMove(event) { mouseX = event.clie

我为mouseMove和mouseDown编写了两个非常相似的函数。前者工作正常,后者从var intersects=ray.intersectScene(scene)获取空对象

您可以在这里找到完整的代码 谢谢


我对Three.js不是很熟悉,但我不禁想知道为什么向量的Z分量在第一个函数中为0.5,在第二个函数中为100。如果一个有效,另一个无效,那肯定是一个不错的开始

function onDocumentMouseMove(event) {

    mouseX = event.clientX - homeWidth/2;
    mouseY = event.clientY - homeHeight/2;

    var vector = new THREE.Vector3( ( event.clientX / homeWidth ) * 2 - 1, - ( event.clientY / homeHeight ) * 2 + 1, 0.5 );
    projector.unprojectVector( vector, camera );

    var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() );

    var intersects = ray.intersectScene( scene );
}


function onDocumentMouseDown( event ) {

    event.preventDefault();

    var vector = new THREE.Vector3( ( event.clientX / homeWidth ) * 2 - 1, - ( event.clientY / homeHeight ) * 2 + 1, 100 );
    projector.unprojectVector( vector, camera );

    var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() );

    var intersects = ray.intersectScene( scene );
    console.log( intersects);

    }