トラックドコントロール
tracked-controls コンポーネントは、追跡されたコントローラーとのインターフェースです。tracked-controls は、追跡されたコントローラーを扱うために Gamepad API を使用し、hand-controls コンポーネント、vive-controls、oculus-touch-controls、windows-motion-controls および daydream-controlsコンポーネントによって抽象化されています。このコンポーネントは、適切なコントローラを選択し、エンティティにポーズを適用し、ボタンの状態を観察し、適切なイベントを発行します。daydream-controls などの非 6DOF コントローラでは、位置データをエミュレートするためにプリミティブアームモデルが使用される。
tracked-controlsは、VR用の異なるWeb APIバージョンを扱う2つのコンポーネントをセットにしています。
- tracked-controls-webvr
- tracked-controls-webxr
# 例
なお、最近のブラウザ固有の変更により、ViveコントローラはGamepad APIからid値が「OpenVR Gamepad」または「OpenVR Controller」で返されることがあるため、Vive / OpenVRコントローラにはidPrefixの使用を推奨しています。
<a-entity tracked-controls="controller: 0; idPrefix: OpenVR"></a-entity>
# プロパティ
Property | 概要 | デフォルト値 |
---|---|---|
armModel | アームモデルがない場合に、位置情報にアームモデルを使用するかどうか。 | true |
autoHide | コントローラの接続時、切断時に自動的に表示を切り替えるかどうか。 | true |
controller | ゲームパッドAPIが返す配列中のコントローラのインデックス。 | 0 |
id | ゲームパッドAPIからコントローラを完全一致で選択します。 | |
idPrefix | ゲームパッドAPIから、プレフィックスマッチでコントローラを選択します。 | |
headElement | アームモデル用のヘッドエレメントを指定します (アクティブカメラでない場合)。 | |
hand | 腕のモデルが必要な場合に使用する手を指定します。(左は X を否定します) | right |
orientationOffset | モデルの向きに適用するオフセット。 | x: 0, y: 0, z: 0 |
# イベント
Event Name | 概要 |
---|---|
controllerconnected | コントローラが接続され、設定されている。 |
controllerdisconnected | コントローラが切断された。 |
axismove | 軸が変更された(例:サムスティック、タッチパッドの場合)。イベント詳細のaxis とaxesChanged を含む。 axis は-1.0 (左、下)から1.0 (右、上)までの値の配列である。 |
buttonchanged | ボタンがタッチまたは押されたときに発生する。 |
buttondown | ボタンが押された。 |
buttonup | ボタンが離された。 |
touchstart | タッチ式ボタンがタッチされた。 |
touchend | タッチ式ボタンが離された。 |
# 他のリソース
- Gamepad API (opens new window) - W3C Gamepad API
- OpenVR (opens new window) - OpenVR Documentation
← テキスト エンティティの可視化 →