Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript THREE.js-CameraContros和camera.up vector_Javascript_Three.js - Fatal编程技术网

Javascript THREE.js-CameraContros和camera.up vector

Javascript THREE.js-CameraContros和camera.up vector,javascript,three.js,Javascript,Three.js,我正在使用CameraControl(camera controls)包在Three.js上管理摄像头 当空间是Y轴向上(camera.up.set(0,1,0))时,它工作正常,但当Z轴设置(camera.up.set(0,0,1))时,它会按预期停止工作 有什么线索可以让CameraControl软件包沿z轴向上运行吗?我试图改变向上矢量(场景对象/摄影机/轨道控制/THREE.Object3D.DefaultUp)-这带来的问题比好处多,IMHO。 我也尝试过使用轮换(这里有很多人推荐,在

我正在使用CameraControl(camera controls)包在Three.js上管理摄像头

当空间是Y轴向上(camera.up.set(0,1,0))时,它工作正常,但当Z轴设置(camera.up.set(0,0,1))时,它会按预期停止工作


有什么线索可以让CameraControl软件包沿z轴向上运行吗?

我试图改变向上矢量(场景对象/摄影机/轨道控制/THREE.Object3D.DefaultUp)-这带来的问题比好处多,IMHO。 我也尝试过使用轮换(这里有很多人推荐,在“话语”和“clara.io”)但是没有用

最后,我只修改了原始坐标。您可以在客户端或服务器端执行此操作。 在我的场景中(我想这也是你的情况),解决方案是将真实世界坐标转换为3JS场景空间坐标,反之亦然,如下所示:

threeX: -1 * worldX,
threeY: worldZ,
threeZ: worldY

非常感谢你。我试着在摄像机上做这个,我肯定我做错了什么。问题是该库使用的是Three.js中的SphereCalocordinates,它不考虑相机的上方向向量。我正在制作一个适当的SphericalCoordinates类,它考虑了照相机,应该可以解决这个问题(我希望以一种更干净的方式)