【发布时间】:2015-06-14 14:08:54
【问题描述】:
我已经设置了一个简单的场景,我的相机位于球体几何体中
var mat = new THREE.MeshBasicMaterial({map: THREE.ImageUtils.loadTexture('0.jpg') , overdraw:true, color: 0xffffff, wireframe: false });
var sphereGeo = new THREE.SphereGeometry(1000,50,50);
var sphere = new THREE.Mesh(sphereGeo,mat);
sphere.scale.x = -1;
sphere.doubleSided = false;
scene.add(sphere);
我设置了一个功能,我可以在该球体内环顾四周,我的目的是能够在鼠标向下投射光线,击中球体并获取发生击中的坐标。我正在投射光线,但相交仍然是空的。
var vector = new THREE.Vector3();
vector.set( ( event.clientX / window.innerWidth ) * 2 - 1, - ( event.clientY / window.innerHeight ) * 2 + 1, 0.5 );
vector.unproject( camera );
raycaster.ray.set( camera.position, vector.sub( camera.position ).normalize());
var intersects = raycaster.intersectObjects(scene.children, true);
一切都适用于我的球体中的测试立方体。 我的问题是,是否从内部击中物体是否重要?因为这是我想到的唯一解释。
提前致谢。
【问题讨论】:
标签: javascript three.js raycasting