עומק מוסיף ריאליזם

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

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

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

תרחישים לדוגמה לפיתוח עם Depth API

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

הפעלת החסימה

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

לחולל שינוי בסצנה

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

מרחק ועומק שדה

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

הפעלת אינטראקציות של משתמשים עם אובייקטים ב-AR

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

שיפור בבדיקות ההיט

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

בדוגמה הבאה, ה-Andys הירוק מייצג בדיקות-היט של מישורים סטנדרטיים, וה-Andys האדום מייצג בדיקות-היטים של עומק.

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

יש תמיכה ב-Depth API רק במכשירים עם עוצמת עיבוד שתומכת בעומק, וצריך להפעיל אותו באופן ידני ב-ARCore, כפי שמתואר במאמר הפעלת עומק.

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

תמונות עומק

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

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

עומק מתנועה

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

משיגים תמונות עומק

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

מה השלב הבא?

  • כדאי לנסות את ARCore Depth Lab, שמדגים דרכים שונות לגשת לנתוני עומק.