אובייקטים וירטואליים מציאותיים בסצנה

Lighting Estimation API מספק נתונים מפורטים שמאפשרים לחקות רמזים שונים של תאורה כשמעבדים אובייקטים וירטואליים. ב-ARCore יש תמיכה בשלושה מצבים של הערכת אור:

  1. מושבתת
  2. מצב 'עוצמת אווירה'
  3. מצב HDR סביבתי

דרישות מוקדמות

לפני שממשיכים, חשוב לוודא שאתם מבינים את המושגים הבסיסיים של AR ואת האופן שבו מגדירים סשן של ARCore.

הפעלה של הערכת התאורה

יש לפעול לפי השלבים הבאים כדי להפעיל את הערכת התאורה באפליקציה.

  1. להגדיר פרויקט בסיסי של AR או פרויקט תוספי ARCore.
  2. בכרטיסייה Hierarchy, עוברים אל XR Session Origin > AR Camera.

  1. מתחת לרכיב AR Camera Manager, בוחרים באפשרות Light Estimation.
  2. בתפריט הנפתח Light Estimation, בוחרים את המצבים שבהם רוצים להשתמש.

הפעלה של מצב HDR סביבתי

במצב HDR סביבתי מופעל ההגדרות הבאות להערכת התאורה:

המצב הזה מופעל באופן אוטומטי כשיש עמידה בקריטריונים הבאים:

הפעלה של מצב 'עוצמת אווירה'

הערכת התאורה הבסיסית מופעלת באופן אוטומטי כשבוחרים באפשרות מצב עוצמה של אווירה ברכיב ARCameraManager.

מצב 'עוצמת אווירה' מפעיל את ההגדרות הבאות להערכת התאורה:

  • צבע הסביבה
  • עוצמת הסביבה

שימוש במידע לגבי התאורה בסצנה

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

הרכיב ARCameraManager יכול ליצור אירוע frameReceived שמעריך את תנאי התאורה של הפריימים כשהערכת התאורה מופעלת. מידע מאירועי frameReceived מאוחסן במבני ARCameraFrameEventArgs כ-ARLightEstimationData.

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

  1. יוצרים או משנים את התאורה הכיוונית הקיימת בסצנה.
  2. מחברים סקריפט חדש לאור הכיווני.

    // 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.
    }
    
  3. משנים את הסקריפט החדש כדי לזהות שינויים בתאורה. לדוגמאות שממחישות איך לעשות זאת, אפשר לעיין בסקריפטים BasicLightEstimation.cs ו-HDRLightEstimation.cs של Unity.

שימוש בגששים סביבתיים בסצנה

פועלים לפי השלבים הבאים כדי להפעיל גשושיות מידע לסביבה בסצנה.

  1. מפעילים מיקום אוטומטי ב-ARSessionOrigin של הסצנה.
  2. הוספת רכיב AREnvironmentProbeManager ל-ARSessionOrigin.