A API Lighting Estimation fornece dados detalhados que permitem imitar vários sinais de iluminação ao renderizar objetos virtuais. O ARCore oferece suporte a três modos de estimativa de luz:
- Desativado
- Modo de intensidade ambiente
- Modo HDR ambiental
Pré-requisitos
Entenda os conceitos fundamentais de RA. e como configurar uma sessão do ARCore antes de continuar.
Ativar a estimativa de iluminação
Siga estas etapas para ativar a estimativa de iluminação no app.
- Configure um projeto de AR Foundation ou um projeto de extensões do ARCore.
- Na guia Hierarchy, navegue até XR Session Origin > AR Camera.
- No componente AR Camera Manager, selecione Light Estimation.
- No menu suspenso Light Estimation, selecione os modos que você quer usar.
Ativar o modo HDR ambiental
O modo HDR ambiental ativa as seguintes configurações de estimativa de luz:
- Direção da luz principal
- Intensidade da luz principal
- Ambiente esférico – harmônicos
Esse modo será ativado automaticamente quando os seguintes critérios forem atendidos:
- Ambiente Esféricos, Direção da Luz Principal e/ou Intensidade da Luz Principal estão selecionados no modo Estimativa de Luz fornecido pelo gerenciador da Câmera RA.
- As sondagens de ambiente estão ativadas em uma
AREnvironmentProbeManager
. - Uma configuração de câmera compatível selecionada está selecionada.
Ativar o modo de intensidade ambiente
A estimativa básica de luz é ativada automaticamente quando o Modo de intensidade do ambiente é selecionado no componente ARCameraManager
.
O modo de intensidade ambiente ativa as seguintes configurações de estimativa de luz:
- Cor ambiente
- Intensidade do ambiente
Usar informações de iluminação na cena
Depois de definir as configurações de iluminação corretas, você pode iluminar os objetos virtuais em sua cena como se eles fizessem parte do mundo real.
O componente ARCameraManager
pode gerar um evento frameReceived
que estima as condições de iluminação dos frames quando a estimativa de iluminação está ativada. As informações dos eventos frameReceived
são armazenadas em estruturas ARCameraFrameEventArgs
como ARLightEstimationData
.
Siga estas etapas para mudar os parâmetros de uma luz no momento da execução.
- Crie ou modifique a luz direcional na sua cena.
Anexe um novo script à luz direcional.
// 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. }
Modifique esse novo script para detectar mudanças na iluminação. Para ver exemplos de como fazer isso, confira os scripts
BasicLightEstimation.cs
eHDRLightEstimation.cs
do Unity.
Usar sondagens de ambiente na sua cena
Siga estas etapas para ativar as sondagens de ambiente no seu cenário.
- Ative o posicionamento automático no
ARSessionOrigin
da cena. - Adicione um componente
AREnvironmentProbeManager
aoARSessionOrigin
.