在VR中启用轨道控制

时间:2018-11-22 17:04:17

标签: aframe orbit-controls

我正在使用Kevin Kgo K框架软件包中的轨道控制: https://github.com/ngokevin/kframe/tree/master/components/orbit-controls/

这些控件使您可以围绕场景旋转相机,从而产生围绕视点旋转场景的印象。 不幸的是,进入VR模式后,该组件会自动切换到场景中心的第一人称外观控件。

对于我的项目,即使在VR中,我也要保留轨道透视图和轨道控制。我认为,这可以通过在检查是否输入VR后禁用部分代码来实现。

    el.sceneEl.addEventListener('enter-vr', () => {
  if (!AFRAME.utils.device.checkHeadsetConnected() &&
      !AFRAME.utils.device.isMobile()) { return; }
  this.controls.enabled = false;
  if (el.hasAttribute('look-controls')) {
    el.setAttribute('look-controls', 'enabled', true);
    oldPosition.copy(el.getObject3D('camera').position);
    el.getObject3D('camera').position.set(0, 0, 0);
  }
});

轨道控制组件直接在three.js摄像机上而不是在aframe级别上运行-但是,vr摄像机由aframe管理。到目前为止,我尝试的所有操作最终都将VR摄像机放置在场景的中心。

我设法在VR模式下看到相机在场景中移动-但是,我被困在VR位置

1 个答案:

答案 0 :(得分:1)

我建议改为创建和旋转模型/场景的父级ctrl+b。如您所见,移动相机会与a-entity发生碰撞,这会使用户感到不舒服,并可能导致晕车。