サポートされている 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 を使用してアプリケーションによって作成されたアンカーは、特定のセッションに結び付けられるため、他のセッションには表示されません。

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 関数により、アプリは空間を作成できます。
権限: 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 に新しいコンポーネントを提供して...
権限: 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

この拡張機能は、XrInteractionProfileSuggestedBinding::next チェーンに渡される... に含めることができるオプションの構造を追加します。

v1

XR_EXT_debug_utils

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

v1

XR_EXT_hand_tracking

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

v1

XR_EXT_performance_settings

この拡張機能は、アプリケーションがランタイムにパフォーマンス ヒントを提供し、ランタイムが...

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 ランタイムが... からの正距円筒図法でエンコードされた画像をマッピングする必要がある追加のレイヤタイプを追加します。

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

この拡張機能により、アプリケーションは、スワップチェーン イメージを... として使用できるように作成することを指定できます。

v1

XR_EXT_dpad_binding

この拡張機能により、アプリは 1 つ以上のアクションをトラックパッドまたはサムスティックにバインドできます。

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

この拡張機能は、新しいビュー構成タイプ XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO を XrViewConfigurationType に追加します。

v1

XR_META_vulkan_swapchain_create_info

この拡張機能を使用すると、Vulkan ベースのアプリケーションは、次の方法で追加の 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 は、元の仕様から意図的に除外されたり、見落とされたりした一連のマイナーな機能を追加します。

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

この拡張機能は、コンポジション レイヤに適用すると、アルファ値の解釈を反転させるフラグを提供します。

v1

XR_EXT_frame_synthesis

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

v3

XR_QCOM_trackables_image_operations

トラッカブルの Qualcomm 画像トラッキング オペレーションを提供します。

v3

XR_QCOM_trackables_qr_code_operations

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. が所有する商標であり、中国、欧州連合、日本、英国で商標として登録されています。