פלטפורמת Android XR תומכת באפליקציות שנוצרו באמצעות OpenXR, באמצעות תמיכה במפרט OpenXR 1.1 ובתוספים נבחרים של ספקים. OpenXR הוא תקן פתוח שמאפשר ליצור חוויות עשירות ואינטראקטיביות באמצעות קבוצה משותפת של ממשקי API במגוון רחב של מכשירי XR.
תכונות
מערכת Android XR תומכת בתכונות שמאפשרות לכם לפתח אפליקציות שמנצלות את היכולות הייחודיות של מכשירי XR, באמצעות OpenXR. התכונות האלה כוללות:
- מסגרת הישויות המרחביות
- בסיס מאוחד להבנת סצנות ולחשיבה מרחבית. מאפשר לאפליקציות לגלות, לשלוח שאילתות ולעקוב אחרי ישויות מרחביות פיזיות בסביבה (כולל מישורים, רשתות תלת-ממדיות, תיבות תוחמות, תמונות, סמנים והערות), לסנן את הגילוי באמצעות גבולות מרחביים, לשלוח שאילתות על ארכיטיפים של ישויות, ליצור עוגנים מרחביים שמצורפים לישויות, לבצע הטלת קרניים (raycasting) של ישויות מרחביות ורשתות, ולשמור ישויות מרחביות בין סשנים של אפליקציות.
- מאגרים מרחביים
- ממשק API מרחבי לחלונות בפלטפורמות שונות (
XR_EXT_spatial_containerו-XR_EXT_spatial_container_self_rendering) שמאפשר לאפליקציות ליצור ולעבד מאגרים מרחביים תלת-ממדיים שניתן להציג (גם מוגבלים וגם סוחפים) באמצעות שרשראות החלפה ושכבות קומפוזיציה של OpenXR, כך שהמשתמשים יכולים לחוות כמה מאגרים מרחביים בו-זמנית. - עוגנים גיאו-מרחביים ועוגנים גיאו-מרחביים עם תמונה
- מאפשר לאפליקציות לעקוב אחרי תנוחות ביחס לכדור הארץ באמצעות שירות המיקום החזותי (VPS) ו-GPS של Google, לאמת מול שירותי Google Cloud ולהציב עוגנים מרחביים ועוגנים על פני השטח בקווי רוחב, קווי אורך וגבהים ספציפיים.
- פריטים למעקב
- תומך בזיהוי מישור, כלומר היכולת לזהות משטחים שטוחים בסביבה ולעקוב אחריהם, כדי למקם אובייקטים וירטואליים ביחס לעולם האמיתי, ובעוגנים, שהם נקודות התייחסות וירטואליות שאפשר לצרף לאובייקטים או למיקומים בעולם האמיתי, כך שהתוכן הווירטואלי יישאר במיקום ובכיוון המדויקים גם כשהמשתמש זז.
- Raycasting
- טכניקה שמשמשת לקביעת נקודת החיתוך בין קרן וירטואלית לבין אובייקטים או רשתות עולם בסצנה, ומאפשרת אינטראקציות כמו בחירה ושינוי של רכיבים וירטואליים.
- שמירת נקודות עיגון
- היכולת לשמור ולשחזר נקודות עיגון בכמה סשנים, כדי לאפשר מיקום עקבי וקבוע של תוכן וירטואלי בסביבה.
- מעקב אחר אובייקטים
- היכולת לעקוב אחרי העכבר, המקלדת ואובייקטים פיזיים אחרים בעולם האמיתי.
- מעקב אחר תמונות וסמנים
- היכולת לזהות ולעקוב אחרי תמונות רפרנס מישוריות וסמנים פיזיים (כמו AprilTags וסמני ArUco) בסביבה.
- מעקב אחרי קודי QR
- היכולת לעקוב אחרי קודי QR בסביבה הפיזית ולפענח את הנתונים שלהם.
- טקסטורות עומק
- יצירת מפות עומק שמספקות מידע על המרחק בין המצלמה לאובייקטים בסצנה, מה שמאפשר אפקטים מציאותיים יותר של הסתרה ואינטראקציה.
- שקופה
- היכולת לשלב צילומים מהעולם האמיתי עם תוכן וירטואלי, כדי ליצור חוויית מציאות משולבת שמחברת בצורה חלקה בין העולם הפיזי לעולם הדיגיטלי.
- עמעום גלובלי של העברת סיגנל ללא שינוי
- מאפשרת לאפליקציות להגדיר ולשלוח שאילתות לגבי רמת העמעום הגלובלית של המעבר, כדי לשלב תוכן וירטואלי עם הסביבה הפיזית, ולקבל אירועים כשרמת העמעום משתנה.
- ריכוך אזור התצוגה
- הוא חושף את אזור הגבול המרוכך שנוצר על ידי סביבת זמן הריצה, כדי שאפליקציות יוכלו לפרוס רכיבים בממשק המשתמש בתוך האזור הבטוח בלי להיות מושפעות מהריכוך ההיקפי.
- רשת של הסביבה
- היכולת לקבל רשת תלת-ממדית של הסביבה, שאפשר להשתמש בה לפיזיקה, להסתרה ולאינטראקציות אחרות שמותאמות לסביבה.
- מעבר של שכבת קומפוזיציה
- מאפשרת חיתוך של שכבת קומפוזיציה של מעבר פוליגון, ואפשר להשתמש בה כדי להביא אובייקטים מהעולם האמיתי לסצנה.
- שליטה בעכבר ובמקלדת בעזרת תנועות של הפנים
- היכולת לעקוב אחרי תווי הפנים של המשתמשים ממקורות נתונים חזותיים וקוליים, כדי ליצור דמויות וירטואליות ואווטארים ריאליסטיים ובעלי הבעה.
- מעקב עיניים
- המידע הזה מספק את המיקום והכיוון של העין של המשתמש, כדי שהתנוחה של העין באווטארים תהיה מציאותית יותר.
- מעקב אחר תנועות הידיים
- היכולת לעקוב אחרי המיקום והתנועה של הידיים של המשתמש.
- תצוגת רשת של היד
- התכונה מציגה את הידיים של המשתמש כרשת תלת-ממדית עם מספר נמוך של פוליגונים. הוא מותאם להעברת נתונים מפלטפורמה לאפליקציה כדי להבטיח שתקבלו את הביצועים הכי טובים שאפשר. זוהי חלופה לתוספים אחרים שמשתמשים בתנוחת קשירה ובמשקלי מיזוג.
- מעקב אחרי הגוף
- הערכת המיקום והפרופורציות של מפרקי הגוף של המשתמש באמצעות קלט ממעקב אחר הראש והידיים.
- הערכת תאורה
- משמשת לתאורת מודלים (כולל תאורה כיוונית, תאורת סביבה, הרמוניות כדוריות ותאורת cubemap) כדי להתאים לתנאי התאורה של המשתמש בעולם האמיתי.
מכשירים נתמכים לקליטת נתונים
ב-Android XR יש תמיכה גם במכשירים הבאים לקליטת נתונים.
- אינטראקציה באמצעות הידיים
- זיהוי של תנועות ידיים ספציפיות, כמו צביטה, החלקה והצבעה, שמאפשר למשתמשים לבצע פעולות באובייקטים וירטואליים באמצעות תנועות ידיים.
- אינטראקציה באמצעות מבט
- היכולת לעקוב אחרי תנועות העיניים של המשתמש, כדי לאפשר לו לבחור אובייקטים וירטואליים ולבצע איתם אינטראקציה באמצעות המבט.
- בקרי תנועה 6DoF
- היכולת לעקוב אחרי המיקום והתנועה של השלטים, וגם אחרי הקישורים של מקשי החיצים והלחצנים להפעלת פעולות, או אירועי הצבת הסמן מעל בתוך האפליקציה.
- אינטראקציה עם עכבר
- המשתמשים יכולים לבצע פעולות באובייקטים באמצעות סמן העכבר במרחב תלת-ממדי
תכונות נתמכות לשיפור הביצועים
מערכת Android XR תומכת בתכונות הבאות שקשורות לביצועים.
- מעקב עיניים לשיפור הרזולוציה
- ההרשאה מאפשרת לאפליקציה לעבד תוכן ברזולוציה גבוהה יותר רק בנקודת המיקוד של העיניים.
- עיוות מרחב
- התכונה משתמשת בווקטורים של מהירות ובמידע על מרקם העומק כדי ליצור פריימים של אנימציית ביניים, וכך מגדילה ביעילות את קצב הפריימים שנדרש כדי לשמור על המשתמשים שקועים בחוויות שלכם
- סינתזת פריימים
- התכונה משתמשת בנתוני פריימים ובווקטורים של תנועה שסופקו על ידי האפליקציה כדי לסנתז פריימים ביניים, וכך לשפר את החלקות החזותית ואת קצב הפריימים.
- מדדי ביצועים
- מספק מדדי ביצועים של Android XR בזמן הריצה של מכשיר ה-XR, ה-compositor ואפליקציית ה-XR הנוכחיים. המדדים כוללים את זמן הרינדור של הפריימים במעבד (CPU), זמן הרינדור של הפריימים ב-GPU, ניצול ה-GPU, תדירות המעבד (CPU), פריימים לשנייה (FPS) ועוד.
בסקירה הכללית של התכונות של OpenXR מופיעה רשימה מלאה של התכונות והתוספים הנתמכים.
מנועים נתמכים
המנועים הבאים נתמכים לפיתוח OpenXR עם Android XR.
Unity
התמיכה של Android XR ב-Unity, שמבוססת על OpenXR, מאפשרת למפתחים ליצור חוויות באמצעות Unity 6. מידע נוסף על פיתוח אפליקציות XR באמצעות Unity זמין בסקירה הכללית של Unity.
Unreal Engine
Unreal Engine תומך ב-Android XR באמצעות תקן OpenXR, ומאפשר לכם להשתמש בכלים ובתהליכי העבודה הרגילים ב-Unreal Engine 5. בסקירה הכללית של Unreal Engine מוסבר איך מפתחים אפליקציות XR באמצעות Unreal Engine.
Godot
Godot תומך ב-Android XR באמצעות שילוב OpenXR, ומאפשר לכם ליצור ולייצא אפליקציות XR ל-Android באמצעות תהליך העבודה הרגיל של Godot. בסקירה הכללית של Godot מוסבר איך מפתחים אפליקציות XR באמצעות Godot.
OpenXR™ והלוגו של OpenXR הם סימנים מסחריים בבעלות The Khronos Group Inc. , והם רשומים כסימנים מסחריים בסין, באיחוד האירופי, ביפן ובבריטניה.