【发布时间】:2016-07-03 18:58:56
【问题描述】:
我正在尝试检测用户正在查看框几何体的哪一面墙。想象一下,用户在一个房间里,我想检测相机当前正在看哪一面墙。我像这样从相机投射光线:
var lookAtVector = new THREE.Vector3(0,0, -1);
lookAtVector.applyQuaternion(camera.quaternion);
raycaster.setFromCamera(lookAtVector, camera);
var intersection = raycaster.intersectObject(box);
console.log(intersection);
所以这种光线投射在“房间”外工作得很好,但如何让它在房间内工作呢?
【问题讨论】:
-
也许你可以反转光线
-
“它不起作用”不是正确的问题描述。
-
function
raycaster.intersectObject返回一个空数组而不是相交对象的数组。因此它没有找到并与盒子相交,尽管肯定有一个,因为相机在盒子里面。这更容易理解吗? -
反转光线似乎没有帮助
-
我将粘贴的代码复制到带有天空盒的codepen 中,它似乎对我有用(?)
标签: three.js