ה-Lighting Estimation API מספק נתונים מפורטים שמאפשרים לחקות סימנים שונים של תאורה כשמעבדים אובייקטים וירטואליים. ב-ARCore יש תמיכה בשלושה מצבים של הערכת אור:
דרישות מוקדמות
חשוב לוודא שאתם מבינים את המושגים הבסיסיים של AR ואיך להגדיר סשן ARCore לפני שממשיכים.
הפעלה של הערכת התאורה
כדי להפעיל את הערכת התאורה באפליקציה, יש לפעול לפי השלבים הבאים.
- מגדירים פרויקט AR Foundation או פרויקט תוספי ARCore.
- בכרטיסייה Hierarchy, עוברים אל XR Session Origin > AR Camera.
- מתחת לרכיב AR Camera Manager, בוחרים באפשרות Light Estimation.
- בתפריט הנפתח Light Estimation, בוחרים את המצבים שבהם רוצים להשתמש.
הפעלת מצב HDR בסביבה
מצב HDR סביבתי מאפשר את ההגדרות הבאות של הערכת התאורה:
- כיוון תאורה ראשי
- עוצמת התאורה העיקרית
- הרמוניה הספרתית לאווירה
המצב הזה מופעל באופן אוטומטי אם התנאים הבאים מתקיימים:
- ההרמוניה הספרית הסביבתית, כיוון האור הראשי ו/או עוצמת התאורה הראשית נבחרים במצב הערכת האור שמסופק על ידי מנהל המצלמה ב-AR
- בדיקות הסביבה מופעלות ב-
AREnvironmentProbeManager
- נבחרה הגדרת מצלמה תואמת
הפעלת מצב תאורת אווירה
הערכת האור הבסיסית מופעלת באופן אוטומטי כשבוחרים באפשרות מצב תאורת אווירה ברכיב ARCameraManager
.
במצב 'תאורת אווירה' אפשר לקבוע את ההגדרות הבאות להערכת התאורה:
- Ambient Color
- עוצמת הסביבה
איך משתמשים במידע על תאורה בסביבה
אחרי שקובעים את הגדרות התאורה הנכונות, אפשר להאיר את החפצים הווירטואליים בסצנה כאילו הם חלק מהעולם האמיתי.
הרכיב ARCameraManager
יכול להפעיל אירוע frameReceived
שמעריך את תנאי התאורה של הפריימים כשמופעלת הערכת תאורה. מידע מאירועים של frameReceived
מאוחסן באובייקטים של ARCameraFrameEventArgs
בתור ARLightEstimationData
.
כדי לשנות פרמטרים של תאורה בזמן ריצה, יש לפעול לפי השלבים הבאים.
- אפשר ליצור או לשנות את תאורת הכיוון הקיימת בסצנה.
יש לצרף סקריפט חדש אל התאורה הכיוונית.
// Sample Lighting Estimation script Light light; void Awake () { light = GetComponent<Light>(); } void OnEnable() { if (cameraManager != null) cameraManager.frameReceived += FrameChanged; } void OnDisable() { if (cameraManager != null) cameraManager.frameReceived -= FrameChanged; } void FrameChanged(ARCameraFrameEventArgs args) { // Modify `light` parameters using ARCameraFrameEventArgs. }
צריך לשנות את הסקריפט החדש כדי לזהות שינויים בתאורה. לדוגמאות איך לעשות זאת, ניתן לעיין בסקריפטים
BasicLightEstimation.cs
ו-HDRLightEstimation.cs
של Unity.
שימוש בחיישני סביבה בסצנה
כדי להפעיל בדיקות סביבה בסביבה שלכם, יש לבצע את השלבים הבאים.
- מפעילים את המיקום האוטומטי בסצנה
ARSessionOrigin
. - מוסיפים רכיב
AREnvironmentProbeManager
ל-ARSessionOrigin
.