מדריכים ספציפיים לפלטפורמה
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
תוכן AR צריך להיות ממוקם בגודל הנכון כדי להשתלב בסצנה. בדומה לאובייקטים בעולם האמיתי, אובייקטים וירטואליים שנמצאים רחוק יותר צריכים להיראות קטנים יותר. אתם יכולים לבצע בדיקת פגיעה (או הטלת קרן ב-AR Foundation for Unity) כדי לקבוע את המיקום הנכון של אובייקט תלת-ממדי בסצנה. מיקום נכון מבטיח שתוכן ה-AR יעבור רינדור בגודל המתאים (הנראה לעין).
בדיקות פגיעה מוצאות נקודות חיתוך בין גיאומטריה תלת-ממדית בעולם האמיתי לבין קרן וירטואלית שמורכבת מנקודת מוצא וכיוון. השימוש הנפוץ ביותר הוא בקרניים שמקורן במצלמה של המכשיר, אבל ARCore כולל API לביצוע בדיקות פגיעה עם קרן שרירותית בקואורדינטות של המרחב העולמי.
תארו לעצמכם קרן שיוצאת ממצלמת המכשיר של המשתמש ומתארכת קדימה עד שהיא פוגעת בגיאומטריה התלת-ממדית של הסצנה, כמו רצפה, קיר או אובייקט. אחרי שזה קורה, מקבלים רשימה של תוצאות פגיעה, או נקודות חיתוך עם גיאומטריית הסצנה שזוהתה. הרשימה ממוינת לפי המרחק מהמכשיר, כשהצומת הקרוב ביותר מופיע ראשון. זה חשוב כי בדרך כלל אי אפשר לראות אובייקטים שמוסתרים מאחורי אובייקטים אחרים, ולכן ברוב המקרים התוצאה הראשונה היא המשמעותית ביותר.

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