Objets virtuels lumineux de manière réaliste dans une scène

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:

  1. Désactivé
  2. Mode Intensité ambiante
  3. Mode HDR environnemental

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 :

  1. Configurez un projet AR Foundation ou un projet ARCore Extensions.
  2. Dans l'onglet Hierarchy, accédez à XR Session Origin > AR Camera.

  1. Sous le composant AR Camera Manager, sélectionnez Light Estimation.
  2. 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:

Ce mode est automatiquement activé lorsque les critères suivants sont remplis:

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 :

  1. Créez ou modifiez la lumière directionnelle existante dans votre scène.
  2. 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.
    }
    
  3. Modifiez ce nouveau script pour détecter les changements d'éclairage. Pour obtenir des exemples, consultez les scripts BasicLightEstimation.cs et HDRLightEstimation.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 :

  1. Activez le placement automatique dans le ARSessionOrigin de votre scène.
  2. Ajoutez un composant AREnvironmentProbeManager à ARSessionOrigin.