L'API Lighting Estimation fornisce dati dettagliati che ti consentono di imitare vari segnali luminosi durante il rendering di oggetti virtuali. ARCore supporta tre modalità di stima della luce:
- Disabilitata
- Modalità Intensità Ambient
- Modalità HDR ambientale
Prerequisiti
Assicurati di aver compreso i concetti fondamentali di AR e di configurare una sessione ARCore prima di procedere.
Attiva stima dell'illuminazione
Segui questi passaggi per attivare la stima dell'illuminazione nella tua app.
- Configura un progetto AR Foundation o un progetto ARCore Extensions.
- Nella scheda Hierarchy, vai a XR Session Origin > AR Camera.
- Nel componente AR Camera Manager, seleziona Light Estimation.
- Nel menu a discesa Light Estimation, seleziona le modalità che vuoi utilizzare.
Attiva la modalità HDR ambientale
La modalità HDR ambientale attiva le seguenti impostazioni per la stima della luce:
- Direzione della luce principale
- Intensità luce principale
- Armoniche sferiche ambientali
Questa modalità viene attivata automaticamente quando vengono soddisfatti i seguenti criteri:
- Le armoniche sferiche ambientali, la direzione della luce principale e/o l'intensità della luce principale vengono selezionate nella modalità Stima della luce fornita da Gestione videocamera AR
- I probe di ambiente sono abilitati in un
AREnvironmentProbeManager
- È stata selezionata una configurazione della videocamera compatibile
Attiva la modalità Intensità Ambient
La stima della luce di base viene attivata automaticamente quando è selezionata la modalità intensità ambientale nel componente ARCameraManager
.
La modalità Intensità Ambient attiva le seguenti impostazioni per la stima della luce:
- Colore ambient
- Intensità ambiente
Utilizzare le informazioni sull'illuminazione nella scena
Dopo aver ottenuto le impostazioni di illuminazione corrette, puoi illuminare gli oggetti virtuali nella scena come se fossero parte del mondo reale.
Il componente ARCameraManager
può generare un evento frameReceived
che stima le condizioni di illuminazione dei frame quando è attiva la stima dell'illuminazione. Le informazioni degli eventi frameReceived
vengono archiviate negli struct ARCameraFrameEventArgs
come ARLightEstimationData
.
Segui questi passaggi per modificare i parametri di una luce in fase di runtime.
- Crea o modifica la luce direzionale esistente nella scena.
Allega un nuovo script alla luce direzionale.
// 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. }
Modifica questo nuovo script per rilevare cambiamenti nell'illuminazione. Per alcuni esempi di come eseguire questa operazione, dai un'occhiata agli script
BasicLightEstimation.cs
eHDRLightEstimation.cs
di Unity.
Utilizza i probe di ambiente nella tua scena
Segui questi passaggi per attivare i probe di ambiente nella tua scena.
- Attiva il posizionamento automatico nella
ARSessionOrigin
della scena. - Aggiungi un componente
AREnvironmentProbeManager
aARSessionOrigin
.