מדריכים ספציפיים לפלטפורמה
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
מנוע לא מציאותי
אחד המרכיבים המרכזיים ביצירה של חוויות AR ריאליסטיות הוא תאורה נכונה. כשבאובייקט הווירטואלי חסר צל או שיש בו חומר מבריק שלא משקף את המרחב שמסביב, המשתמשים יכולים להרגיש שהאובייקט לא מתאים בדיוק, גם אם הם לא יכולים להסביר למה. הסיבה לכך היא שבני אדם קולטים באופן לא מודע רמזים לגבי האופן שבו עצמים מוארים בסביבה שלהם. Lighting Estimation API מנתח תמונות נתונות לסימנים כאלה, ומספק מידע מפורט על התאורה בסצנה. לאחר מכן ניתן להשתמש במידע הזה כדי לעבד אובייקטים וירטואליים כדי להאיר אותם באותם התנאים כמו הסצנה שבה הם ממוקמים, וכך לשמור על המשתמשים רעננים ומעניינים.
סימנים לתאורה
ה-Lighting Estimation API מספק נתונים מפורטים שמאפשרים לכם לחקות סימנים שונים של תאורה כשמעבדים אובייקטים וירטואליים. האותות האלה הם צללים, אור הסביבה, הצללה, הדגשות ספקולטיביות והשתקפויות.
אזורים כהים
אזורים כהים הם בדרך כלל כיווניות, והם מגלים לצופים מאיפה מגיעים מקורות האור.
אור מהסביבה
אור הסביבה הוא האור הכולל המפוזר שנפלט מהסביבה והופך את כל התוכן לגלוי.
הצללה
הצללה היא עוצמת האור. לדוגמה, לחלקים שונים של אותו אובייקט יכולות להיות רמות שונות של הצללה באותה סצנה, בהתאם לזווית היחסית לצופה ולקרבה שלו למקור אור.
הדגשות ספקולטיביות
אזורים בהירים משקפים הם החלקים המבריקים של המשטחים שמשקפים ישירות את מקור האור. רגעי השיא באובייקט משתנים ביחס למיקום של הצופה בסצנה.
השתקפויות
האור קופצת ממשטחים באופן שונה, בהתאם לתכונות של פני השטח (השתקפות) או דיפוזיה (לא מחזיריות). לדוגמה, כדור מתכתי יהיה משקף וישקף את הסביבה שלו, וכדור אחר שנצבע באפור מט יהיה מפוזר. לרוב האובייקטים בעולם האמיתי יש שילוב של המאפיינים האלה - למשל, כדור באולינג חשוף או כרטיס אשראי שמנוצל היטב.
משטחים מחזירי אור גם קולטים צבעים מהסביבה. הצבע של אובייקט יכול להיות מושפע ישירות מהצבע של הסביבה שלו. לדוגמה, כדור לבן בחדר כחול יקבל גוון כחול.
מצב HDR סביבתי
המצבים האלה כוללים ממשקי API נפרדים שמאפשרים לבצע הערכת תאורה מפורטת ומציאותית עבור תאורה כיוונית, צלליות, אזורים בהירים והשתקפויות.
במצב HDR סביבתי, המערכת משתמשת בלמידת מכונה כדי לנתח את תמונות המצלמה בזמן אמת ולמזג את התאורה הסביבתית כך שתומכת ברינדור ריאליסטי של אובייקטים וירטואליים.
במצב הערכת התאורה אפשר:
תאורת כיוון ראשית. מייצג את מקור האור הראשי. אפשר להשתמש בו כדי להפעיל צלליות.
הרמוניה כדורית בסביבה. מייצג את אנרגיית האור הנותרת של האור בסביבה בסצנה.
מפת קובייה של HDR ניתן להשתמש בה כדי להציג השתקפויות באובייקטים מתכתיים מבריקים.
תוכלו להשתמש בממשקי ה-API האלה בשילובים שונים, אבל הם נועדו לשימוש יחד כדי להשיג את האפקט הכי מציאותי.
נורית חיווי עיקרית
ה-API הראשי של התאורה הכיוונית מחשב את הכיוון והעוצמה של מקור האור הראשי של הסצנה. המידע הזה מאפשר לאובייקטים וירטואליים בסצנה להציג אזורים מפוקפקים שנמצאים במיקום סביר, ולהטיל צלליות בכיוון שתואם לאובייקטים אמיתיים אחרים שנראים לעין.
כדי לראות איך זה עובד, נבחן את שתי התמונות האלה של אותו טיל וירטואלי. בתמונה שמשמאל יש צל מתחת לטיל, אבל הכיוון שלו לא תואם לצללים האחרים בסביבה. בטיל שמימין, הצללית פונה בכיוון הנכון. זהו הבדל קטן אבל חשוב, והוא מבסס את הטיל בסצנה כי הכיוון והעוצמה של הצל מתאימים בצורה טובה יותר לצלליות אחרות בסצנה.
כשמקור האור הראשי או אובייקט מואר נמצאים בתנועה, ההדגשה הספקולית של העצם משנה את המיקום שלו בזמן אמת ביחס למקור האור.
הצלליות הכיווניות מכווננות גם את האורך והכיוון שלהן ביחס למיקום של מקור האור הראשי, בדיוק כמו בעולם האמיתי. כדי להמחיש את האפקט הזה, נבחן את שתי בובות ההדגמה – אחת וירטואלית והשנייה אמיתית. בובת התצוגה שמשמאל היא הווירטואלית.
הרמוניה כדורית של אמביינט
בנוסף לאנרגיית האור באור הכיווני הראשי, ARCore מספק הרמוניה כדורית, שמייצגת את כל האור בסביבה שמגיע מכל הכיוונים בסצנה. אתם יכולים להשתמש במידע הזה במהלך העיבוד כדי להוסיף סימנים עדינים שמדגישים את ההגדרה של אובייקטים וירטואליים.
נבחן את שתי התמונות האלה של אותו דגם טיל. העיבוד של הטיל שמשמאל מתבצע באמצעות מידע להערכת התאורה שזוהה על ידי ה-API הראשי של האור הכיווני. העיבוד של הטיל מימין מעובד באמצעות מידע שזוהה על ידי אור הכיוון העיקרי וממשק ה-API של ההרמוניה כדורית בסביבה. לטיל השני יש בבירור הגדרה ויזואלית יותר, והוא משתלב בצורה חלקה יותר בסצנה.
מפת קובייה של HDR
אפשר להשתמש במפת הקובייה של HDR כדי להציג השתקפויות מציאותיות על עצמים וירטואליים בבהירות בינונית עד גבוהה, כמו משטחים מתכתיים מבריקים. מפת הקובייה משפיעה גם על ההצללה והמראה של האובייקטים. לדוגמה, החומר של עצם ממוחזר שמוקף בסביבה כחולה ישקף גוונים כחולים. כדי לחשב את מפת הקובייה של HDR נדרשת כמות קטנה של חישובי מעבד (CPU).
השימוש במפת הקובייה של HDR תלוי באופן שבו האובייקט משקף את הסביבה שלו. מאחר שהטיל הווירטואלי הוא מתכתי, הוא כולל רכיב ספקולרי חזק שמשקף באופן ישיר את הסביבה שסביבו. לכן היא מפיקה תועלת ממפת הקובייה. לעומת זאת, לאובייקט וירטואלי עם חומר מט בצבע אפור ועמום אין רכיב ספקולרי. הצבע שלו תלוי בעיקר במרכיב של הפיזור, והוא לא יוכל להפיק תועלת ממפת קובייה.
כל שלושת ממשקי ה-API של HDR הסביבתי שימשו לעיבוד הטיל שבהמשך. מפת הקובייה של HDR מאפשרת להשתמש ברמזים מחזירי אור ומדגישה את האובייקט במלואו בסצנה.
הנה אותו דגם של טיל בסביבות מוארות שונות. כל הסצנות האלה עובדו באמצעות מידע משלושת ממשקי ה-API, עם צלליות בכיוון מסוים.
מצב תאורת אווירה
מצב 'תאורת אווירה' קובע את עוצמת הפיקסלים הממוצעת ואת הסקלרים של תיקון הצבע של תמונה נתונה. מדובר בסביבה גסה שמיועדת לתרחישים לדוגמה שבהם תאורה מדויקת לא חיונית, למשל חפצים עם תאורה עמוקה.
עוצמת הפיקסלים
מתעד את עוצמת הפיקסלים הממוצעת של התאורה בסצנה. אפשר להחיל את התאורה הזו על אובייקט וירטואלי שלם.
צבע
זיהוי איזון הלבן בכל פריים בנפרד. לאחר מכן אפשר לתקן את הצבע של אובייקט וירטואלי כדי שהוא ישתלב בצורה חלקה יותר בצביעה הכוללת של הסצנה.
בדיקות סביבה
בדיקות סביבה מארגנים את הצפיות במצלמה ב-360 מעלות לפי מרקמים של הסביבה כמו מפות קוביות. לאחר מכן ניתן להשתמש בטקסטורות האלה כדי להציג חפצים וירטואליים בהירים במיוחד, כמו כדור מתכת וירטואלי ש"משקף" את החדר שבו הוא נמצא.