Guias específicos da plataforma
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine

Uma parte fundamental para criar experiências de RA realistas é acertar a iluminação. Quando um objeto virtual não tem uma sombra ou tem um material brilhante que não reflete o espaço ao redor, os usuários podem sentir que o objeto não se encaixa, mesmo que não consigam explicar o motivo. Isso ocorre porque os humanos percebem subconscientemente pistas sobre como os objetos são iluminados no ambiente. A API Lighting Estimation analisa as imagens fornecidas para essas pistas, fornecendo informações detalhadas sobre a iluminação em uma cena. Em seguida, você pode usar essas informações ao renderizar objetos virtuais para iluminá-los nas mesmas condições da cena em que estão colocados, mantendo os usuários conectados e engajados.
Pistas de iluminação
A API Lighting Estimation fornece dados detalhados que permitem imitar várias pistas de iluminação ao renderizar objetos virtuais. Essas pistas são sombras, luz ambiente, sombreamento, destaques especulares e reflexões.
Sombras
As sombras costumam ser direcionais e informam aos espectadores de onde as fontes de luz estão vindo.
Luz ambiente
A luz ambiente é a luz difusa geral que entra do ambiente, tornando tudo visível.
Sombreamento
O sombreamento é a intensidade da luz. Por exemplo, diferentes partes do mesmo objeto podem ter níveis diferentes de sombreamento na mesma cena, dependendo do ângulo em relação ao espectador e da proximidade de uma fonte de luz.
Destaques especulares
Os destaques especulares são as partes brilhantes das superfícies que refletem uma fonte de luz diretamente. Os destaques em um objeto mudam em relação à posição de um espectador em uma cena.
Reflexões
A luz reflete nas superfícies de maneira diferente, dependendo se a superfície tem propriedades especulares (altamente reflexivas) ou difusas (não reflexivas). Por exemplo, uma bola metálica será altamente especular e refletirá o ambiente, enquanto outra bola pintada de cinza fosco será difusa. A maioria dos objetos do mundo real tem uma combinação dessas propriedades, como uma bola de boliche arranhada ou um cartão de crédito usado.
As superfícies reflexivas também captam cores do ambiente. A coloração de um objeto pode ser afetada diretamente pela coloração do ambiente. Por exemplo, uma bola branca em um quarto azul vai adquirir uma tonalidade azulada.
Modo HDR de ambiente
Esses modos consistem em APIs separadas que permitem a estimativa granular e realista de iluminação para iluminação direcional, sombras, destaques especulares e reflexões.
O modo HDR de ambiente usa o aprendizado de máquina para analisar as imagens da câmera em tempo real e sintetizar a iluminação do ambiente para oferecer uma renderização realista de objetos virtuais.
Esse modo de estimativa de iluminação oferece:
Luz direcional principal. Representa a principal fonte de luz. Pode ser usada para projetar sombras.
Harmônicos esféricos ambientais. Representa a energia de luz ambiente restante na cena.
Um cubemap HDR. Pode ser usado para renderizar reflexões em objetos metálicos brilhantes.
Você pode usar essas APIs em diferentes combinações, mas elas foram projetadas para serem usadas juntas para o efeito mais realista.
Luz direcional principal
A API de luz direcional principal calcula a direção e a intensidade da principal fonte de luz da cena. Essas informações permitem que objetos virtuais na cena mostrem destaques especulares razoavelmente posicionados e projetem sombras em uma direção consistente com outros objetos reais visíveis.
Para ver como isso funciona, considere estas duas imagens do mesmo foguete virtual. Na imagem à esquerda, há uma sombra abaixo do foguete, mas a direção dela não corresponde às outras sombras na cena. No foguete à direita, a sombra aponta na direção correta. É uma diferença sutil, mas importante, e ela fundamenta o foguete na cena porque a direção e a intensidade da sombra correspondem melhor a outras sombras na cena.

Quando a principal fonte de luz ou um objeto iluminado está em movimento, o destaque especular no objeto ajusta a posição em tempo real em relação à fonte de luz.
As sombras direcionais também ajustam o comprimento e a direção em relação à posição da principal fonte de luz, assim como no mundo real. Para ilustrar esse efeito, considere estes dois manequins, um virtual e o outro real. O manequim à esquerda é o virtual.

Harmônicos esféricos ambientais
Além da energia luminosa na luz direcional principal, o ARCore fornece harmônicos esféricos, representando a luz ambiente geral que entra de todas as direções na cena. Use essas informações durante a renderização para adicionar pistas sutis que realçam a definição de objetos virtuais.
Considere estas duas imagens do mesmo modelo de foguete. O foguete à esquerda é renderizado usando informações de estimativa de iluminação detectadas pela API de luz direcional principal. O foguete à direita é renderizado usando informações detectadas pelas APIs de luz direcional principal e de harmônicos esféricos ambientais. O segundo foguete tem uma definição visual mais clara e se mistura mais perfeitamente à cena.

Cubemap HDR
Use o cubemap HDR para renderizar reflexões realistas em objetos virtuais com brilho médio a alto, como superfícies metálicas brilhantes. O cubemap também afeta o sombreamento e a aparência dos objetos. Por exemplo, o material de um objeto especular cercado por um ambiente azul vai refletir tons azuis. O cálculo do cubemap HDR requer uma pequena quantidade de computação adicional da CPU.
Se você deve usar o cubemap HDR depende de como um objeto reflete o ambiente. Como o foguete virtual é metálico, ele tem um componente especular forte que reflete diretamente o ambiente ao redor. Portanto, ele se beneficia do cubemap. Por outro lado, um objeto virtual com um material fosco cinza não tem um componente especular. A cor dele depende principalmente do componente difuso e não se beneficiaria de um cubemap.
Todas as três APIs HDR ambientais foram usadas para renderizar o foguete abaixo. O cubemap HDR permite as pistas reflexivas e o destaque adicional que fundamentam o objeto totalmente na cena.

Aqui está o mesmo modelo de foguete em ambientes com iluminação diferente. Todas essas cenas foram renderizadas usando informações das três APIs, com sombras direcionais aplicadas.

Modo de intensidade ambiente
O modo de intensidade ambiente determina a intensidade média de pixels e os escalares de correção de cor para uma determinada imagem. É uma configuração aproximada projetada para casos de uso em que a iluminação precisa não é essencial, como objetos que têm iluminação integrada.
Intensidade de pixels
Captura a intensidade média de pixels da iluminação em uma cena. Você pode aplicar essa iluminação a um objeto virtual inteiro.
Cor
Detecta o balanço de branco para cada frame individual. Em seguida, você pode corrigir a cor de um objeto virtual para que ele se integre mais facilmente à coloração geral da cena.
Sondas de ambiente
As sondas de ambiente organizam visualizações de câmera de 360 graus em texturas de ambiente, como mapas de cubo. Essas texturas podem ser usadas para iluminar objetos virtuais de forma realista, como uma bola de metal virtual que "reflete" o quarto em que está.