WebXR
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
xr は Navigator インターフェイスによって提供される読み取り専用プロパティで、WebXR 機器 API へのアクセスに使用できる XRSystem オブジェクトを返します。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 79 | 79 | | | 79 | | |
xr 実験的 xr は Navigator インターフェイスによって提供される読み取り専用プロパティで、WebXR 機器 API へのアクセスに使用できる XRSystem オブジェクトを返します。 | 79 | 79 | | | 79 | |
| WebGLRenderingContext メソッドの makeXRSupport() は、WebGLRenderingContext によって記述されたレンダリング コンテキストが、表示されるイマーシブ WebXR デバイスのシーンをレンダリングする準備ができていることを確認します。 必要に応じて、WebGL レイヤーはコンテキストを再構成して、元とは異なるデバイスにレンダリングできるようにすることがあります。 | 79 | 79 | | | 79 | |
| WebGLRenderingContext メソッドの makeXRSupport() は、WebGLRenderingContext によって記述されたレンダリング コンテキストが、表示されるイマーシブ WebXR デバイスのシーンをレンダリングする準備ができていることを確認します。 必要に応じて、WebGL レイヤーはコンテキストを再構成して、元とは異なるデバイスにレンダリングできるようにすることがあります。 | 79 | 79 | | | 79 | |
boundsGeometry 実験的 XRBoundedReferenceSpace の boundsGeometry 読み取り専用プロパティは、ビューアーが移動できる多角形の内部を構成する点を指定する DOMPointReadOnly オブジェクトの配列です。 各点は 2 次元の点として扱われ、地面レベルに配置する必要があります(つまり、その y 座標は 0 である必要があります)。 | 79 | 79 | | | 79 | |
XRFrame 実験的 WebXR デバイス API の XRFrame オブジェクトは、XRSession.requestAnimationFrame コールバック関数に渡され、VR または AR シーンを記述する XRSession のアニメーションの単一フレームをレンダリングするために必要な情報へのアクセスを提供します。 オブジェクトの追跡状態を伝達するイベントは、その構造の一部として XRFrame 参照も提供します。 | 79 | 79 | | | 79 | |
getPose 実験的 XRFrame メソッド getPose() は、ある XRSpace の別の空間に対する相対的な位置と方向 (ポーズ) を返します。 これにより、オブジェクト間の相対的な動きや、シーン全体の固定位置に対するオブジェクトの動きを観察できます。 | 79 | 79 | | | 79 | |
getViewerPose 実験的 XRFrame インターフェイスのメンバーである getViewerPose() メソッドは、指定された参照空間に対するビューアの姿勢 (位置と方向) を記述する XRViewerPose オブジェクトを返します。 | 79 | 79 | | | 79 | |
session 実験的 XRFrame オブジェクトの読み取り専用セッション プロパティは、フレームを生成した XRSession オブジェクトを返します。 | 79 | 79 | | | 79 | |
| WebXR 機器 API の XRInputSource インターフェイスは、ユーザーの WebXR 互換の仮想現実または拡張現実のシステムの一部であるコントロール入力の単一ソースを記述します。機器は使用されているプラットフォームに固有ですが、それが向けられている方向を提供し、ユーザーが機器を使用してアクションを実行することをトリガーにした場合、オプションでイベントを生成することができます。 | 79 | 79 | | | 79 | |
| XRInputSource の gripSpace 読み取り専用プロパティは、ネイティブの原点がユーザーの手に保持している(またはユーザーの手の一部の)ように見える仮想オブジェクトのレンダリングに使用するポーズを追跡する XRSpace を返します。 例えば、ユーザーが仮想の真っ直ぐな棒を持っている場合、この XRSpace のネイティブの原点は、ユーザーの拳のおおよその重心にあります。 | 79 | 79 | | | 79 | |
| XRInputSource の handedness は読み取り専用プロパティで、WebXR 入力ソースがユーザーのどの手に関連付けられているか、またはまったく関連付けられていないかを示します。 | 79 | 79 | | | 79 | |
| XRInputSource の profiles は読み取り専用プロパティで、文字列の配列を返します。 各文字列は、入力ソースの構成プロファイルを記述します。 プロファイル文字列は、具体性の高い順にリストされ、最も具体的なプロファイルが最初にリストされます。 | 79 | 79 | | | 79 | |
| XRInputSource の targetRayMode プロパティは読み取り専用で、入力ソースのターゲット光線を生成する方法と、それをユーザーに提示する方法を示します。 | 79 | 79 | | | 79 | |
| XRInputSource の targetRaySpace` プロパティは読み取り専用で、仮想空間におけるターゲット光線の位置と方向を表す XRSpace (通常は XRReferenceSpace) を返します。その正の値はターゲット光線の原点の位置を示し、その方向はコントローラー機器自体の方向を示します。これらの値は、入力ソースの XRInputSource.targetRayMode のコンテキストで解釈され、機器を入力ソースとして完全に解釈するために使用することができます。 | 79 | 79 | | | 79 | |
| インターフェイス XRInputSourceArray は、WebXR 入力ソースのライブ リストを表し、XRSession プロパティ XRSession.inputSources の戻り値として使用されます。 各エントリは、WebXR システムに接続された 1 つの入力デバイスを表す XRInputSource です。 | 79 | 79 | | | 79 | |
@@iterator 実験的 [シンボル.イテレータ] | 79 | 79 | | | 79 | |
entries 実験的 XRInputSourceArray インターフェイスの events() メソッドは、入力ソース配列内のキーと値のペアを反復処理するために使用できる JavaScript イテレータを返します。 配列内の各項目は XRInputSource オブジェクトです。 | 79 | 79 | | | 79 | |
forEach 実験的 XRInputSourceArray の forEach() メソッドは、配列内の入力ソースごとに指定されたコールバックを 1 回実行し、インデックス 0 から開始してリストの末尾まで実行します。 | 79 | 79 | | | 79 | |
keys 実験的 XRInputSourceArray インターフェイスのkeys() メソッドは、入力ソースの配列内の各項目を参照するために使用されるキーを反復処理するために使用できる JavaScript イテレータを返します。 | 79 | 79 | | | 79 | |
length 実験的 読み取り専用の長さプロパティは、XRInputSourceArray オブジェクトによって表される入力ソース リスト内の項目の数を示す整数値を返します。 | 79 | 79 | | | 79 | |
values 実験的 XRInputSourceArray メソッドの value() は、配列に含まれる XRInputSource オブジェクトのリストを最初から最後までたどることができる JavaScript イテレータを返します。 | 79 | 79 | | | 79 | |
| WebXR デバイス API の XRInputSourceEvent インターフェイスは、ハンド コントローラー、視線追跡システム、モーション追跡システムなどの WebXR ユーザー入力デバイスで発生したイベントを記述します。 より具体的には、これらは XRInputSource の状態の変化を表します。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRInputSourceEvent プロパティ フレームは、WebXR ユーザー入力が発生した間のイベント フレームを表す XRFrame オブジェクトを指定します。 したがって、これは現在または差し迫ったイベントではなく、過去に発生したイベントである可能性があります。 | 79 | 79 | | | 79 | |
| XRInputSourceEvent インターフェイスの読み取り専用 inputSource プロパティは、入力イベントを生成した XRInputSource を指定します。 この情報により、操作されているユーザー入力デバイスの詳細に応じてイベントを適切に処理できます。 | 79 | 79 | | | 79 | |
| XRInputSourceEvent() コンストラクターは、XRInputSource によって表される WebXR ユーザー入力デバイスで発生したイベント (状態変化) を記述する新しい XRInputSourceEvent オブジェクトを作成して返します。 | 79 | 79 | | | 79 | |
| WebXR デバイス API インターフェイス XRInputSourcesChangeEvent は、使用可能な WebXR 入力コントローラーのセットが変更されたときに XRSession に送信される XRSession.inputsourceschange_event イベントを表すために使用されます。 | 79 | 79 | | | 79 | |
| 追加された読み取り専用の XRInputSourcesChangeEvent プロパティは、0 個以上の入力ソースのリストであり、それぞれが XRInputSource オブジェクトを使用して識別され、新たに使用できるようになりました。 | 79 | 79 | | | 79 | |
| 削除された読み取り専用の XRInputSourcesChangeEvent プロパティは、XRSession から削除された入力ソースを表す 0 個以上の XRInputSource オブジェクトの配列です。 | 79 | 79 | | | 79 | |
| XRInputSourcesChangeEvent プロパティ session は、入力ソース リスト変更イベントが適用される XRSession を指定します。 | 79 | 79 | | | 79 | |
| XRInputSourcesChangeEvent() コンストラクターは、使用可能な WebXR 入力デバイスのリストの更新を表す、新しい XRInputSourcesChangeEvent オブジェクトを作成して返します。 これらのイベントは WebXR システムによって作成され、送信されるため、通常はこのコンストラクターを自分で呼び出すことはありません。 | 79 | 79 | | | 79 | |
XRLayer 実験的 WebXR デバイス API の XRLayer インターフェイスは、WebXR レイヤー タイプの基本クラスです。 EventTarget からメソッドを継承します。 | 84 | 84 | | | 84 | |
| XRPose は、それが存在する XRSpace を基準とした 3D 空間内の位置と方向を表す WebXR API インターフェイスです。 XRSpace (XRReferenceSpace または XRBoundedReferenceSpace のいずれか) は、ポーズに使用される座標系を定義し、XRViewerPose の場合はその基礎となるビューを定義します。 | 79 | 79 | | | 79 | |
| XRPose インターフェイスの angularVelocity 読み取り専用プロパティは、ベース XRSpace に対する角速度を 1 秒あたりのラジアンで記述する DOMPointReadOnly です。 | | | | | | |
| XRPose インターフェイスの EmulatedPosition 読み取り専用属性は、ポーズの XRPose.transform の XRRigidTransform.position コンポーネントの両方が XR デバイスから直接取得されるか、他のソースに基づいてシミュレートまたは計算されるかどうかを示すブール値です。 | 79 | 79 | | | 79 | |
| XRPose インターフェイスの LinearVelocity 読み取り専用プロパティは、ベース XRSpace に対する線速度をメートル/秒で記述する DOMPointReadOnly です。 | | | | | | |
| XRPose インターフェイスの読み取り専用変換属性は、XRFrame.getPose() を呼び出してポーズを取得したときに指定されたベース XRSpace を基準としたポーズの位置と方向を提供する XRRigidTransform オブジェクトです。 | 79 | 79 | | | 79 | |
| WebXR 機器 API の XRReferenceSpace インターフェイスは、指定された追跡の振る舞いを使用して、仮想世界内の特定の追跡対象のエンティティまたはオブジェクトの座標系を記述します。 追跡の振る舞いは、選択した参照空間型によって定義されます。 いくつかの異なる追跡の振る舞いのサポートを追加し、追跡対象オブジェクトと世界の別の場所との間のオフセット変換を記述する新しい参照空間を要求することにより、基本クラス XRSpace を拡張します。 | 79 | 79 | | | 79 | |
| XRReferenceSpace インターフェイスの getOffsetReferenceSpace() メソッドは、メソッドが呼び出されたオブジェクトと 3D 空間内の特定の点との間の位置の相対的な違いを表す新しい参照空間オブジェクトを返します。 getOffsetReferenceSpace() によって返されるオブジェクトは、XRReferenceSpace で呼び出された場合は XRReferenceSpace であり、XRBoundedReferenceSpace で呼び出された場合は XRBoundedReferenceSpace です。 | 79 | 79 | | | 79 | |
| reset イベントは、ネイティブの原点または実際の原点のいずれかで不連続が検出されると XRReferenceSpace オブジェクトに送信され、参照空間を使用して方向付けられたオブジェクトの位置または方向がジャンプします。 これは、ユーザーが XR 機器を較正または再較正する場合、または機器がユーザーの追跡を失った後に原点を自動的に変更してから再び取得する場合によく見られます。 | 79 | 79 | | | 79 | |
| WebXR 機器 API の XRReferenceSpaceEvent インターフェイスは、XRReferenceSpace に送信されるイベントを表します。今のところ、この型を使用するイベントは XRReferenceSpace.reset_event イベントのみです。 | 79 | 79 | | | 79 | |
| XRReferenceSpaceEvent の referenceSpace プロパティは読み取り専用で、イベントの発生元である参照空間を指定します。 | 79 | 79 | | | 79 | |
| XRReferenceSpaceEvent の transform 読み取り専用プロパティは、イベントが表す変更が適用された後の、影響を受ける XRReferenceSpaceEvent.referenceSpace のネイティブの原点の位置と向きを示します。 transform は古い座標系を使用して定義します。 これにより、座標をイベント前の座標系からイベント後の座標系に変換するために使用できます。 | 79 | 79 | | | 79 | |
| XRReferenceSpaceEvent() コンストラクターは、新しい XRReferenceSpaceEvent オブジェクトを生成するために使用します。 これは、WebXR 参照空間オブジェクト XRReferenceSpace の状態に関するイベントを表します。 | 79 | 79 | | | 79 | |
XRRenderState 実験的 WebXR Device API の XRRenderState インターフェイスには、XRSession によって生成された画像がどのように合成されるかに影響する構成可能な値が含まれています。 これらのプロパティには、コンテンツをレンダリングする必要があるビューアからの距離の範囲、垂直方向の視野 (インライン プレゼンテーションの場合)、および使用されている XRWebGLLayer への参照が含まれます。 | 79 | 79 | | | 79 | |
baseLayer 実験的 XRRenderState インターフェイスの読み取り専用のbaseLayer プロパティは、ビットマップ イメージのソースである XRWebGLLayer インスタンスと、イメージがデバイスでレンダリングされる方法の説明を返します。 | 79 | 79 | | | 79 | |
depthFar 実験的 XRRenderState インターフェイスの DepthFar 読み取り専用プロパティは、ビューアからファー クリップ プレーンまでの距離をメートル単位で返します。 | 79 | 79 | | | 79 | |
depthNear 実験的 XRRenderState インターフェイスの DepthNear 読み取り専用プロパティは、ビューアからニア クリップ プレーンまでの距離をメートル単位で返します。 | 79 | 79 | | | 79 | |
| XRRenderState インターフェイスの読み取り専用の inlineVerticalFieldOfView プロパティは、「インライン」セッションではデフォルトの垂直視野を返し、すべてのイマーシブ セッションでは null を返します。 | 79 | 79 | | | 79 | |
| XRRigidTransform は、位置と向きによって記述される 3D 幾何学的変換を表す WebXR API のインターフェイスです。 | 79 | 79 | | | 79 | |
| XRRigidTransform インターフェイスの inverse 読み取り専用プロパティは、それ自体の変換の逆である別の XRRigidTransform オブジェクトを返します。 つまり、逆を明示的に生成する代わりに、inverse プロパティを使用して、XRRigidTransform の逆をいつでも取得できます。 | 79 | 79 | | | 79 | |
| XRRigidTransform の matrix 読み取り専用プロパティは、オブジェクトによって表される変換行列を返します。 そして、返された行列に列ベクトルを前乗算して、XRRigidTransform.orientation で指定された 3D 回転でベクトルを回転させ、XRRigidTransform.position で平行移動させることができます。 | 79 | 79 | | | 79 | |
| XRRigidTransform の orientation 読み取り専用プロパティは、オブジェクトによって表される変換の回転成分を指定する正規化されたquaternion(単位クォータニオンまたはベルソルとも呼ばれます)を含む DOMPointReadOnly です。 長さが正確に 1.0 メートルではないクォータニオンを指定すると、正規化されます。 | 79 | 79 | | | 79 | |
| XRRigidTransform の position 読み取り専用プロパティは、変換の平行移動成分を記述する、メートルで指定された 3D 点を提供する DOMPointReadOnly オブジェクトです。 | 79 | 79 | | | 79 | |
| XRRigidTransform() コンストラクターは、点またはオブジェクトの位置と向きを表す新しい XRRigidTransform オブジェクトを作成して返します。 特に、XRRigidTransform は、空間を横断する座標系間で平行移動するための変換を提供するときに使用されます。 | 79 | 79 | | | 79 | |
XRSession 実験的 WebXR Device API の XRSession インターフェイスは、進行中の XR セッションを表し、セッションとの対話と制御に使用されるメソッドとプロパティを提供します。 WebXR セッションを開くには、XRSystem インターフェイスの XRSystem.requestSession メソッドを使用します。 | 79 | 79 | | | 79 | |
| XRSession インターフェイスの cancelAnimationFrame() メソッドは、XRSession.requestAnimationFrame を呼び出すことによって以前に要求されたアニメーション フレームをキャンセルします。 | 79 | 79 | | | 79 | |
enabledFeatures 実験的 XRSession インターフェイスの読み取り専用の EnabledFeature プロパティは、XRSession に対して有効になっている (許可されている) 機能の配列を返します。 これには、XRSystem.requestSession() で要求されたすべての requiredFeature と、OptionalFeature のサブセットが含まれます。 | 111 | 111 | | | 111 | |
end 実験的 end() メソッドは、呼び出された XRSession をシャットダウンし、セッションが完全にシャットダウンすると解決される Promise を返します。 | 79 | 79 | | | 79 | |
end_event 実験的 Web アプリケーションがセッションの停止を選択したか、ユーザー エージェントがセッションを終了したため、WebXR セッションが終了すると、終了イベントが XRSession オブジェクトで発生します。 | 79 | 79 | | | 79 | |
inputSources 実験的 XRSession インターフェイスの読み取り専用 inputSources プロパティは、XR デバイスに明示的に関連付けられ、現在使用可能なすべてのコントローラーと入力デバイスをリストする XRInputSourceArray オブジェクトを返します。 これらのコントローラーには、ハンドヘルド コントローラー、XR 装備の手袋、光学的に追跡される手、視線ベースの入力方法が含まれる場合があります。 | 79 | 79 | | | 79 | |
| inputsourceschange イベントは、使用可能な WebXR 入力デバイスのセットが変更されると、XRSession に送信されます。 | 79 | 79 | | | 79 | |
renderState 実験的 XRSession オブジェクトの読み取り専用の renderState プロパティは、ユーザーの環境をどのようにレンダリングするかを記述する XRRenderState オブジェクトを返すことを示します。 提供される情報には、オブジェクトをレンダリングする最小距離と最大距離、インライン セッション モードでレンダリングするときに使用する垂直視野、および… | 79 | 79 | | | 79 | |
| XRSession メソッド requestAnimationFrame() は、同名の Window メソッドと同様に、次回ブラウザがセッションの仮想環境を XR ディスプレイに描画する準備ができたときに実行されるコールバックをスケジュールします。 指定されたコールバックは、次の再描画の前に 1 回実行されます。 次の再描画で実行したい場合は、次のことを行う必要があります… | 79 | 79 | | | 79 | |
| XRReferenceSpaceType 列挙型は、WebXR がサポートしている参照空間のタイプを識別する文字列を定義します。 このタイプは、XRSession.requestReferenceSpace メソッドを呼び出して XRSession の参照空間を取得するときに使用します。 | 79 | 79 | | | 79 | |
select_event 実験的 WebXR select イベントは、セッションの入力ソースの 1 つがプライマリ アクションを完了したときに、XRSession に送信されます。 | 79 | 79 | | | 79 | |
selectend_event 実験的 WebXR イベント selectend は、入力ソースの 1 つがプライマリ アクションを終了したとき、または進行中のプライマリ アクションを処理中の入力ソースがアクションを正常に完了せずに切断されたときに、XRSession に送信されます。 | 79 | 79 | | | 79 | |
| WebXR selectstart イベントは、ユーザーが入力ソースの 1 つで主アクションを開始すると、XRSession に送信されます。 | 79 | 79 | | | 79 | |
squeeze_event 実験的 WebXR スクイーズ イベントは、セッションの入力ソースの 1 つがプライマリ スクイーズ アクションを完了したときに、XRSession に送信されます。 一般的な種類の主アクションの例としては、ユーザーがトリガーやボタンを押す、タッチパッドをタップする、コマンドを話す、ビデオ トラッキング システムやハンドヘルド コントローラーを使用するときに認識可能なジェスチャを実行するなどが挙げられます。 | 83 | 83 | | | 83 | |
squeezeend_event 実験的 WebXR イベント squeezeend は、入力ソースの 1 つがプライマリ アクションを終了したとき、または進行中のプライマリ アクションを処理中の入力ソースがアクションを正常に完了せずに切断されたときに、XRSession に送信されます。 | 83 | 83 | | | 83 | |
| ユーザーが入力ソースの 1 つでプライマリ スクイーズ アクションを開始すると、WebXR イベント squeezestart が XRSession に送信されます。 | 83 | 83 | | | 83 | |
| WebXR API の XRSession インターフェイスの updateRenderState() メソッドは、次のフレームのレンダリング前に、アクティブなレンダリング状態 (XRRenderState) に適用される変更をスケジュールします。 | 79 | 79 | | | 79 | |
| Visibilitychange イベントは XRSession に送信され、表示または非表示になったとき、または表示されたが現在フォーカスされていないときを通知します。 イベントを受信したら、セッションの XRSession.visibilityState プロパティの値をチェックして、新しい可視性の状態を判断できます。 | 79 | 79 | | | 79 | |
visibilityState 実験的 XRSession インターフェイスの読み取り専用の VisibilityState プロパティは、WebXR コンテンツが現在ユーザーに表示されているかどうか、また表示されている場合はそれが主なフォーカスであるかどうかを示す文字列です。 | 79 | 79 | | | 79 | |
| WebXR デバイス API の XRSessionEvent インターフェイスは、XRSession の状態の変化を示すイベントを記述します。 これらのイベントは、たとえば、セッションが終了したとき、またはセッションのコンテキストの可視性が変更されたときに発生します。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRSessionEvent インターフェイスの session プロパティは、イベントがどの XRSession に関するものであるかを示します。 | 79 | 79 | | | 79 | |
| WebXR デバイス API の XRSessionEvent() コンストラクターは、新しい XRSessionEvent オブジェクトを作成して返します。 これらのオブジェクトは、拡張現実または仮想現実セッションを表す XRSession 内の状態変化を通知するイベントを表します。 | 79 | 79 | | | 79 | |
| WebXR Device API の XRSpace インターフェイスは、仮想世界内の仮想座標系を表すすべてのクラスに共通の基盤を提供する抽象インターフェイスであり、その原点は物理的な位置に対応します。 WebXR の空間データは常に、XRSpace の子孫インターフェイスの 1 つに基づいてオブジェクトを基準にして表現されます。 | 79 | 79 | | | 79 | |
XRSystem 実験的 WebXR 機器 API の XRSystem インターフェイスは、WebXR セッションを表す XRSession オブジェクトにアクセスできるようにするメソッドを提供します。 その XRSession が手元にあれば、それを使用して拡張現実 (AR) または仮想現実 (VR) 機器と対話できます。 | 79 | 79 | | | 79 | |
| devicechange は XRSystem オブジェクトで発生するイベントで、例えば VR ヘッドセットや AR ゴーグルが接続されたり切断されたりと、没入型 XR 機器の利用できる状況が変化した時に発生します。これは一般的な Event で、プロパティは追加されていません。 | 79 | 79 | | | 79 | |
| XRSystem の isSessionSupported() メソッドは、指定した WebXR セッションモードがユーザーの WebXR 端末で対応している場合は true に解決するプロミスを返します。そうでない場合、プロミスは false に解決されます。 | 79 | 79 | | | 79 | |
requestSession 実験的 XRSystem インターフェイスの requestSession() メソッドは、プロミス (Promise) を返します。このプロミスは XRSession オブジェクトに解決し、リクエストされた型の WebXR セッションを管理します。 | 79 | 79 | | | 79 | |
XRView 実験的 WebXR デバイス API の XRView インターフェイスは、特定のフレームの XR シーンへの単一ビューを記述し、視点の方向と位置の情報を提供します。 これは、特定の目またはカメラと、それが世界をどのように見ているかを説明するものと考えることができます。 3D フレームには、それぞれの目に 1 つずつ、適切な距離で区切られた 2 つのビューが含まれます。 | 79 | 79 | | | 79 | |
eye 実験的 XRView インターフェイスの読み取り専用の eye プロパティは、XRView がどちらの目の視点を表すか (左または右) を示す文字列です。 平面視ビューなど、どちらの目をも表さないビューの場合、このプロパティの値は none です。 | 79 | 79 | | | 79 | |
projectionMatrix 実験的 XRView インターフェイスの読み取り専用の projectMatrix プロパティは、基になるビューに適用する投影行列を指定します。 これは、目が期待するものと結果が一致していることを保証するために、シーン内のすべてのものに遠近感を統合するために使用する必要があります。 | 79 | 79 | | | 79 | |
| XRView インターフェイスの読み取り専用の recommendViewportScale プロパティは、ユーザー エージェントにそのような推奨がある場合に XRView.requestViewportScale() に使用できる推奨ビューポート スケール値です。 それ以外の場合は null。 | 90 | 90 | | | 90 | |
| XRView インターフェイスの requestViewportScale() メソッドは、ユーザー エージェントがこのビューポートの要求されたビューポート スケールを指定された値に設定することを要求します。 これは、アニメーション フレームごとに変更できるスケール係数を使用して、WebXR ビューポートのサブセットにレンダリングできるようにする動的なビューポート スケーリングに使用されます。 | 90 | 90 | | | 90 | |
transform 実験的 XRView インターフェイスの読み取り専用の変換プロパティは、ビュー オブジェクトを取得するために XRFrame.getViewerPose() メソッドが呼び出されたときに指定された XRReferenceSpace を基準とした視点の位置と方向を提供する XRRigidTransform オブジェクトです。 | 79 | 79 | | | 79 | |
| WebXR デバイス API インターフェイス XRViewerPose は、シーン上の視聴者の視点のポーズ (位置と方向) を表します。 各 XRViewerPose には、たとえば、左目と右目の間のわずかな分離を表す複数のビューを持つことができます。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRViewerPose プロパティ views は、ビューアのポーズで定義された視点からシーンを完全に表現するためにレンダリングする必要があるすべての XRView を含む配列を返します。 モノスコピックデバイスの場合、この配列には単一のビューが含まれます。 | 79 | 79 | | | 79 | |
| WebXR デバイス API の XRViewport インターフェイスは、3D シーンのレンダリングに使用される XRWebGLLayer 内の現在のビューポートのサイズと位置を記述するために使用されるプロパティを提供します。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRViewport プロパティ height は、WebXR ビューがレンダリングされる描画面上のビューポートの高さをピクセル単位で指定します。 これは、XRViewport.width と、XRViewport.x および XRViewport.y によって指定される原点とともに、レンダリングされたコンテンツが描画される領域を定義します。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRViewport プロパティ width は、3D シーンがレンダリングされる描画面上のビューポートの幅をピクセル単位で指定します。 これは、このプロパティをビューポートの XRViewport.height およびそのプロパティ XRViewport.x および XRViewport.y によって指定される原点とともに使用して定義されます。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRViewport インターフェイスの x プロパティは、WebXR コンテンツがレンダリングされるサーフェス内の、宛先サーフェス (通常は XRWebGLLayer) の左端からビューポートの左端までのオフセットを示します。 ビューポートの XRViewport.y プロパティは原点の y コンポーネントを識別し、それは XRViewPort.width… によって与えられます。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRViewport インターフェイスの y プロパティは、宛先サーフェス (通常は XRWebGLLayer) の下端から、WebXR コンテンツがレンダリングされるサーフェス内のビューポートの下端までのオフセットを示します。 ビューポートの XRViewport.x プロパティは原点の x コンポーネントを識別し、その値は次の式で与えられます。 | 79 | 79 | | | 79 | |
XRWebGLLayer 実験的 WebXR デバイス API の XRWebGLLayer インターフェイスは、WebXR デバイス (またはインライン セッションの場合はシミュレートされた XR デバイス) と、デバイス上に表示するシーンをレンダリングするために使用される WebGL コンテキストとの間のリンクを提供します。 特に、WebGL フレームバッファとビューポートへのアクセスを提供し、コンテキストへのアクセスを容易にします。 | 79 | 79 | | | 79 | |
antialias 実験的 読み取り専用の XRWebGLLayer プロパティ antialias はブール値で、レンダリング レイヤのフレーム バッファーがアンチエイリアスをサポートしている場合に true になります。 それ以外の場合、このプロパティの値は false になります。 使用される特定のアンチエイリアス技術はユーザー エージェントの裁量に任されており、Web サイトまたは Web アプリで指定することはできません。 | 79 | 79 | | | 79 | |
fixedFoveation 実験的 XRWebGLLayer インターフェイスの fixFoveation プロパティは、XR コンポジターによって使用される中心窩形成の量を示す数値です。 固定中心窩レンダリング (FFR) は、目のテクスチャのエッジを中心よりも低い解像度でレンダリングし、GPU の負荷を軽減します。 | | | | | | |
framebuffer 実験的 読み取り専用の XRWebGLLayer プロパティの Framebuffer は、XR コンポジタが使用されている場合にレンダリングされたイメージをバッファリングするために使用される不透明な WebGLFramebuffer です。 それ以外の場合、このプロパティの値は null になります。 不透明なフレームバッファは、「どのように不透明なのか…」セクションで説明されている相違点を除き、機能的には標準の WebGL フレームバッファとほぼ同じです。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRWebGLLayer プロパティの FramebufferHeight は、フレームバッファの高さをピクセル単位で示します。 | 79 | 79 | | | 79 | |
framebufferWidth 実験的 読み取り専用の XRWebGLLayer プロパティの FramebufferWidth は、フレームバッファの幅をピクセル単位で指定します。 | 79 | 79 | | | 79 | |
| 静的メソッド XRWebGLLayer.getNativeFramebufferScaleFactor() は、指定された XRSession の解像度を乗算して WebXR デバイスのフレーム バッファーのネイティブ解像度を取得できる浮動小数点スケーリング係数を返します。 | 79 | 79 | | | 79 | |
getViewport 実験的 XRWebGLLayer インターフェースの getViewport() メソッドは、指定された XRView を WebGL レイヤーにレンダリングするために使用する XRViewport を返します。 左目と右目の両方に単一のフレームバッファを使用する WebXR デバイスの場合、返されるビューポートは、次のように表される目にシーンがレンダリングされるフレームバッファの領域を表します。 | 79 | 79 | | | 79 | |
| 読み取り専用の XRWebGLLayer プロパティignoreDepthValues はブール値で、シーンのレンダリング中に深度バッファーの値を無視するようにセッションが構成されている場合に true になります。 頂点の位置を決定するために深度バッファーが使用されている場合、このプロパティは false です。 | 79 | 79 | | | 79 | |
XRWebGLLayer 実験的 WebXR デバイス API XRWebGLLayer() コンストラクターは、新しい XRWebGLLayer オブジェクトを作成して返し、WebXR デバイスと 3D シーンのレンダリングに使用される WebGL グラフィックス レイヤー間のリンクを提供します。 | 79 | 79 | | | 79 | |
| その他 | ||||||
html.elements.iframe.allow.xr-spatial-tracking 実験的 | 79 | 79 | | | 79 | |
| HTTP の Permissions-Policy ヘッダーにおける xr-spatial-tracking ディレクティブは、現在の文書が WebXR 機器 API を使用することを許可するかどうかを制御します。 | 88 | 88 | | | 88 | |
基本構文
const session = await navigator.xr.requestSession('immersive-vr');
const gl = canvas.getContext('webgl2');
await gl.makeXRCompatible();
const layer = new XRWebGLLayer(session, gl);
session.updateRenderState({ baseLayer: layer }); 実務での使いどころ
-
WebXR の活用
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
注意点
- 一部のブラウザでのみ対応。使用前にブラウザサポートを確認すること。
アクセシビリティ
- スクリーンリーダーでの読み上げを確認すること。