L'API d'estimation de l'éclairage fournit des données détaillées qui vous permettent de reproduire divers indices d'éclairage lors du rendu d'objets virtuels. ARCore est compatible avec trois modes d'estimation de la lumière:
Prérequis
Avant de continuer, assurez-vous de bien comprendre les concepts fondamentaux de la RA et de savoir configurer une session ARCore.
Activer l'estimation de l'éclairage
Pour activer l'estimation de l'éclairage dans votre application, procédez comme suit :
- Configurez un projet AR Foundation ou un projet ARCore Extensions.
- Dans l'onglet Hierarchy, accédez à XR Session Origin > AR Camera.
- Sous le composant AR Camera Manager, sélectionnez Light Estimation.
- Dans le menu déroulant Light Estimation, sélectionnez le ou les modes que vous souhaitez utiliser.
Activer le mode HDR environnemental
Le mode HDR environnemental active les paramètres d'estimation de la luminosité suivants:
- Sens de la lumière principale
- Intensité de la lumière principale
- Harmonique sphérique ambiante
Ce mode est automatiquement activé lorsque les critères suivants sont remplis:
- Les harmoniques sphériques ambiantes, la direction de la lumière principale et/ou l'intensité de la lumière principale sont sélectionnés dans le mode d'estimation de la lumière fourni par le gestionnaire de la caméra AR.
- Les sondes d'environnement sont activées dans un
AREnvironmentProbeManager
. - Une configuration de caméra compatible est sélectionnée.
Activer le mode Intensité ambiante
L'estimation de la luminosité de base est automatiquement activée lorsque le mode Intensité ambiante est sélectionné dans le composant ARCameraManager
.
Le mode Intensité ambiante active les paramètres d'estimation de la luminosité suivants:
- Couleur ambiante
- Intensité ambiante
Utiliser des informations d'éclairage dans votre scène
Une fois que vous avez obtenu les paramètres d'éclairage appropriés, vous pouvez éclairer les objets virtuels de votre scène comme s'ils faisaient partie du monde réel.
Le composant ARCameraManager
peut déclencher un événement frameReceived
qui estime les conditions d'éclairage des images lorsque l'estimation de l'éclairage est activée. Les informations des événements frameReceived
sont stockées dans des structures ARCameraFrameEventArgs
sous la forme ARLightEstimationData
.
Pour modifier les paramètres d'une ampoule au moment de l'exécution, procédez comme suit :
- Créez ou modifiez la lumière directionnelle existante dans votre scène.
Associez un nouveau script à la lumière directionnelle.
// 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. }
Modifiez ce nouveau script pour détecter les changements d'éclairage. Pour obtenir des exemples, consultez les scripts
BasicLightEstimation.cs
etHDRLightEstimation.cs
d'Unity.
Utiliser des sondes d'environnement dans votre scène
Pour activer les sondes d'environnement dans votre scène, procédez comme suit :
- Activez le placement automatique dans le
ARSessionOrigin
de votre scène. - Ajoutez un composant
AREnvironmentProbeManager
àARSessionOrigin
.