サポートされている OpenXR 拡張機能を使用してビルドする

対象となる XR デバイス
このガイダンスは、次のようなタイプの XR デバイス向けのエクスペリエンスを構築する際に役立ちます。
XR ヘッドセット
有線 XR グラス

Android XR は、OpenXR 1.1 仕様と、サードパーティ ベンダーの拡張機能の長いリストを通じて OpenXR をサポートしています。これらの拡張機能を使用すると、XR 向けの開発で使い慣れたエクスペリエンスを実現できます。これらの機能の一部には、Android ランタイム権限が必要です。OpenXR API で直接ビルドする場合は、必要なヘッダー ファイルを jetpack-xr-natives リポジトリで確認できます。

Android XR ベンダー拡張機能

拡張機能名

説明

Spatial API のバージョン

XR_ANDROID_anchor_sharing_export

アプリが XR_ANDROID_trackables、XR_EXT_spatial_anchor、XR_ANDROID_spatial_anchor_space を介して作成したアンカーは、特定のセッションに関連付けられているため、他のアプリからは参照できません。この拡張機能を使用すると、アプリケーションは実行中の他のアプリケーションとアンカーを共有できます。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_body_tracking

IK を使用して、頭と手の位置に基づいて体の位置を決定します。

権限: BODY_TRACKING

v2

XR_ANDROID_composition_layer_passthrough_mesh

複数の環境ブレンドモードをサポートするデバイスの場合。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_depth_texture

この拡張機能により、アプリはヘッドセットの周囲の現実世界の環境の深度マップをリクエストし、作成時にサポートされている深度解像度をクエリできます。

権限: SCENE_UNDERSTANDING_FINE

v1

XR_ANDROID_device_anchor_persistence

この拡張機能により、アプリケーションを保持できます。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_enumerate_system_extension_properties

この拡張機能を使用すると、アプリケーションは、現在のシステム構成でサポートされている拡張機能を特定できます。

v3

XR_ANDROID_eye_tracking

この拡張機能により、アプリはユーザーの目の位置と向き、アイ トラッキングのステータスを取得できます。

権限: EYE_TRACKING_FINE

v1

XR_ANDROID_face_tracking

この拡張機能により、アプリケーションはブレンド シェイプの重みを取得し、XR エクスペリエンスで顔の表情をレンダリングできます。

権限: FACE_TRACKING

v1

XR_ANDROID_face_tracking_data_source

この拡張機能により、アプリは複数のデータソースから顔追跡データを取得できます。

権限: FACE_TRACKING、RECORD_AUDIO

v3

XR_ANDROID_geospatial

この拡張機能は、Google の Geospatial API の Geospatial トラッキングを提供します。

権限: ACCESS_FINE_LOCATION

v4

XR_ANDROID_geospatial_anchor

この拡張機能は、特定の緯度、経度、高度で地球を基準とした空間に配置される Geospatial Anchor と Surface Anchor を提供します。

権限: ACCESS_FINE_LOCATION

v4

XR_ANDROID_global_passthrough_dimming

この拡張機能を使用すると、アプリケーションでグローバル パススルー減光レベルを設定してクエリし、減光レベルが変更されたときにイベントを受信できます。

v4

XR_ANDROID_google_cloud_auth

この拡張機能を使用すると、アプリケーションが Google Cloud APIs の認証情報を提供できるようになり、Google Cloud ベースの拡張機能を使用できるようになります。

v4

XR_ANDROID_hand_mesh

この拡張機能により、動的なハンドメッシュとして表されるハンド トラッキング入力を有効にできます。

権限: HAND_TRACKING

v1

XR_ANDROID_light_estimation

この拡張機能により、アプリケーションはヘッドセットの周囲の現実世界の環境の照明を表すデータをリクエストできます。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_light_estimation_cubemap

この拡張機能は、基本的な XR_ANDROID_light_estimation 拡張機能をベースにしています。

権限: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_mouse_interaction

この拡張機能は、マウス入力を取得するための XrPath を提供し、マウス デバイスとトラックパッド デバイスの両方を含むユーザー マウス プロファイルに一般的に使用されるアクション ポーズを 1 つ定義します。

v1

XR_ANDROID_passthrough_camera_state

パススルー カメラは起動に時間がかかることがあり、すぐに利用できない場合があります。

