我一直在做一個ThreeJS項目並使用光線投影與畫布內的對象進行區域間的切換。 我有4臺電腦來測試它,所有更新最新回購。ThreeJS:Raycasts在某些計算機上關閉
在其中一臺計算機上,光線投射離開了鼠標所在的位置......我不知道是什麼導致它與其他人的行爲不同。
任何想法?
代碼:
// Performs a Raycast for Ortho camera type
PerformOrthographicRaycast: function (event, canvas, renderer, camera, objects) {
var vector = new THREE.Vector3(0, 0, 0);
var dir = new THREE.Vector3(0, 0, 0);
vector.x = ((event.clientX - canvas.getBoundingClientRect().left)/renderer.domElement.width) * 2 - 1;
vector.y = -((event.clientY - canvas.getBoundingClientRect().top)/renderer.domElement.height) * 2 + 1;;
vector.z = -1; // z = - 1 important!
vector.unproject(camera);
dir.set(0, 0, -1).transformDirection(camera.matrixWorld);
this._Raycaster.set(vector, dir);
var intersects = this._Raycaster.intersectObjects(objects, true);
if (intersects.length) {
return intersects;
}
else
return null;
},