XRInputSource

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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

インスタンスプロパティ

gamepad 読取専用

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

gripSpace 読取専用

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

hand 読取専用

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

handedness 読取専用

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

profiles 読取専用

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

targetRayMode 読取専用

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

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 プロパティで定義された座標系を示す図

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

仕様

Specification
WebXR Device API
# xrinputsource-interface

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
XRInputSource
gamepad
gripSpace
hand
handedness
profiles
targetRayMode
targetRaySpace

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

関連情報