webxr
webxr システムは、シーンの WebXR デバイスセットアップ、特に リクエストセッション呼び出し (opens new window)のオプショ ンを設定します。
これらのオプションを変更する場合、ブラウザのコンソールで、適切にリクエストせずに機能を使用しようとした場合などの診断メッセージに注意してください。
# 例
<a-scene webxr="requiredFeatures: hit-test,local-floor;
optionalFeatures: dom-overlay,unbounded;
overlayElement: #overlay;"></a-scene>
# プロパティ
Property | 概要 | デフォルト値 |
---|---|---|
referenceSpaceType | カメラとコントローラのためのシーンの参照空間タイプ | local-floor |
requiredFeatures | 必須の WebXR セッション機能。 | local-floor |
optionalFeatures | オプションの WebXR セッションの機能。 | bounded-floor |
overlayElement | AR モードで WebXR DOM オーバーレイとして使用するための要素セレクタです。 | null |
注: シーンが初期化されると、これらのプロパティを変更することはできません。
# referenceSpaceType
シーンにデフォルトで使用される参照空間の名前で、参照空間名 (opens new window).のエントリの1つでなければなりません。
名前 | 概要 |
---|---|
viewer | カメラに固定され、カメラと共に移動/回転する。 |
local | セッション開始時のユーザの頭の位置に近い任意の点。 |
local-floor | 原点は、セッション開始時のユーザーの足元に近い任意の点です。 |
bounded-floor | local-floorと同じですが、安全境界を設定したルームスケールトラッキングをサポートします。 |
unbounded | localと同じですが、~5m/15feetを超える大規模な移動に対応します。 |
デフォルトの 'local-floor' はすべてのシステムでうまく機能するはずですが、3DoF VR システムやハンドヘルド AR では床の位置が大まかな推定値になる可能性があることに注意してください。正確な床位置が必要なARアプリケーションでは、タイプ local
とワールドヒットテストまたは平面検出を使用することをお勧めします。
requiredFeatures
に参照空間名が含まれていることを確認します。(viewer
と local
は自動的に使用できますが、その他は機能として要求する必要があります)。
アプリケーションは、内部的に追加の参照空間を自由に使用できますが、ビューア(カメラ)とコントローラの一貫性を保つことが重要です。
コンポーネントで使用する場合の一貫性のために、この名前は、sceneEl.systems.webxr.sessionReferenceSpaceType
として利用でき、対応する参照空間オブジェクトは、sceneEl.systems['tracker-controls-webxr'].referenceSpace
としてXRセッション中に利用できます。
# requiredFeatures
アプリケーションが正常に動作するために必要な WebXR 機能名の配列 (カンマ区切りリスト)。いずれかの機能がシステムでサポートされていない場合、またはユーザーがその機能の使用に同意していない場合、セッションのリクエストは失敗します。
現在、利用可能な機能リストには、[参照空間名(https://immersive-web.github.io/webxr/#xrreferencespace)と、ARモード用の以下の追加機能が含まれています。
機能 | 概要 |
---|---|
hit-test | https://immersive-web.github.io/hit-test/ |
dom-overlay | https://immersive-web.github.io/dom-overlays/ |
# オプション機能
アプリケーションが使用できる WebXR 機能名の配列 (カンマ区切りリスト)。これらの機能が使用できない場合、あるいはユーザーが使用を拒否した場合は、これらの機能を使用せずにセッションが作成されます。
利用可能な WebXR 機能名の詳細については 要求される機能 を参照してください。
# オーバーレイ要素
AR セッションで WebXR DOM オーバーレイとして使用する DOM 要素のセレクタです。現在、Android バージョン 82 以降の Chrome を使用したハンドヘルド AR でのみサポートされています。
これを使用するには、dom-overlay
機能をオプションまたは必須としてリクエストする必要があります。
この機能が利用できる場合、sceneEl.xrSession.domOverlayMode
には、使用中のDOM Overlay
の種類を示す文字列値が格納されます。これは現在、ハンドヘルド AR 用のスクリーンですが、フローティングやヘッドセットでのヘッドロックも可能です。また、Overlay
要素がアクティブな間は :xr-overlay
擬似クラスを持つので、CSS ルールでこれを使用して UI を表示/非表示にすることができます。