我使用的轨道控制是Kevin Ngo的k帧包的一部分:https://github.com/ngokevin/kframe/tree/master/components/orbit-controls/
该控件允许您旋转您的相机周围的现场,创造了一个印象,旋转的场景围绕您的观点。不幸的是,当进入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管理的。到目前为止,我所做的一切都是以虚拟现实相机作为场景的中心.
我设法在虚拟现实模式下看到摄像机在场景中移动--然而,我被困在了虚拟现实的位置上。
发布于 2018-11-26 16:15:48
我建议创建并旋转模型/场景的父a-entity。如你所见,移动相机会与look-controls发生碰撞,会让用户感到不舒服,并可能导致晕车。
https://stackoverflow.com/questions/53435562
复制相似问题