פיתוח עם תוספים נתמכים של OpenXR

מכשירי XR שנתמכים
ההנחיות האלה יעזרו לכם ליצור חוויות למכשירי XR מהסוגים הבאים.
משקפי XR
משקפי XR עם חיבור קווי

‫Android XR תומך ב-OpenXR דרך מפרט OpenXR 1.1 ורשימה ארוכה של תוספים של ספקי צד שלישי. השימוש בתוספים האלה מאפשר לכם ליהנות מחוויה מוכרת כשאתם מפתחים ל-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 קשורים לסשן ספציפי ולכן לא גלויים לאפליקציות אחרות. התוסף הזה מאפשר לאפליקציות לשתף עוגנים עם אפליקציות אחרות שפועלות.

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_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 לקבלת קלט מהעכבר, ומגדיר תנוחה נפוצה אחת לפעולה עבור פרופילי עכבר של משתמשים, כולל מכשירי עכבר ומכשירי משטח מגע.

v1

XR_ANDROID_passthrough_camera_state

יכול להיות שיעבור זמן עד שהמצלמה תופעל, והיא לא תהיה זמינה באופן מיידי.

v1

XR_ANDROID_performance_metrics

התוסף הזה מספק ממשקי API לספירה ולשאילתה של מונים שונים של מדדי הביצועים של מכשיר ה-XR הנוכחי.

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

הפונקציה xrCreateSpatialAnchorEXT שמוגדרת בתוסף XR_EXT_spatial_anchor מאפשרת לאפליקציות ליצור עוגנים מרחביים עם נקודת אחיזה 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 ומספק פונקציונליות של raycast ליכולות מרחביות קיימות.

הרשאות: 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 שמועברת אל xrSuggestInteractionProfileBindings כדי לציין מידע נוסף לשינוי התנהגות ברירת המחדל של הקישור.

v1

XR_EXT_debug_utils

בגלל אופי הממשק של OpenXR, יש מעט מאוד מידע על שגיאות שזמין למפתח ולאפליקציה.

v1

XR_EXT_hand_tracking

התוסף הזה מאפשר לאפליקציות לאתר את המפרקים השונים של קלט מעקב תנועות הידיים.

הרשאות: HAND_TRACKING

v1

XR_EXT_performance_settings

התוסף הזה מגדיר API לאפליקציה כדי לספק רמזים לזמן הריצה לגבי הביצועים, וכדי שזמן הריצה ישלח לאפליקציה התראות שקשורות לביצועים. כך שני הצדדים יכולים להגיע לפשרה מתאימה בין הביצועים הנדרשים של המעבד המרכזי והמעבד הגרפי, לבין היציבות התרמית וחוויית משתמש טובה ועקבית לאורך כל הסשן.

v1

XR_FB_display_refresh_rate

בפלטפורמות שתומכות בהתאמה דינמית של קצב הרענון של המסך.

v1

XR_FB_swapchain_update_state

התוסף הזה מאפשר לאפליקציה לשנות ולשאול לגבי מצב ספציפי שניתן לשינוי שמשויך ל-swapchain.

v1

XR_FB_foveation

רינדור ממוקד בהקשר של XR הוא טכניקת רינדור שמאפשרת להציג את האזור בתמונה שקרוב לנקודת המיקוד או ל-fovea של העין ברזולוציה גבוהה יותר מאשר אזורים בהיקף.

v1

XR_FB_foveation_configuration

במשקפי HMD של פייסבוק, מפתחים יכולים ליצור פרופילים של מיקוד מרכזי שנוצרים על ידי זמן הריצה עבור התכונות האופטיות והביצועים.

v1

XR_FB_foveation_vulkan

כדי להחיל דפוס של פוביאציה, צריך להחיל תמונה על שרשרת ההחלפה של Vulkan Graphics API.

v1

XR_FB_space_warp

התוסף הזה מספק תמיכה בהפעלת טכנולוגיית עיוות המרחב באפליקציה.

v1

XR_KHR_opengl_es_enable

התוסף הזה צריך להיות מסופק על ידי סביבות זמן ריצה שתומכות באפליקציות שמשתמשות בממשקי OpenGL ES API לעיבוד.

v1

XR_KHR_android_create_instance

כשהאפליקציה יוצרת אובייקט XrInstance במערכות Android.

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 צריך למפות תמונה מקודדת בפורמט equirectangular שמקורה ב-swapchain אל החלק הפנימי של כדור.

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.

v1

XR_KHR_vulkan_enable

התוסף הזה מאפשר להשתמש ב-API של גרפיקת Vulkan בסביבת זמן ריצה של OpenXR.

v1

XR_KHR_vulkan_enable2

התוסף הזה מאפשר להשתמש ב-Vulkan graphics API בסביבת זמן ריצה של OpenXR.

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

התוסף הזה מאפשר לאפליקציה לקשר פעולה דיגיטלית אחת או יותר למשטח מגע או למקלדת אנלוגית כאילו הם היו מקשי החיצים, על ידי הגדרה של נתיבי רכיבים נוספים להצעת קישורים.

v1

XR_EXT_uuid

התוסף הזה מגדיר מזהה ייחודי אוניברסלי (UUID) בהתאם ל-RFC 4122.

v1

XR_FB_composition_layer_depth_test

התוסף הזה מאפשר ליצור קומפוזיציה של שכבות שנבדקו לעומק.

v1

XR_EXT_eye_gaze_interaction

התוסף הזה מספק XrPath לקבלת קלט של תנועות העיניים מחיישן תנועות עיניים (eye tracker), כדי לאפשר אינטראקציות באמצעות תנועות העיניים.

הרשאות: EYE_TRACKING_FINE

v1

XR_EXT_hand_interaction

התוסף הזה מגדיר ארבעה מצבי פעולה נפוצים לכל פרופילי האינטראקציה של המשתמשים עם הידיים, כולל מכשירים למעקב אחרי הידיים ובקרי תנועה.

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 יכולה להעביר עוד VkImageCreateFlags או VkImageUsageFlags על ידי שרשור מבנה XrVulkanSwapchainCreateInfoMETA אל XrSwapchainCreateInfo כשקוראים ל-xrCreateSwapchain.

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 מכיל שני סוגים של מרחבי הפניה נעולים בעולם XrSpace ב-XrReferenceSpaceType.

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

השירות הזה מספק פעולות מעקב של קוד QR של Qualcomm עבור פריטים שאפשר לעקוב אחריהם.

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 הם סימנים מסחריים בבעלות The Khronos Group Inc. ‎ והם רשומים כסימן מסחרי בסין, באיחוד האירופי, ביפן ובבריטניה.