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 signaux d'éclairage lors du rendu d'objets virtuels. ARCore prend en charge trois modes d'estimation de la luminosité:

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

Conditions préalables

Assurez-vous de bien comprendre les concepts fondamentaux de la RA et de configurer une session ARCore avant de continuer.

Activer l'estimation de l'éclairage

Suivez ces étapes pour activer l'estimation de l'éclairage 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 active les paramètres d'estimation de la luminosité suivants:

Ce mode est activé automatiquement 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 suivants d'estimation de la luminosité:

  • Couleur ambiante
  • Intensité ambiante

Utiliser les informations d'éclairage dans votre scène

Une fois que vous avez réglé correctement l'éclairage, vous pouvez éclairer les objets virtuels dans 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 structs ARCameraFrameEventArgs sous forme de ARLightEstimationData.

Suivez ces étapes pour modifier les paramètres d'une lumière au moment de l'exécution.

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

Utiliser des vérifications d'environnement dans votre environnement

Suivez cette procédure pour activer les vérifications d'environnement dans votre environnement.

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