Lighting Estimation API מספק נתונים מפורטים שמאפשרים לחקות רמזים שונים של תאורה כשמעבדים אובייקטים וירטואליים. ב-ARCore יש תמיכה בשלושה מצבים של הערכת אור:
- מושבתת
- מצב 'עוצמת אווירה'
- מצב HDR סביבתי
דרישות מוקדמות
לפני שממשיכים, חשוב לוודא שאתם מבינים את המושגים הבסיסיים של AR ואת האופן שבו מגדירים סשן של ARCore.
הפעלה של הערכת התאורה
יש לפעול לפי השלבים הבאים כדי להפעיל את הערכת התאורה באפליקציה.
- להגדיר פרויקט בסיסי של AR או פרויקט תוספי ARCore.
- בכרטיסייה Hierarchy, עוברים אל XR Session Origin > AR Camera.
- מתחת לרכיב AR Camera Manager, בוחרים באפשרות Light Estimation.
- בתפריט הנפתח Light Estimation, בוחרים את המצבים שבהם רוצים להשתמש.
הפעלה של מצב HDR סביבתי
במצב HDR סביבתי מופעל ההגדרות הבאות להערכת התאורה:
- כיוון התאורה הראשי
- עוצמת אור ראשית
- הרמוניות כדוריות בסביבה
המצב הזה מופעל באופן אוטומטי כשיש עמידה בקריטריונים הבאים:
- הרמוניה כדורית, כיוון האור הראשי ו/או עוצמת האור הראשית נבחרו במצב הערכת האור שמסופק על ידי מנהל מצלמת ה-AR
- גשושיות מידע סביבתיות מופעלות ב-
AREnvironmentProbeManager
- נבחרה הגדרת מצלמה תואמת
הפעלה של מצב 'עוצמת אווירה'
הערכת התאורה הבסיסית מופעלת באופן אוטומטי כשבוחרים באפשרות מצב עוצמה של אווירה ברכיב ARCameraManager
.
מצב 'עוצמת אווירה' מפעיל את ההגדרות הבאות להערכת התאורה:
- צבע הסביבה
- עוצמת הסביבה
שימוש במידע לגבי התאורה בסצנה
לאחר קבלת ההגדרות הנכונות של התאורה, תוכלו להדליק את האובייקטים הווירטואליים בסצנה כאילו היו חלק מהעולם האמיתי.
הרכיב 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
.