【发布时间】: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);
}
【问题讨论】: