【发布时间】:2018-01-17 14:20:30
【问题描述】:
我在可以使用头戴设备(Oculus 或 HTC)的不同位置开发了一个 a-frame 场景。
aframe 0.7.0 中是否内置了跟踪控制器功能?
是否需要添加代码来检测这些控制器并将桌面 WASD 导航替换为跟踪控制器?我不需要任何可见的手我只需要在空间中实现上/下/左/右移动。
谢谢
【问题讨论】:
标签: aframe oculus webvr htc-vive
我在可以使用头戴设备(Oculus 或 HTC)的不同位置开发了一个 a-frame 场景。
aframe 0.7.0 中是否内置了跟踪控制器功能?
是否需要添加代码来检测这些控制器并将桌面 WASD 导航替换为跟踪控制器?我不需要任何可见的手我只需要在空间中实现上/下/左/右移动。
谢谢
【问题讨论】:
标签: aframe oculus webvr htc-vive
Don McCurdy 的aframe-extras 包含一个我强烈推荐的名为universal-controls 的组件。具体来说,有一个gamepad-controls 组件可以完全满足您的需求。
如果没有,universal-controls 支持使用“自定义”控制器扩展主要组件。这样做的能力在存储库页面上有少量记录,但它非常简单。我正在为 GearVR 控制器开发一个响应按下 GearVR 触控板以实现移动的控制器。我仍然需要努力让向后运动,但你可以找到我目前的工作at Github。
一旦您开发了自己的自定义控制器(或决定使用我的,或其他),您就可以将它附加到场景的相机上,如下所示:
<a-entity
id='scene-camera'
camera="userHeight: 1.6"
position='24 1.6 14'
universal-controls='movementControls: universal-gear-vr, keyboard;'
universal-gearvr-controls>
上面需要注意的事项:我告诉universal-controls 组件使用我的自定义组件,而不是默认设置(它将尝试加载所有可用的移动控制方案),方法是在movementControls 参数。请注意,我在名称中省略了“控制”。那是因为universal-controls 稍后会添加回来。话虽如此,我还将我的自定义组件附加到相机上,必须这样做,以便universal-controls 可以找到并使用它。
不过,关于启用向后移动的快速说明,如果您对此感兴趣的话。我已经通过修改原始 WASD 移动脚本来完成它。如果您想查看,可以查看what I did。
【讨论】: