如果我没有将摄像机的初始位置设置为,则Web浏览器和Oculus Go浏览器的行为会有所不同(请参见下图)。
print_r(get_school($admin_school_code))
图片。 1-相机在网络浏览器(例如Google Chrome)中的初始位置
图片。 2-VR浏览器(例如Oculus Go的默认浏览器)中摄像机的初始位置
看起来```cpp
c++ codes goes here...
```
的场景知道它在哪个环境中运行并自动调整了相机位置。如何更改相机的初始位置?
目前,我正在做这样的事情:
const camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
// camera position is Vector3(0, 0, 0)
scene.add( camera );
但同样,它不能解决在不同环境中处于不同位置的问题。
答案 0 :(得分:0)
我相信这是参考空间的行为。如果您使用参考空间类型*-floor
,则设备会知道您的身高。然后将摄像机y设置到设备y的位置,这很有意义。因为我找不到从哪里获取设备高度的位置,所以我只是将参考空间类型设置为local。
this.renderer.xr.setReferenceSpaceType( 'local' );
对我来说,scene.add(cameraHolder)
是必需的,否则相机将无法接收位置/旋转。旧的HMD将摄像机连接到“头部”模型,然后您将转动头部而不是摄像机。