XRInputSource

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

WebXR 機器 APIXRInputSource インターフェースは、ユーザーの WebXR 互換の仮想現実または拡張現実のシステムの一部であるコントロール入力の単一ソースを記述します。機器は使用されているプラットフォームに固有ですが、それが向けられている方向を提供し、ユーザーが機器を使用してアクションを実行することをトリガーにした場合、オプションでイベントを生成することができます。

インスタンスプロパティ

gamepad 読取専用

XR 入力ソースのボタンと軸の状態を説明する Gamepad オブジェクト(ゲームパッドまたは同等の機器の場合)。 その機器がゲームパッドのような機器でない場合、このプロパティの値は null です。

gripSpace 読取専用

handedness で示された手に持っているように見えるオブジェクトをレンダリングするために使用するポーズを原点が追跡する XRSpace (en-US)。この空間の向きは、手がオブジェクトをつかんでいる角度を示します。 この空間の使用方法の詳細については、gripSpace のメイン記事をお読みください。

hand 読取専用

基盤となっているハンドトラッキング機器にアクセスするための XRHand (en-US) オブジェクト。

handedness 読取専用

この XRInputSource によって表される機器を使用している手がある場合はそれを示す文字列。 値は、leftrightnone のいずれかになります。

profiles 読取専用

文字列の配列。 それぞれが、この入力ソースの望ましい視覚的表現と振る舞いを説明する入力プロファイルの名前を指定します。

targetRayMode 読取専用

ターゲット光線を生成するために使用する方法を gazetracked-pointerscreen のいずれかで示す文字列。

targetRaySpace 読取専用

ターゲット光線の原点とそれが伸びる方向を定義する XRSpace (en-US) オブジェクト。 この空間は、targetRayMode で定義された方法を使用して確立されます。

インスタンスメソッド

XRInputSource インターフェイスはメソッドを定義していません。

使用上の注意

アクションとターゲット光線

機器が向けられている方向を示す場合、これはターゲット光線(target ray)を使用して行われます。 これは、機器の位置から、機器が向けられている方向に外側に伸びる光線です。

ハンドコントローラから放出されるターゲット光線。

ハンドコントローラーから放出されるターゲット光線を示すスクリーンショット

機器にトリガーまたは他のスクイーズ可能な入力(ユーザーが拳を握ったことを認識するハンドジェスチャー機器など)が含まれている場合、そのアクションはプライマリースクイーズアクション (primary squeeze action) と呼ばれます。 プライマリースクイーズアクションは、オブジェクトをつかんだり、ツールや武器のトリガーを押したりするなど、実際のグリップアクションに対応している必要があります。ユーザーがトリガーを押したりグリップを締め付けたりするなどしてスクイーズアクションが開始されると、squeezestart (en-US) イベントが XRSession に送信されます。 アクションが完了し、ユーザーがトリガーまたはグリップを放すと、squeeze (en-US) イベントが送信されます。 この後に squeezeend (en-US) が続き、アクションが完了ではなく中止された場合にも送信されます。

機器にボタンまたはその他の押すことができる入力コントロールがある場合、それはプライマリ入力ソース (primary input source) であり、このボタンはプライマリーアクション (primary action) です。 プライマリーアクションは、ユーザーがボタンを押すか、タッチパッドまたはサムスティックのトップボタンをクリックするか、ボタンのようなアクションを呼び出す手のジェスチャーまたは音声コマンドを使用するときに発生する可能性があります。 プライマリーアクションが開始されると、selectstart (en-US) イベントが XRSession (en-US) に送信されます。 アクションが完了すると(ユーザーがボタンを離したときなど)、select (en-US) イベントが送信されます。 最後に、それが完了すると、またはユーザーがアクションを中止すると、selectend (en-US) イベントがセッションオブジェクトに送信されます。

アクションは、ユーザーが機器固有の方法で中止するか、アクションが完了する前に入力機器が切断された場合に中止される可能性があります。

ローカル座標系

各入力ソースには独自のローカル座標系があります。 これは、入力の座標系を世界座標系にマッピングするために使用する XRSpace (en-US) である gripSpace プロパティによって記述されます。 次に、グリップ空間の座標系を使用してオブジェクトをレンダリングし、ユーザーの手に持っているように見せることができます。

gripSpace プロパティで定義された座標系を示す図

入力ソースの座標系の詳細については、gripSpace プロパティについて詳しく説明している記事を参照してください。

仕様

Specification
WebXR Device API
# xrinputsource-interface

ブラウザーの互換性

BCD tables only load in the browser

関連情報