Logra la iluminación correcta

Guías específicas para plataformas

Un aspecto clave para crear experiencias de RA realistas es tener la iluminación correcta. Cuando a un objeto virtual le falta una sombra o tiene un material brillante que no refleja el espacio que lo rodea, los usuarios pueden percibir que el objeto no encaja bien, incluso si no pueden explicar el motivo. Esto se debe a que los seres humanos inconscientemente perciben señales sobre cómo se encienden los objetos en su entorno. La API de estimación de iluminación analiza imágenes determinadas para detectar esos indicadores y proporciona información detallada sobre la iluminación de una escena. Luego, puedes usar esta información cuando renderices objetos virtuales para iluminarlos en las mismas condiciones que la escena en la que se encuentran, lo que mantiene a los usuarios con los pies sobre la tierra y la interacción.

Señales de iluminación

La API de Lighting Estimation proporciona datos detallados que te permiten imitar varias señales de iluminación al procesar objetos virtuales. Estas señales son sombras, luz ambiente, sombras, zonas brillantes especulares y reflejos.

Sombras

Las sombras suelen ser direccionales y les indican a los usuarios de dónde provienen las fuentes de luz.

Luz ambiental

La luz ambiente es la luz difusa general que llega de todo el entorno y hace que todo sea visible.

Sombras

La sombra es la intensidad de la luz. Por ejemplo, las distintas partes del mismo objeto pueden tener distintos niveles de sombra en la misma escena, según el ángulo relativo al espectador y su proximidad a una fuente de luz.

Destacados especulares

Las zonas brillantes especulares son partes brillantes de las superficies que reflejan directamente una fuente de luz. Las zonas brillantes de un objeto cambian según la posición del espectador en una escena.

Reflejos

La luz rebota de las superficies de manera diferente según si estas tienen propiedades especulares (altamente reflectantes) o difusas (no reflexivas). Por ejemplo, una bola metálica será muy especular y reflejará su entorno, mientras que otra pintada de un gris mate opaco será difusa. La mayoría de los objetos del mundo real tienen una combinación de estas propiedades: piensa en una bola de boliche destrozada o en una tarjeta de crédito bien usada.

Las superficies reflectantes también captan colores del entorno. El color de un objeto puede verse directamente afectado por el color de su entorno. Por ejemplo, una bola blanca en una habitación azul adoptará un tono azulado.

Modo HDR ambiental

Estos modos constan de APIs independientes que permiten realizar una estimación detallada y realista de la iluminación para la iluminación direccional, las sombras, las zonas brillantes especulares y los reflejos.

El modo HDR ambiental usa el aprendizaje automático para analizar las imágenes de la cámara en tiempo real y sintetizar la iluminación ambiental para brindar una renderización realista de los objetos virtuales.

Este modo de estimación de la iluminación proporciona lo siguiente:

  1. Luz direccional principal: Representa la fuente de luz principal. Se puede usar para proyectar sombras.

  2. Armónicas esféricas ambientales Representa la energía de la luz ambiente restante de la escena.

  3. Un cubomap HDR. Se puede usar para renderizar reflejos en objetos metálicos brillantes.

Puedes usar estas APIs en diferentes combinaciones, pero están diseñadas para usarse juntas con el objetivo de lograr un efecto más realista.

Luz direccional principal

La API de luz direccional principal calcula la dirección y la intensidad de la fuente de luz principal de la escena. Esta información permite que los objetos virtuales de tu escena muestren zonas brillantes especulares en una posición razonable y proyecten sombras en una dirección coherente con otros objetos reales visibles.

Para ver cómo funciona, considera estas dos imágenes del mismo cohete virtual. En la imagen de la izquierda, hay una sombra debajo del cohete, pero su dirección no coincide con las otras sombras en la escena. En el cohete de la derecha, la sombra apunta en la dirección correcta. Es una diferencia sutil, pero importante, y coloca el cohete en la escena porque la dirección y la intensidad de la sombra coinciden mejor con otras sombras de la escena.

     

Cuando la fuente de luz principal o un objeto iluminado está en movimiento, la luz especular sobre el objeto ajusta su posición en tiempo real en relación con la fuente de luz.

Las sombras direccionales también ajustan su longitud y dirección según la posición de la fuente de luz principal, tal como lo hacen en el mundo real. Para ilustrar este efecto, consideremos estos dos maniquíes, uno virtual y el otro real. El maniquí de la izquierda es el virtual.

Armónicas esféricas ambientales

Además de la energía lumínica en la luz direccional principal, ARCore proporciona armónicos esféricos, que representan la luz ambiente general que entra desde todas las direcciones de la escena. Usa esta información durante la renderización para agregar indicadores sutiles que destaquen la definición de objetos virtuales.

Considera estas dos imágenes del mismo modelo de cohete. El cohete de la izquierda se renderiza con información de estimación de la iluminación que detecta la API de luz direccional principal. El cohete de la derecha se renderiza con información que detectan las API de luz de dirección principal y las API de armónicos esféricos ambientales. Es evidente que el segundo cohete tiene una definición más visual y se integra de forma más fluida en la escena.

     

Mapa de cubo HDR

Usa el cubemap HDR para renderizar reflejos realistas en objetos virtuales con brillo medio a alto, como superficies metálicas brillantes. El cubemap también afecta el sombreado y la apariencia de los objetos. Por ejemplo, el material de un objeto especular rodeado de un entorno azul reflejará los tonos azules. El cálculo del cubemap HDR requiere una pequeña cantidad de procesamiento adicional de la CPU.

El uso del mapa de cubo HDR depende de cómo un objeto refleja su entorno. Debido a que el cohete virtual es metálico, tiene un componente especular fuerte que refleja directamente el entorno que lo rodea. Por lo tanto, se beneficia del cubemap. Por otro lado, un objeto virtual con un material gris opaco mate no tiene ningún componente especular. Su color depende principalmente del componente difuso y no se beneficiaría de un mapa de cubo.

Se usaron las tres APIs de Environmental HDR para renderizar el cohete que aparece a continuación. El cubemap HDR habilita las señales reflectantes y destaca aún más que el objeto se basa completamente en la escena.

Este es el mismo modelo de cohete en entornos con iluminación diferente. Todas estas escenas se procesaron con información de las tres APIs, con sombras direccionales aplicadas.

           

Modo de intensidad del ambiente

El modo de intensidad ambiente determina la intensidad promedio de los píxeles y los escalares de corrección de color de una imagen determinada. Es un entorno general diseñado para casos de uso en los que la iluminación precisa no es crítica, como los objetos con iluminación integrada.

Intensidad de píxeles

Captura la intensidad de píxeles promedio de la iluminación en una escena. Puedes aplicar esta iluminación a un objeto virtual completo.

Color

Detecta el balance de blancos de cada fotograma individual. Luego, puedes corregir el color de un objeto virtual para que se integre más fluidamente en el color general de la escena.

Sondeos del entorno

Las sondas ambientales organizan las vistas de la cámara de 360 grados en texturas del entorno, como los mapas cúbicos. Estas texturas se pueden usar para iluminar objetos virtuales de manera realista, como una bola de metal virtual que "refleja" la habitación en la que se encuentra.