【问题标题】:Three.js + WebVR set "height" of camera viewing position三.js + WebVR 设置摄像头观看位置的“高度”
【发布时间】:2018-03-31 22:58:01
【问题描述】:

使用 standard example WebVR scriptThreeJS 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 的实例,但它正在被弃用,我不知道为什么?

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

【问题讨论】:

    标签: three.js webvr


    【解决方案1】:

    你试过把相机放在一个组里吗?

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

    See from Line #60 here.

    【讨论】:

      猜你喜欢
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 2013-12-08
      • 2018-02-13
      • 1970-01-01
      • 2012-06-03
      相关资源
      最近更新 更多