v1

XR_ANDROID_performance_metrics

この拡張機能は、現在の XR デバイスのさまざまなパフォーマンス指標カウンタを列挙してクエリするための API を提供します。

v1

XR_ANDROID_raycast

この拡張機能により、アプリケーションは環境内のトラッキング可能なオブジェクトに対してレイキャストを実行できます。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_recommended_resolution

この拡張機能により、推奨解像度が変更されたときに、ランタイムがアプリケーションに通知できるようになります。

v1

XR_ANDROID_recommended_settings

ユーザーのデフォルトの環境は、ブレンドモードと入力モダリティの組み合わせを使用して、さまざまな状態にすることができます。

v1

XR_ANDROID_scene_meshing

この拡張機能は、ユーザーの環境内の物理オブジェクトをほぼ表すメッシュを提供することを目的としています。

権限: SCENE_UNDERSTANDING_FINE

v1

XR_ANDROID_spatial_anchor_space

XR_EXT_spatial_anchor 拡張機能で定義されている xrCreateSpatialAnchorEXT 関数を使用すると、アプリは XrSpatialEntityEXT ハンドルを使用して空間アンカーを作成し、それを表すことができます。

一方、この拡張機能では、代わりに XrSpace ハンドルで表される空間アンカーが作成されます。

権限: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_annotation_tracking

この拡張機能は、XR_EXT_spatial_entity 拡張機能にアノテーション トラッキング機能を提供し、シーン内のさまざまなアノテーションをトラッキングします。これにより、アプリはランタイム参照で定義された物理オブジェクトまたは仮想オブジェクトにオーバーレイを配置できます。

権限: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_component_subsumed_by

この拡張機能は XR_EXT_spatial_entity をベースに構築されており、XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT の新しいコンポーネントを提供して、現在のエンティティを包含する XrSpatialEntityIdEXT を公開します。

権限: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_discovery_bounds

この拡張機能は、アプリケーションが検出された空間エンティティをフィルタできるようにする空間境界の定義を追加します。

権限: SCENE_UNDERSTANDING_COARSE

v4

XR_ANDROID_spatial_discovery_raycast

この拡張機能は XR_EXT_spatial_entity をベースにしており、既存の空間機能にレイキャスト機能を提供します。

権限: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_entity_bound_anchor

この拡張機能を使用すると、アプリケーションでアンカーを作成し、空間エンティティにアタッチできます。

権限: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_object_tracking

この拡張機能は XR_EXT_spatial_entity をベースにしており、アプリケーションからの入力データセットを必要とせずに、事前定義された一連の物理オブジェクトを追跡するための空間機能を定義します。

権限: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables

この拡張機能により、アプリは物理環境からトラッキング可能なオブジェクトにアクセスできます。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_image

この拡張機能により、入力参照画像のセットで指定された平面画像をトラッキングできます。

権限: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables_marker

この拡張機能により、物理マーカーのトラッキングが可能になります。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_object

この拡張機能により、物理オブジェクトのトラッキングが可能になります。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_qr_code

この拡張機能を使用すると、物理的な QR コードのトラッキングと QR コードデータのデコードが可能になります。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_unbounded_reference_space

この拡張機能を使用すると、アプリケーションで XR_REFERENCE_SPACE_TYPE_UNBOUNDED_ANDROID 参照空間を作成できます。

v1

XR_ANDROID_viewport_feathering

この拡張機能は、ランタイムによって適用されたフェザー領域を公開するため、アプリケーションはセーフエリア内に UI 要素を配置できます。

v4

サードパーティの拡張機能

拡張機能名

説明

Spatial API のバージョン

XR_MND_headless

アプリケーションによっては、ディスプレイに画像コンテンツを表示せずに XR インタラクション デバイスにアクセスする必要がある場合があります。

v1

XR_KHR_binding_modification

この拡張機能は、xrSuggestInteractionProfileBindings に渡される XrInteractionProfileSuggestedBinding::next チェーンに含めることができるオプションの構造を追加して、デフォルトのバインディング動作を変更するための追加情報を指定します。

v1

XR_EXT_debug_utils

OpenXR インターフェースの性質上、デベロッパーとアプリが利用できるエラー情報はほとんどありません。

v1

XR_EXT_hand_tracking

