我一直在努力创建一个WebVR环境超过一周,我的场景以三个j呈现,但我似乎无法使VR控件工作。
我试过了:
在我的node_modules中添加包并导入它们:
import threeOrbitControls from 'three-orbit-controls';
const OrbitControls = threeOrbitControls(THREE);
const controls = new THREE.OrbitControls(camera, element);
但这引发了错误:
Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_1_three__.OrbitControls is not a constructor(…)
我试图导入的其他一些模块说三个在模块中是未定义的,因为函数以THREE.
开头,但我不能进入那个模块而只导入三个因为如果其他人运行{{1}他们仍会得到同样的错误。
我尝试在我的index.html中添加脚本(以及正在下载的源代码),但是还没有定义THREE ......
我猜对了。我认为这是因为webpack并查找了一个WebVR webpack存储库来查看该人如何处理它。我发现this repository但是在安装软件包并运行webpack时,它说WebVRManager不是构造函数。老实说,我不知道这里出了什么问题。
这是我用来运行项目的代码(现在非常混乱)。
npm install
答案 0 :(得分:1)
我下载了源代码,需要执行require(./OrbitControls.js)
并在源代码中添加module.exports = THREE.OrbitControls
。
答案 1 :(得分:0)
请尝试以这种方式导入三轨道控件:
const OrbitControls = require( 'three-orbit-controls' )( THREE );
它应该工作。我遇到了和你一样的问题,上面的解决方案也奏效了。三轨道控制模块导出解决方案似乎有问题。