Guides spécifiques à la plate-forme
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine

Pour créer des expériences de RA réalistes, il est essentiel de bien gérer l'éclairage. Lorsqu'un objet virtuel n'a pas d'ombre ou qu'il est constitué d'un matériau brillant qui ne reflète pas l'espace environnant, les utilisateurs peuvent sentir que l'objet ne s'intègre pas bien, même s'ils ne peuvent pas expliquer pourquoi. En effet, les humains perçoivent inconsciemment des indices sur la façon dont les objets sont éclairés dans leur environnement. L'API d'estimation de l'éclairage analyse les images fournies pour détecter ces indices et fournit des informations détaillées sur l'éclairage d'une scène. Vous pouvez ensuite utiliser ces informations lors du rendu d'objets virtuels pour les éclairer dans les mêmes conditions que la scène dans laquelle ils sont placés, ce qui permet aux utilisateurs de rester ancrés et engagés.
Indices d'éclairage
L'API d'estimation de l'éclairage fournit des données détaillées qui vous permettent d'imiter différents indices d'éclairage lors du rendu d'objets virtuels. Ces indices sont les ombres, la lumière ambiante, l'ombrage, les reflets spéculaires et les réflexions.
Ombres
Les ombres sont souvent directionnelles et indiquent aux spectateurs d'où proviennent les sources de lumière.
Lumière ambiante
La lumière ambiante est la lumière diffuse globale qui provient de l'environnement et qui rend tout visible.
Ombrage
L'ombrage est l'intensité de la lumière. Par exemple, différentes parties d'un même objet peuvent avoir différents niveaux d'ombrage dans la même scène, en fonction de l'angle par rapport au spectateur et de sa proximité avec une source de lumière.
Reflets spéculaires
Les reflets spéculaires sont les parties brillantes des surfaces qui reflètent directement une source de lumière. Les reflets sur un objet changent en fonction de la position d'un spectateur dans une scène.
Humeur
La lumière rebondit différemment sur les surfaces selon qu'elles ont des propriétés spéculaires (très réfléchissantes) ou diffuses (non réfléchissantes). Par exemple, une bille métallique sera très spéculaire et reflétera son environnement, tandis qu'une autre bille peinte en gris mat sera diffuse. La plupart des objets du monde réel présentent une combinaison de ces propriétés (pensez à une boule de bowling usée ou à une carte de crédit très utilisée).
Les surfaces réfléchissantes captent également les couleurs de l'environnement ambiant. La couleur d'un objet peut être directement affectée par la couleur de son environnement. Par exemple, une bille blanche dans une pièce bleue prendra une teinte bleutée.
Mode HDR ambiant
Ces modes sont constitués d'API distinctes qui permettent une estimation précise et réaliste de l'éclairage pour l'éclairage directionnel, les ombres, les reflets spéculaires et les réflexions.
Le mode HDR ambiant utilise le machine learning pour analyser les images de la caméra en temps réel et synthétiser l'éclairage ambiant afin de permettre un rendu réaliste des objets virtuels.
Ce mode d'estimation de l'éclairage fournit les éléments suivants :
Lumière directionnelle principale. Représente la source de lumière principale. Peut être utilisé pour projeter des ombres.
Harmoniques sphériques ambiantes. Représente l'énergie lumineuse ambiante restante dans la scène.
Une cubemap HDR. Peut être utilisé pour afficher des reflets dans des objets métalliques brillants.
Vous pouvez utiliser ces API dans différentes combinaisons, mais elles sont conçues pour être utilisées ensemble afin d'obtenir l'effet le plus réaliste.
Lumière directionnelle principale
L'API de lumière directionnelle principale calcule la direction et l'intensité de la source de lumière principale de la scène. Ces informations permettent aux objets virtuels de votre scène d'afficher des reflets spéculaires raisonnablement positionnés et de projeter des ombres dans une direction cohérente avec d'autres objets réels visibles.
Pour voir comment cela fonctionne, examinez ces deux images de la même fusée virtuelle. Sur l'image de gauche, il y a une ombre sous la fusée, mais sa direction ne correspond pas aux autres ombres de la scène. Dans la fusée de droite, l'ombre pointe dans la bonne direction. Il s'agit d'une différence subtile, mais importante, qui ancre la fusée dans la scène, car la direction et l'intensité de l'ombre correspondent mieux aux autres ombres de la scène.

