安全なコンテキスト用
この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
WebXR Device API の XRInputSource
インターフェースは、ユーザーの WebXR 互換の仮想現実または拡張現実のシステムの一部であるコントロール入力の単一ソースを記述します。 デバイスは使用されているプラットフォームに固有ですが、それが向けられている方向を提供し、ユーザーがデバイスを使用してアクションを実行することをトリガーにした場合、オプションでイベントを生成することができます。
プロパティ
gamepad
読取専用-
XR 入力ソースのボタンと軸の状態を説明する
Gamepad
オブジェクト(ゲームパッドまたは同等のデバイスの場合)。 デバイスがゲームパッドのようなデバイスでない場合、このプロパティの値はNULL
です。注:XRInputSource
は Gamepad API のGamepad
インターフェイスを使用しますが、この入力デバイスは WebXR ハードウェアに厳密に関連付けられており、汎用のゲームデバイスではありません。 gripSpace
読取専用handedness
で示された手に持っているように見えるオブジェクトをレンダリングするために使用するポーズを原点が追跡するXRSpace
。この空間の向きは、手がオブジェクトをつかんでいる角度を示します。 この空間の使用方法の詳細については、gripSpace
のメイン記事をお読みください。handedness
読取専用- この
XRInputSource
によって表されるデバイスを使用している手がある場合はそれを示すDOMString
。 値は、left
、right
、またはnone
になります。 profiles
読取専用- DOMString オブジェクトの配列。 それぞれが、この入力ソースの望ましい視覚的表現と振る舞いを説明する入力プロファイルの名前を指定します。
targetRayMode
読取専用-
ターゲット光線を生成するために使用する方法を
gaze
、tracked-pointer
、またはscreen
で示すDOMString
。 targetRaySpace
読取専用- ターゲット光線の原点とそれが伸びる方向を定義する
XRSpace
オブジェクト。 この空間は、targetRayMode
で定義された方法を使用して確立されます。
メソッド
XRInputSource
インターフェイスはメソッドを定義しません。
使用上の注意
アクションとターゲット光線
デバイスがそれが向けられている方向を示す場合、これはターゲット光線(target ray)を使用して行われます。 これは、デバイスの位置から、デバイスが向けられている方向に外側に伸びる光線です。

デバイスにトリガーまたは他のスクイーズ可能な入力(ユーザーが拳を握ったことを認識するハンドジェスチャーデバイスなど)が含まれている場合、そのアクションはプライマリースクイーズアクション(primary squeeze action)と呼ばれます。 プライマリースクイーズアクションは、オブジェクトをつかんだり、ツールや武器のトリガーを押したりするなど、実際のグリップアクションに対応している必要があります。 ユーザーがトリガーを押したりグリップを締め付けたりするなどしてスクイーズアクションが開始されると、squeezestart
イベントが XRSession
に送信されます。 アクションが完了し、ユーザーがトリガーまたはグリップを放すと、squeeze
イベントが送信されます。 この後に squeezeend
が続き、アクションが完了ではなく中止された場合にも送信されます。
デバイスにボタンまたはその他の押すことができる入力コントロールがある場合、それはプライマリ入力ソース(primary input source)であり、このボタンはプライマリーアクション(primary action)です。 プライマリーアクションは、ユーザーがボタンを押すか、タッチパッドまたはサムスティックのトップボタンをクリックするか、ボタンのようなアクションを呼び出す手のジェスチャーまたは音声コマンドを使用するときに発生する可能性があります。 プライマリーアクションが開始されると、selectstart
イベントが XRSession
に送信されます。 アクションが完了すると(ユーザーがボタンを離したときなど)、select
イベントが送信されます。 最後に、それが完了すると、またはユーザーがアクションを中止すると、selectend
イベントがセッションオブジェクトに送信されます。
アクションは、ユーザーがデバイス固有の方法で中止するか、アクションが完了する前に入力デバイスが切断された場合に中止される可能性があります。
ローカル座標系
各入力ソースには独自のローカル座標系があります。 これは、入力の座標系を世界座標系にマッピングするために使用する XRSpace
である gripSpace
プロパティによって記述されます。 次に、グリップ空間の座標系を使用してオブジェクトをレンダリングし、ユーザーの手に持っているように見せることができます。
入力ソースの座標系の詳細については、gripSpace
プロパティについて詳しく説明している記事を参照してください。
仕様
仕様 | 状態 | コメント |
---|---|---|
WebXR Device API XRInputSource の定義 |
草案 | 初期定義 |
ブラウザーの互換性
BCD tables only load in the browser