2017-10-19 207 views
3

中开发ThreeJS r87使用standard example WebVR script。使用Google纸板在手机上通过Chrome成功呈现VR场景中的3D场景。Three.js + WebVR设置相机观看位置的“高度”

当我使用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的实例,但那正在被弃用的过程中,我不知道为什么?

解释和解决方案将不胜感激。

回答

1

您是否曾尝试将相机放入组中?

var user = new THREE.Group(); 
user.position.set(0, 15, 0); 
scene.add(user); 
user.add(camera); 

See from Line #60 here.