この拡張機能により、アプリケーションはハンド トラッキング入力の個々の関節を特定できます。

権限: HAND_TRACKING

v1

XR_EXT_performance_settings

この拡張機能は、アプリケーションがランタイムにパフォーマンス ヒントを提供し、ランタイムがパフォーマンス関連の通知をアプリケーションに返すための API を定義します。これにより、必要な CPU と GPU のパフォーマンス、熱の持続可能性、セッション全体での一貫した優れたユーザー エクスペリエンスの間で、適切な妥協点を見つけることができます。

v1

XR_FB_display_refresh_rate

ディスプレイのリフレッシュ レートの動的な調整をサポートするプラットフォーム。

v1

XR_FB_swapchain_update_state

この拡張機能により、アプリケーションはスワップチェーンに関連付けられた特定の変更可能な状態を変更してクエリできるようになります。

v1

XR_FB_foveation

XR のコンテキストにおけるフォービエーションは、目の焦点または中心窩に近い画像領域を、周辺領域よりも高い解像度で表示できるようにするレンダリング手法です。

v1

XR_FB_foveation_configuration

Facebook HMD では、デベロッパーは、光学特性とパフォーマンスのためにランタイムによって生成されたフォービエーション プロファイルを作成できます。

v1

XR_FB_foveation_vulkan

Vulkan グラフィック API では、フォビエーション パターンを適用するために、スワップチェーンに画像を適用する必要があります。

v1

XR_FB_space_warp

この拡張機能は、アプリケーションでスペース ワープ テクノロジーを有効にするためのサポートを提供します。

v1

XR_KHR_opengl_es_enable

この拡張機能は、レンダリングに OpenGL ES API を使用するアプリケーションをサポートするランタイムによって提供される必要があります。

v1

XR_KHR_android_create_instance

アプリケーションが Android システムで XrInstance オブジェクトを作成するとき。

v1

XR_KHR_android_surface_swapchain

XR で一般的なアクティビティは、画像ストリームを表示することです。

v1

XR_KHR_android_thread_settings

XR を快適に利用できるようにするには、アプリケーションがフレームを迅速かつ一貫して配信することが重要です。

v1

XR_KHR_composition_layer_color_scale_bias

色スケールとバイアスは、合成中にレイヤの色に適用されます。これは、乗算済みアルファ表現に変換された後に行われます。

v1

XR_KHR_composition_layer_cube

この拡張機能は、キューブマップから直接サンプリングできる追加のレイヤタイプを追加します。

v1

XR_KHR_composition_layer_cylinder

この拡張機能は、XR ランタイムがスワップチェーンに由来するテクスチャを円柱セクションの内側にマッピングする必要がある追加のレイヤタイプを追加します。これは、視聴者から見た湾曲したテレビ画面とほぼ同じように考えることができます。

v1

XR_KHR_composition_layer_depth

この拡張機能は、アプリケーションが投影レイヤでカラー画像とともに深度画像を送信できるようにする追加のレイヤタイプを定義します。

v1

XR_KHR_composition_layer_equirect

この拡張機能は、XR ランタイムがスワップチェーンから取得した正距円筒図法でエンコードされた画像を球体の内側にマッピングする必要があるレイヤタイプを追加します。

v1

XR_KHR_composition_layer_equirect2

この拡張機能は、XR ランタイムがスワップチェーンから取得した正距円筒図法でエンコードされた画像を球体の内側にマッピングする必要があるレイヤタイプを追加します。

この拡張機能では、XR_KHR_composition_layer_cylinder の定式化に沿った異なるパラメータ化を使用しますが、機能的には XR_KHR_composition_layer_equirect と同等です。

v1

XR_KHR_convert_timespec_time

この拡張機能には、timespec 単調時間と XrTime の間で変換を行うための 2 つの関数が用意されています。

v1

XR_KHR_vulkan_enable

この拡張機能により、OpenXR ランタイムで Vulkan グラフィック API を使用できるようになります。

v1

XR_KHR_vulkan_enable2

この拡張機能により、OpenXR ランタイムで Vulkan グラフィック API を使用できるようになります。

v1

XR_KHR_loader_init

一部のプラットフォームでは、読み込みを行う前に、プラットフォーム固有のパラメータを使用してローダを初期化する必要があります。

v1

XR_KHR_loader_init_android

