javascript - 如何在 Three.JS 中加载当前鼠标位置的 3D 模型(JSON)?

标签 javascript three.js

我正在尝试实现在当前鼠标坐标上加载 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/

相关文章:

javascript - Three.js 中 Json 格式几何的线框

javascript - Threejs ColorsNeedUpdate 不触发更新

javascript - 如何旋转 THREE.TubeGeometry 段?

javascript - 在不泄漏内存的情况下动态创建和销毁 Three.js 场景

javascript - 避免在 JavaScript 中向函数传递大量参数的最佳实践

javascript - 如何制作一个导入 .css 文件的按钮?

javascript - 在按键上实现搜索表单上的建议下拉列表(MaterializeCSS)

javascript - THREE.TransformControls 在尝试更改其模式时未定义

javascript - 如何使用 mfc/c++ 在 chrome 或 firefox 中注入(inject)脚本

javascript - 在javascript中获取实体图标url