手控制

aframe 0.x >= 0.3

A-Frame 提供了一种通过手动控制组件支持多种类型的 6DoF 控制器(Vive,Oculus Touch)的实现。手动控制组件主要用于 6DoF 控制器,因为它适用于房间尺度的交互,例如抓取物体。通过以下方式,手动控制组件可在 Vive 和 Oculus Touch 控制器之上工作:

  • 设置 vive-control 和 oculus-touch-controls 组件

  • 使用简单的手动模型覆盖控制器模型

  • 将 Vive 特定事件和 Oculus Touch 特定事件映射到手事件和手势(例如,按下按钮和触发按钮)

要添加手控组件:

<a-entity hand-controls="left"></a-entity>
<a-entity hand-controls="right"></a-entity>

不幸的是,还没有一个 3DoF 控制器组件可以很好地抽象出所有类型的 3DoF 控制器(即 Daydream,GearVR)。我们可以创建一个适用于两个控制器的自定义控制器。由于 3DoF 控制器不具有很大的交互潜力(即,仅使用触摸板进行旋转跟踪),因此覆盖起来相当容易。

手动控制器为跟踪的手(使用规定的模型)提供动画手势。手动控制包裹 vive-control 和 oculus-touch-controls 组件,后者又包裹跟踪控件组件。该组件提供额外的事件并处理手动画和姿势。

<a-entity hand-controls="left"></a-entity>
<a-entity hand-controls="right"></a-entity>