Android では、一部のローダ実装で、初期化時にアプリが追加情報を提供する必要があります。

v1

XR_KHR_swapchain_usage_input_attachment_bit

この拡張機能により、アプリケーションは、スワップチェーン イメージを入力アタッチメントとして使用できるように作成することを指定できます。このドキュメントの作成時点では、このビットは Vulkan スワップチェーンにのみ影響します。

v1

XR_EXT_dpad_binding

この拡張機能を使用すると、バインディングを提案する追加のコンポーネント パスを定義することで、アプリケーションは 1 つ以上のデジタル アクションを、あたかも D-Pad であるかのようにトラックパッドまたはサムスティックにバインドできます。

v1

XR_EXT_uuid

この拡張機能は、RFC 4122 に準拠する固有識別子を定義します。

v1

XR_FB_composition_layer_depth_test

この拡張機能により、深度テスト済みのレイヤ合成が可能になります。

v1

XR_EXT_eye_gaze_interaction

この拡張機能は、アイトラッカーから視線入力を取得して視線操作を可能にする XrPath を提供します。

権限: EYE_TRACKING_FINE

v1

XR_EXT_hand_interaction

この拡張機能は、ハンド トラッキング デバイスとモーション コントローラ デバイスの両方を含む、すべてのユーザーの手の操作プロファイルに対して、一般的に使用される 4 つのアクション ポーズを定義します。

v1

XR_KHR_visibility_mask

この拡張機能は、アプリケーションにビューごとの描画マスクを提供することをサポートします。

v1

XR_META_foveation_eye_tracked

アイトラッキングによる中心窩レンダリングでは、ユーザーの視線の周辺のピクセル密度が低くなります。

権限: EYE_TRACKING_FINE

v1

XR_FB_hand_tracking_aim

XR_EXT_hand_tracking 拡張機能は、トラッキングされた手の現在の構成を表す手の関節ポーズのリストを提供します。この拡張機能は、システムで使用されるジェスチャー認識のレイヤを追加します。

権限: HAND_TRACKING

v1

XR_EXT_palm_pose

この拡張機能は、インタラクション プロファイルの新しい「標準ポーズ識別子」として「palm_ext」を定義します。

v1

XR_VARJO_foveated_rendering

Varjo ヘッドセットは、ディスプレイの中央部分に非常に高いピクセル密度のディスプレイを提供します。

権限: EYE_TRACKING_FINE

v1

XR_VARJO_quad_views

この拡張機能により、新しいビュー構成タイプ XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO が XrViewConfigurationType に追加されます。これは、xrEnumerateViewConfigurations によって返され、ランタイムが 4 つのビューポートをサポートしていることを示します。

v1

XR_META_vulkan_swapchain_create_info

この拡張機能を使用すると、Vulkan ベースのアプリは、xrCreateSwapchain の呼び出し時に XrVulkanSwapchainCreateInfoMETA 構造体を XrSwapchainCreateInfo にチェーンすることで、追加の VkImageCreateFlags または VkImageUsageFlags を渡すことができます。

v1

XR_FB_hand_tracking_mesh

XR_EXT_hand_tracking 拡張機能は、手の関節のポーズのリストを提供しますが、スキニングされた手のメッシュをレンダリングするメカニズムは提供しません。

権限: HAND_TRACKING

v1

XR_FB_composition_layer_image_layout

この拡張機能は、新しいコンポジション レイヤタイプを定義しません。

v1

XR_KHR_maintenance1

XR_KHR_maintenance1 では、元の OpenXR 1.0 リリースで意図的に除外された、または見落とされていたマイナーな機能のコレクションが追加されています。

v1

XR_FB_composition_layer_settings

この拡張機能により、アプリケーションは、コンポジション レイヤでシャープ化やスーパーサンプリングなどの処理オプションの使用をリクエストできます。

v1

XR_KHR_locate_spaces

この拡張機能では、xrLocateSpacesKHR 関数が導入されています。

v1

XR_EXT_local_floor

コア OpenXR 仕様には、XrReferenceSpaceType に 2 つのワールドロック参照空間 XrSpace タイプが含まれています。

v1

XR_EXT_spatial_marker_tracking

この拡張機能は XR_EXT_spatial_entity をベースにしており、アプリケーションが環境内のマーカーを検出して追跡できるようにします。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_persistence

