בבדיקות היטים מציבים אובייקטים וירטואליים בעולם האמיתי

מדריכים ספציפיים לפלטפורמה

Android (Kotlin/Java)

Android NDK (C)

Unity (קרן AR)

התוכן ב-AR צריך להיות ממוקם בצורה נכונה ובגודל המתאים כדי שהוא ישתלב בסצנה. כמו אובייקטים בעולם האמיתי, אובייקטים וירטואליים רחוקים יותר אמורים להיראות קטנים יותר. אפשר לבצע בדיקת היטים (או raycast ב-AR Foundation for Unity) כדי לקבוע את המיקום הנכון של אובייקט תלת-ממדי בסצנה. מיקום נכון מבטיח שהתוכן ב-AR יעובד בגודל המתאים (הברור).

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

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

התוכן של תוצאת היט

תוצאת היט בודדת מוחזרת כרשימה עם הפרטים הבאים עבור כל תוצאה:

  • המרחק ממקור הקרן, במטרים
  • תנוחה (מיקום וכיוון) של תוצאת ההיט
  • הגאומטריה התלת-ממדית שנוצרת, בצורת

לאחר מכן אפשר להשתמש בתוצאת ההיט הרצויה כדי למקם באופן מציאותי את התוכן התלת-ממדי באמצעות עוגן.

סוגי תוצאות של היטים

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

סוג תוצאת היט התיאור כיוון תרחיש לדוגמה
עומק שימוש בנתוני עומק מכל הסצנה כדי לקבוע את העומק והכיוון הנכונים של הנקודה אנכי למשטח התלת-ממדי יש למקם אובייקט וירטואלי על משטח שרירותי (לא רק על רצפות וקירות)
מטוס פגיעות על פני שטח אופקיים ו/או אנכיים כדי לקבוע את העומק והכיוון הנכונים של נקודה אנכי למשטח התלת-ממדי מניחים אובייקט על מישור (רצפה או קיר) באמצעות הגיאומטריה המלאה של המטוס. דרוש קנה מידה נכון באופן מיידי. להיענות לבדיקת העומק
נקודת ציון הסתמכות על תכונות חזותיות מסביב לנקודת ההקשה של המשתמש כדי לקבוע את המיקום והכיוון הנכונים של הנקודה אנכי למשטח התלת-ממדי מניחים אובייקט על משטח שרירותי (לא רק על רצפות וקירות)
מיקום מיידי (Raycast קבוע) מנצלים את שטח המסך למיקום התוכן. נעשה שימוש במקור בעומק המשוער שסופק על ידי האפליקציה. זה פועל באופן מיידי, אבל המיקום והעומק בפועל ישתנו ברגע ש-ARCore יוכל לזהות את הגאומטריה של הסצנה בפועל. +Y מצביע למעלה, נגד כוח הכבידה מציבים עצם על מטוס (על הרצפה או על קיר) באמצעות הגיאומטריה המלאה של המטוס. המיקום המהיר הוא קריטי, והחוויה עשויה לסבול את העומק והקנה מידה הראשוניים לא ידועים.

אין לי מכשיר תואם

בדיקות היטים פועלות בכל המכשירים שנתמכים ב-ARCore, אבל לבדיקות היטים של עומק יידרשו מכשירים שתומכים בעומק העומק.

שימוש בתוצאות של התאמות כדי למקם תוכן AR

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