我在 Object3D 中添加了一些对象(用于对元素进行分组),并且我正在尝试检测对它的点击。我的场景大小为600x400
,我的相机在三个对象内,我的事件处理程序代码如下所示:
function onDocumentMouseDown( event ) {
event.preventDefault();
var mouse = {};
mouse.x = ( event.clientX / 600 ) * 2 - 1;
mouse.y = - ( event.clientY / 400 ) * 2 + 1;
var vector = new THREE.Vector3( mouse.x, mouse.y, 1 );
projector.unprojectVector( vector, three.camera );
var ray = new THREE.Ray( three.camera.position, vector.subSelf( three.camera.position ).normalize() );
var intersects = ray.intersectObjects( group.children );
alert(intersects.length);
[...]
}
实际上,我正在提醒相交对象的数量。但它保持为零。它找不到任何相交的对象。我已经对我的投影向量的 x、y 和 z 值进行了一些尝试——但没有成功。
我添加了一个精简示例,用于在jsfiddle上演示此问题。也许有人对我有一个简短的提示,它出了什么问题?