如何在Aframe中禁用跟踪位置

时间:2018-03-20 15:01:14

标签: three.js aframe oculus

尝试禁用在occulus上的跟踪位置,不要在其上找到任何文档。

我搜索了postionnal跟踪,但没有任何内容

https://github.com/aframevr/aframe/search?utf8=%E2%9C%93&q=tracking&type=

也许有THREE.JS?

3 个答案:

答案 0 :(得分:1)

从0.8.0开始,使用任何内置A-Frame组件都无法做到这一点。您可能正在寻找的是look-controls组件,它可以处理鼠标和耳机的旋转/位置。

look-controls documentation

有一个选项可以完全禁用HMD,但是没有关闭位置的选项。您可以申请该功能或创建自己的look-controls版本,但我会对此犹豫不决 - 这会让HM体验用户的VR体验更加不舒服。

答案 1 :(得分:0)

快速破解:)

此代码未经过测试,但此处的想法是:)

// html
<entity class="Camera__parent">
  <camera class="Camera" />
</entity>

//js
const cameraParent = document.querySelector('.Camera__parent')
const camera = document.querySelector('.Camera')

function update() {
  requestAnimationFrame(update)
  cameraParent.object3D.position.y = -camera.object3D.position.y
}

if(AFRAME.utils.device.checkHasPositionalTracking())
  update()

答案 2 :(得分:0)

我不得不同意唐,在任何6个DOF设备上限制位置跟踪会导致糟糕的用户体验,因为预期会有某些类型的移动;但是总有空间进行实验!

虽然没有内置到A-Frame中,你可以看一下创建一个组件来重置位置(并且只有位置 - 如果你搞乱矩阵变换它们将覆盖所有变换 - 缩放,变换,旋转 - 在下面的THREEjs层中) 。

看起来下面有一个可能有效的示例。你也可以在这里寻找一个开始glitch.com/edit/#!/aframe-parent-constraint但我必须承认我在最后更新单个变换时遇到了困难。