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

שינוי סצנה
הציגו למשתמשים עולם חדש וסוחף על ידי עיבוד של פתיתי שלג וירטואליים שנוחתים על הידיות והכריות של הספות שלהם, או על ידי יצירת אפקט של ערפל בסלון. אפשר להשתמש בעומק כדי ליצור סצנה שבה אורות וירטואליים יוצרים אינטראקציה עם אובייקטים אמיתיים, מוסתרים מאחוריהם ומאירים אותם מחדש.
מרחק ועומק שדה
רוצים להראות שמשהו רחוק? אפשר להשתמש ב-Depth API כדי למדוד מרחק ולהוסיף אפקטים של עומק שדה, כמו טשטוש של הרקע או החזית של סצנה.
הפעלת אינטראקציות של משתמשים עם אובייקטים של AR
אפשר לאפשר למשתמשים 'לגעת' בעולם באמצעות האפליקציה שלכם, על ידי הפעלת אינטראקציה של תוכן וירטואלי עם העולם האמיתי באמצעות התנגשות ופיזיקה. אפשר לגרום לאובייקטים וירטואליים לעבור מעל מכשולים בעולם האמיתי, או לגרום לכדורי צבע וירטואליים לפגוע בעץ בעולם האמיתי ולהתפזר עליו. כשמשלבים בין התנגשות מבוססת-עומק לבין פיזיקה של משחקים, אפשר ליצור חוויה מציאותית.
שיפור בדיקות ההתאמה
אפשר להשתמש בעומק כדי לשפר את תוצאות בדיקת ההתאמה. בדיקות פגיעה במישור פועלות רק על משטחים מישוריים עם טקסטורה, בעוד שבדיקות פגיעה בעומק מפורטות יותר ופועלות גם באזורים לא מישוריים ועם טקסטורה דלילה. הסיבה לכך היא שבדיקות פגיעה בעומק משתמשות במידע על העומק מהסצנה כדי לקבוע את העומק והכיוון הנכונים של נקודה.
בדוגמה הבאה, דמויות האנדי הירוקות מייצגות בדיקות פגיעה רגילות במטוס, ודמויות האנדי האדומות מייצגות בדיקות פגיעה בעומק.
אין לי מכשיר תואם
Depth API נתמך רק במכשירים עם כוח עיבוד מספיק כדי לתמוך בעומק, וצריך להפעיל אותו באופן ידני ב-ARCore, כמו שמתואר במאמר בנושא הפעלת עומק.
יכול להיות שמכשירים מסוימים יספקו גם חיישן עומק בחומרה, כמו חיישן זמן מעוף (ToF). בדף מכשירים נתמכים ב-ARCore מופיעה רשימה עדכנית של מכשירים שתומכים ב-Depth API ורשימה של מכשירים שיש להם חיישן עומק חומרה נתמך, כמו חיישן ToF.
תמונות עומק
ממשק ה-API של העומק משתמש באלגוריתם של עומק מתנועה כדי ליצור תמונות עומק, שנותנות תצוגה תלת-ממדית של העולם. כל פיקסל בתמונת עומק משויך למדידה של המרחק בין הסצנה למצלמה. האלגוריתם הזה לוקח כמה תמונות של המכשיר מזוויות שונות ומשווה ביניהן כדי להעריך את המרחק לכל פיקסל בזמן שהמשתמש מזיז את הטלפון. הוא משתמש בלמידת מכונה באופן סלקטיבי כדי להגדיל את עומק העיבוד, גם אם המשתמש מבצע תנועות מינימליות. הוא גם מנצל את כל החומרה הנוספת שיש במכשיר של המשתמש. אם למכשיר יש חיישן עומק ייעודי, כמו ToF, האלגוריתם ממזג באופן אוטומטי נתונים מכל המקורות הזמינים. השיפור הזה משפר את תמונת העומק הקיימת ומאפשר עומק גם כשהמצלמה לא זזה. הוא גם מספק עומק טוב יותר במשטחים עם מעט מאפיינים או ללא מאפיינים, כמו קירות לבנים, או בסצנות דינמיות עם אנשים או אובייקטים בתנועה.
בתמונות הבאות מוצגת תמונה ממצלמה של מסדרון עם אופניים על הקיר, והדמיה של תמונת העומק שנוצרת מהתמונות של המצלמה. אזורים באדום קרובים יותר למצלמה, ואזורים בכחול רחוקים יותר.

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