我正在使用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位置
答案 0 :(得分:1)
我建议改为创建和旋转模型/场景的父级ctrl+b
。如您所见,移动相机会与a-entity
发生碰撞,这会使用户感到不舒服,并可能导致晕车。