【问题标题】:three.js intersectScene get empty object三.js intersectScene 获取空对象
【发布时间】:2012-01-01 18:35:04
【问题描述】:

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

你可以在这里找到完整的代码 http://converteveryunit.com/pot/biluochun/temp/ 谢谢。

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);

    }

【问题讨论】:

    标签: webgl three.js


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-05-07
      • 2016-02-13
      • 1970-01-01
      • 2014-10-29
      • 2017-09-24
      • 1970-01-01
      • 2018-06-12
      • 2016-08-02
      • 2016-04-21
      相关资源
      最近更新 更多