サポートされている 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_trackablesXR_EXT_spatial_anchorXR_ANDROID_spatial_anchor_space を介してアプリによって作成されたアンカーは、特定のセッションに関連付けられるため、他のアプリには表示されません。この拡張機能を使用すると、実行中の他のアプリケーションとアンカーを共有できます。

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_TRACKINGRECORD_AUDIO

v3

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

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

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_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

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

拡張機能名

説明

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 に準拠する Universally Unique Identifier を定義します。

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

この拡張機能は、XrViewConfigurationType に新しいビュー構成タイプ XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO を追加します。これは、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 をベースに構築されており、空間エンティティ フレームワークの平面トラッキング空間機能を定義します。

v1

XR_EXT_spatial_entity

この拡張機能は、OpenXR におけるシーン認識と空間推論のコンセプトと基盤を導入します。

v1

XR_EXT_future

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

v1

XR_FB_color_space

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

v1

XR_EXT_composition_layer_inverted_alpha

この拡張機能は、合成レイヤに適用すると、レイヤの swapchain 画像のアルファ値の解釈を反転させるフラグを提供します。

v1

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_interaction_profile_battery_state_display

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

v3


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