Three.js + WebVR设置相机观察位置的"高度"

3

使用 标准示例WebVR脚本,在 ThreeJS r87 中进行开发。成功地通过Chrome浏览器在我的手机上使用Google Cardboard呈现了一个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的实例,但它正在被弃用,我不确定为什么?
非常感谢您提供解释和解决方案。
1个回答

2

你尝试将相机放入组中了吗?

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

从这里的第60行开始查看。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接