手控制
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>