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

L'API Lighting Estimation fournit des données détaillées qui vous permettent d'imiter différents indicateurs d'éclairage lorsque vous affichez des objets virtuels. ARCore est compatible avec trois modes d'estimation de la luminosité:

  1. Désactivé
  2. Mode Intensité ambiante
  3. Mode HDR de l'environnement

Prérequis

Assurez-vous de bien maîtriser les concepts fondamentaux de la RA. et comment configurer une session ARCore avant de continuer.

Activer l'estimation de l'éclairage

Suivez les étapes ci-dessous pour activer l'estimation de la luminosité dans votre application.

  1. Configurez un projet AR Foundation ou un projet d'extensions ARCore.
  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 de l'environnement permet d'activer 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 les informations d'éclairage dans votre scène

Une fois que vous avez obtenu les paramètres d'éclairage corrects, vous pouvez éclairer les objets virtuels de la 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 la luminosité est activée. Les informations des événements frameReceived sont stockées dans des structures ARCameraFrameEventArgs en tant que ARLightEstimationData.

Pour modifier les paramètres d'un système d'éclairage 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 à l'éclairage directionnel.

    // 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 savoir comment procéder, consultez les scripts Unity BasicLightEstimation.cs et HDRLightEstimation.cs.

Utiliser des vérifications d'environnement dans votre scène

Suivez ces étapes pour activer les vérifications d'environnement dans votre scène.

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