我需要将鼠标屏幕坐标转换为ThreeJS XZ平面上的世界坐标。
我找到了这个可用的代码,可以将鼠标位置转换为XY世界坐标,但我不知道如何修改它以获取XZ坐标:
var vector = new THREE.Vector3();
vector.set((event.clientX / window.innerWidth) * 2 - 1, - (event.clientY / window.innerHeight) * 2 + 1, 0.5);
vector.unproject(camera);
var dir = vector.sub(camera.position).normalize();
var distance = - camera.position.z / dir.z;
var position = camera.position.clone().add(dir.multiplyScalar(distance));
console.log("x: " + position.x + " y: " + position.y);