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

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 模式可啟用下列光線估計設定:

只要符合下列條件,系統就會自動啟用這個模式:

啟用微光模式

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