我正在尝试实现在当前鼠标坐标上加载 3D 模型的功能。我使用 jQuery 拖放功能来加载 3D 模型。我可以将模型加载到 Canvas 中,但它没有捕捉到鼠标坐标。
我使用下面的代码将 2D 鼠标坐标转换为 3D 坐标,但它没有提供确切的位置。
function 2DTo3DSpace(event) {
var planeZ = new THREE.Plane(new THREE.Vector3(1500, 1500, 1500), 0);
var mv = new THREE.Vector3((event.clientX / window.innerWidth) * 2 - 1, -(event.clientY / window.innerHeight) * 2 + 1, 0.5);
var raycaster = projector.pickingRay(mv, camera);
var pos = raycaster.ray.intersectPlane(planeZ);
return pos;
}
最佳答案
确保使用相对于 Canvas 元素的鼠标位置。
参见this线程。
关于javascript - 如何在 Three.JS 中加载当前鼠标位置的 3D 模型(JSON)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26843067/