Lorsque la source de lumière principale ou un objet éclairé est en mouvement, le reflet spéculaire sur l'objet ajuste sa position en temps réel par rapport à la source de lumière.
Les ombres directionnelles ajustent également leur longueur et leur direction par rapport à la position de la source de lumière principale, comme dans le monde réel. Pour illustrer cet effet, examinez ces deux mannequins, l'un virtuel et l'autre réel. Le mannequin de gauche est le mannequin virtuel.

Harmoniques sphériques ambiantes
En plus de l'énergie lumineuse de la lumière directionnelle principale, ARCore fournit des harmoniques sphériques, qui représentent la luminosité ambiante globale provenant de toutes les directions de la scène. Utilisez ces informations lors du rendu pour ajouter des indices subtils qui mettent en évidence la définition des objets virtuels.
Examinez ces deux images du même modèle de fusée. La fusée de gauche est affichée à l'aide des informations d'estimation de l'éclairage détectées par l'API de lumière directionnelle principale. La fusée de droite est affichée à l'aide des informations détectées par les API de lumière directionnelle principale et d'harmoniques sphériques ambiantes. La deuxième fusée a clairement une définition visuelle plus importante et s'intègre plus facilement dans la scène.

Cubemap HDR
Utilisez la cubemap HDR pour afficher des reflets réalistes sur des objets virtuels dont le niveau de brillance est moyen à élevé, comme les surfaces métalliques brillantes. La cubemap affecte également l'ombrage et l'apparence des objets. Par exemple, le matériau d'un objet spéculaire entouré d'un environnement bleu reflétera des teintes bleues. Le calcul de la cubemap HDR nécessite une petite quantité de calcul supplémentaire du processeur.
L'utilisation de la cubemap HDR dépend de la façon dont un objet reflète son environnement. Comme la fusée virtuelle est métallique, elle possède un composant spéculaire puissant qui reflète directement l'environnement qui l'entoure. Elle bénéficie donc de la cubemap. En revanche, un objet virtuel avec un matériau mat gris terne ne comporte aucun composant spéculaire. Sa couleur dépend principalement du composant diffus et ne bénéficierait pas d'une cubemap.
Les trois API HDR ambiantes ont été utilisées pour afficher la fusée ci-dessous. La cubemap HDR permet d'activer les indices réfléchissants et de mettre davantage en évidence l'objet dans la scène.

Voici le même modèle de fusée dans des environnements éclairés différemment. Toutes ces scènes ont été affichées à l'aide des informations des trois API, avec des ombres directionnelles appliquées.

Mode d'intensité ambiante
Le mode d'intensité ambiante détermine l'intensité moyenne des pixels et les scalaires de correction des couleurs pour une image donnée. Il s'agit d'un paramètre grossier conçu pour les cas d'utilisation où un éclairage précis n'est pas essentiel, comme les objets dont l'éclairage est intégré.
Intensité des pixels
Capture l'intensité moyenne des pixels de l'éclairage d'une scène. Vous pouvez appliquer cet éclairage à un objet virtuel entier.
Couleur
Détecte la balance des blancs pour chaque image individuelle. Vous pouvez ensuite corriger la couleur d'un objet virtuel afin qu'il s'intègre plus facilement dans la couleur globale de la scène.
Sondes d'environnement
Les sondes d'environnement organisent les vues de la caméra à 360 degrés en textures d'environnement telles que les cubemaps. Ces textures peuvent ensuite être utilisées pour éclairer de manière réaliste des objets virtuels, comme une bille métallique virtuelle qui "reflète" la pièce dans laquelle elle se trouve.