使用standard example WebVR script在 ThreeJS r87 中进行开发。通过我的手机上的Chrome使用Google纸板在VR中成功渲染3D场景。
当我使用VR时,相机/观察者的视角位于世界的中心(0,0,0)。地板平面横跨我的视线,我正在查看所有物体。
我尝试使用以下方法更改VR耳机的观点:
camera.position.set(0, 15, 0);
但它似乎忽略/覆盖它。
这个职位现在总是固定好吗?我是否需要将所有场景对象放在一个组中并移动它以创建用户在场景中移动/飞行的效果?
通过ThreeJS库,我可以看到其他耳机中存在用户身高等概念:https://github.com/mrdoob/three.js/blob/dev/examples/js/controls/VRControls.js#L58但对它们的支持似乎也很脆弱。
我更深入地挖掘了ThreeJS到VRDisplay并找到像VRDisplay.getPose()之类的东西来获取VRPose的实例但是这个被弃用了,我不知道为什么?< / p>
非常感谢解释和解决方案。
答案 0 :(得分:1)
您是否尝试将相机放入一组?
var user = new THREE.Group();
user.position.set( 0, 15, 0 );
scene.add( user );
user.add( camera );