如何在进入VR时重置摄像机位置?

时间:2017-01-12 22:57:49

标签: aframe webvr

当用户在A-Frame场景中单击输入VR按钮时,如何重置摄像机位置?

我为桌面EnumType.ORDINAL用户设置了一个漂亮的摄像头位置,但想要在Vive用户进入VR时重置wasd-controlsposition

我按照this answer的模式开始设置相机:

rotation

此处我尝试使用来自WebVR API的window.onvrdisplaypresentchange事件重置 <!-- Player --> <a-entity id='cameraWrapper' position='1 1.8034 1' rotation='-35 40 0'> <a-entity camera look-controls wasd-controls="fly: true"></a-entity> </a-entity> position

rotation

这是一个[code sandbox demo],可以重现问题状态(http://blockbuilder.org/micahstubbs/94e06c2849b6c7c60105d0243bc1936a#mode=sidebyside

我正在使用A-Frame MasterAug 29 Chromium实验版本开发此场景,并启用 // // if a VR display (like the Vive headset begins presenting // (if the scene goes into VR mode) // reset the camera position and rotation // window.onvrdisplaypresentchange = function() { d3.select('#cameraWrapper') .attr('position', '0 0 0') .attr('rotation', '0 0 0'); } --enable-webvr标记。

编辑:除了重置--enable-gamepad-extensionsposition x,z之外,我真正想要做的还是将相机的rotation x,y,zposition y重设为Vive hmd的值为我们做了)

1 个答案:

答案 0 :(得分:1)

使用camera.userHeight设置非VR高度。

<a-entity camera="userHeight: 1.6">

非VR的相机高1.6米。在VR中,此高度将被删除。从VR返回时,将重新应用1.6米的高度。

https://aframe.io/docs/0.4.0/components/camera.html#vr-behavior

<a-camera>和默认摄像头默认使用此功能。