畫面中呈現逼真的淺色虛擬物體

Lighting Estimation API 提供詳細的資料,可讓您在轉譯虛擬物件時模擬各種光線提示。ARCore 支援三種光源估計模式:

  1. 已停用
  2. 微光模式
  3. 環境 HDR 模式

必要條件

請務必先瞭解基本 AR 概念,以及如何設定 ARCore 工作階段,再繼續操作。

啟用照明估計功能

請按照下列步驟在應用程式中啟用亮度預估功能。

  1. 設定 AR Foundation 專案ARCore 擴充功能專案
  2. Hierarchy 分頁中,前往 XR Session Origin > AR Camera

  1. AR Camera Manager 元件下方,選取 Light Estimation
  2. Light Estimation 下拉式選單中選取要使用的模式。

啟用環境 HDR 模式

環境 HDR 模式可啟用下列光線估計設定:

系統會在符合下列條件時自動啟用這個模式:

啟用微光強度模式

當您在 ARCameraManager 元件中選取「微光強度模式」時,系統會自動啟用基本光源預估功能。

微光模式會啟用下列光線估計設定:

  • 外圍色彩
  • 環境亮度

在場景中使用照明資訊

取得正確的光照設定後,您就可以照亮場景中的虛擬物體,讓這些物體看起來像是真實世界中的一部分。

ARCameraManager 元件可觸發 frameReceived 事件,在啟用照明估計功能時,該事件會估計影格照明條件。frameReceived 事件的資訊會以 ARLightEstimationData 的形式儲存在 ARCameraFrameEventArgs 結構體中。

在執行階段變更光源的參數。

  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. 修改這個新指令碼,以便偵測燈光變化。如需操作範例,請查看 Unity 的 BasicLightEstimation.csHDRLightEstimation.cs 指令碼。

在場景中使用環境探測

請按照下列步驟在場景中啟用環境探測

  1. 在場景的 ARSessionOrigin 中啟用自動配置功能。
  2. AREnvironmentProbeManager 元件新增至 ARSessionOrigin