この拡張機能を使用すると、アプリケーションはアプリケーション セッション間で空間エンティティを検出して関連付けることができます。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_anchor

この拡張機能は XR_EXT_spatial_entity をベースにしており、アプリケーションで空間アンカーを作成できるようにします。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_plane_tracking

この拡張機能は XR_EXT_spatial_entity をベースに構築されており、空間エンティティ フレームワークの平面トラッキング空間機能を定義します。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_entity

この拡張機能では、OpenXR におけるシーン理解と空間推論のコンセプトと基盤が導入されています。

v1

XR_EXT_future

XR システムには、長時間実行され、通常のフレームループ内では合理的に完了しない特定のオペレーションがあります。

v1

XR_FB_color_space

XR デバイスは、開発で使用される多くのモニターとは異なる色空間を使用する場合があります。

v1

XR_EXT_composition_layer_inverted_alpha

この拡張機能は、コンポジション レイヤに適用されると、レイヤのスワップチェーン イメージ内のアルファ値の解釈を反転するフラグを提供します。

v1

XR_EXT_spatial_entity_archetypes

xrQuerySpatialComponentDataEXT 関数は、エンティティに存在する必要があるコンポーネント タイプのフィルタを使用して、エンティティとコンポーネント データをクエリする方法をアプリケーションに提供します。この拡張機能では、アーキタイプ(一意のコンポーネントの組み合わせ)のコンセプトが導入されているため、アプリケーションはすべてのエンティティのすべてのコンポーネント データを重複なく読み取ることができます。

v4

XR_EXT_frame_synthesis

この拡張機能は、追加のアプリケーション提供データに基づいて、アプリケーションでフレーム合成を有効にするためのサポートを提供します。

v3

XR_QCOM_trackables_image_operations

トラッキング可能なオブジェクトの Qualcomm 画像トラッキング オペレーションを提供します。

v3

XR_QCOM_trackables_qr_code_operations

追跡可能なオブジェクトの Qualcomm QR コード トラッキング オペレーションを提供します。

v3

XR_EXT_user_presence

この拡張機能では、ユーザー プレゼンスの変更がシステムで検出されたときに通知する新しいイベントが導入されています。

v3

XR_KHR_extended_struct_name_lengths

この拡張機能は、構造体名の最大サイズを拡張し、これらの新しい拡張名にアクセスするための新しい関数を提供します。

v3

XR_EXT_hand_tracking_data_source

この拡張機能は、XR_EXT_hand_tracking 拡張機能を拡張します。

v4

XR_EXT_spatial_container_self_rendering

この拡張機能は、空間コンテナのコンテキストにおける「セルフ レンダリング」を記述します。

v4

XR_EXT_spatial_container

この拡張機能は、表示可能なエンティティの新しいクラスを定義します。

v4

XR_EXT_spatial_persistence_operations

この拡張機能を使用すると、アプリケーションはセッション間で空間エンティティを保持および保持解除できます。

権限: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_mesh_tracking

この拡張機能は XR_EXT_spatial_entity をベースにしており、環境の三角形メッシュをトラッキングするための空間機能を定義します。

権限: SCENE_UNDERSTANDING_COARSE

v4

XR_EXT_spatial_object_tracking

この拡張機能は XR_EXT_spatial_entity をベースにしており、アプリケーションからの入力データセットを必要とせずに、事前定義されたオブジェクトのセットを追跡するための空間機能を定義します。

権限: SCENE_UNDERSTANDING_COARSE

v4

XR_EXT_spatial_image_tracking

この拡張機能は、XR_EXT_spatial_entity 拡張機能に画像トラッキング機能を提供します。

権限: SCENE_UNDERSTANDING_COARSE

v4

XR_EXT_interaction_profile_battery_state_display

XR_EXT_interaction_profile_battery_state_display は、インタラクション プロファイルで使用されるデバイスのバッテリー状態情報をアプリがランタイムにクエリするためのメカニズムを提供します。

v3

XR_FB_composition_layer_secure_content

この拡張機能は、新しいコンポジション レイヤタイプを定義しません。

v4


OpenXR™ および OpenXR ロゴは、The Khronos Group Inc. が所有する商標であり、中国、欧州連合、日本、英国で商標として登録されています。