Este es el cuarto de una serie de artículos que explican cómo los desarrolladores y artistas técnicos pueden configurar y utilizar el canal de renderizado de alta definición (HDRP) en Unity para lograr un realismo gráfico de alto nivel. HDRP representa un salto tecnológico en el renderizado en tiempo real de Unity para que puedas trabajar con la luz tal como se comporta en el mundo real.
Asegúrese de leer los demás artículos de nuestra serie de procedimientos sobre iluminación de alta gama:
Los reflejos ayudan a integrar GameObjects con su entorno. Si bien normalmente asociamos reflejos con superficies lisas y brillantes, incluso los materiales rugosos requieren reflejos correctos en un flujo de trabajo de renderizado físico (PBR). HDRP ofrece múltiples técnicas para generar reflejos:
- Reflexiones del espacio de la pantalla
- Sondas de reflexión
- Reflejos del cielo
Cada tipo de reflexión puede consumir muchos recursos, así que seleccione cuidadosamente el método que funcione mejor según su caso de uso. Si se aplica más de una técnica de reflexión a un píxel, HDRP combina la contribución de cada tipo de reflexión. Las superficies delimitadoras llamadas volúmenes de influencia dividen el espacio 3D para determinar qué objetos reciben los reflejos.
Screen Space Reflections (SSR) utiliza el búfer de profundidad y color para calcular los reflejos. Como tal, solo pueden reflejar objetos actualmente en la vista de Cámara y es posible que no se representen correctamente en ciertas posiciones de la pantalla. Los pisos brillantes y las superficies planas húmedas son buenos candidatos para recibir reflejos espaciales de pantalla, pero tenga en cuenta que los SSR ignoran todos los objetos fuera del marco, lo que puede limitar el efecto.
Para habilitar los reflejos del espacio de la pantalla, vaya a Configuración de marco (Configuración predeterminada de HDRP o Configuración de marco personalizada de la cámara) en Iluminación. Luego, agregue la Anulación de reflexión del espacio de pantalla a su Objeto de volumen.
Las superficies de los materiales deben exceder el valor de Suavidad mínima para mostrar reflejos en el espacio de la pantalla. Reduzca este valor si desea que los materiales más rugosos muestren el SSR, pero tenga en cuenta que un umbral de suavidad mínima más bajo puede aumentar el costo de cálculo. Si Screen Space Reflection no afecta a un píxel, entonces HDRP recurre al uso de Reflection Probes.
Utilice el menú desplegable Calidad para seleccionar un número preestablecido de pasos Max Ray. Los pasos Max Ray más altos aumentan la calidad, pero también tienen un costo. Como ocurre con todos los efectos, esfuércese por equilibrar el rendimiento con la calidad visual.
En las versiones HDRP 12 y superiores, puede elegir entre un algoritmo basado físicamente que utiliza Acumulación (nuevo) o Aproximación, un algoritmo aproximado menos preciso (predeterminado).
Las sondas de reflexión generan reflejos utilizando una técnica basada en imágenes. Una sonda captura la vista esférica de su entorno en todas las direcciones y almacena el resultado en una textura de mapa de cubos. Los sombreadores utilizan este mapa de cubos para aproximar un reflejo.
Cada escena puede tener varias sondas y combinar los resultados. Los reflejos localizados pueden cambiar a medida que la cámara se mueve por el entorno.
Establezca el tipo de cada sonda de reflexión en horneado o en tiempo real:
- Baked Probes procesa la textura del mapa de cubos solo una vez para un entorno estático.
- Las sondas en tiempo real crean el mapa de cubos en tiempo de ejecución en el Reproductor en lugar de en el Editor. Esto significa que los reflejos no se limitan a objetos estáticos, aunque las actualizaciones en tiempo real pueden consumir muchos recursos.
El volumen de influencia determina los límites 3D donde los GameObjects recibirán el reflejo, mientras que la configuración de captura te permite personalizar cómo Reflection Probe toma una instantánea del mapa del cubo.
Para optimizar las sondas de reflexión en tiempo real, desactive cualquier función de representación que no afecte significativamente la calidad visual de las reflexiones anulando la configuración general o por sonda de reflexión de la cámara. También puede crear una secuencia de comandos para dividir el tiempo de la actualización.
Una sonda de reflexión plana le permite recrear una superficie plana y reflectante, teniendo en cuenta la suavidad de la superficie. Esto es ideal para espejos y pisos brillantes.
Aunque las sondas de reflexión planas tienen mucho en común con las sondas de reflexión estándar, estos componentes funcionan de forma ligeramente diferente. En lugar de capturar el entorno como un mapa de cubos, una sonda de reflexión plana recrea la vista de la cámara reflejada a través de su plano de espejo. Luego, la sonda almacena la imagen reflejada resultante en una RenderTexture 2D. Traído a los límites de la sonda rectangular, esto crea una reflexión plana.
Si un objeto no se ve afectado por una sonda de reflexión cercana, volverá a caer al reflejo del cielo.
Para producir reflejos de máxima calidad, HDRP utiliza la técnica que proporciona la mayor precisión para cada píxel y la combina con otras técnicas basadas en los tres métodos de reflexión (SSR, Reflection Probes, Sky) utilizando una prioridad ponderada. Esta secuencia específica para evaluar reflexiones se llama Jerarquía de Reflexiones.
Cuando una técnica no determina completamente el reflejo de un píxel, HDRP recurre a la siguiente técnica. En otras palabras, Screen Space Reflection recurre a Reflection Probes, que a su vez, recurre a Sky Reflections.
Es importante configurar correctamente los volúmenes de influencia para sus sondas de reflexión. De lo contrario, es posible que experimente fugas de luz debido a reflejos del cielo no deseados. Esto es evidente en la Sala 3 de la Escena de Muestra. Desactivar una de las sondas de reflexión o cambiar sus volúmenes de influencia obliga al reflejo a caer de nuevo al cielo. Esto hace que el brillante cielo HDRI domine la escena con sus intensos reflejos.
Para obtener más detalles sobre la jerarquía de reflexión, consulte la sección Reflexión de la documentación HDRP.
Debido a que el punto de captura de una sonda de reflexión es fijo y rara vez coincide con la posición de la cámara cercana, puede haber un cambio de perspectiva notable en la reflexión resultante. Como tal, es posible que el reflejo no parezca conectado con el medio ambiente.
Un volumen proxy de Reflection le ayuda a corregir esto parcialmente. Reproyecta los reflejos con mayor precisión dentro del volumen proxy, según la posición de la cámara.
HDRP también presenta algunos efectos de iluminación en tiempo real disponibles a través del sistema de volumen. Seleccione un volumenlocal o global y luego agregue el efecto apropiado en Agregar anulación > Iluminación.
Oclusión ambiental del espacio de pantalla (SSAO)
Ambient Occlusion simula el oscurecimiento que se produce en pliegues, agujeros y superficies cercanas entre sí. Las áreas que bloquean la luz ambiental tienden a parecer ocluidas.
Aunque puede crear Ambient Occlusion para geometría estática a través de Lightmapper de Unity, HDRP agrega una Oclusión ambiental de espacio de pantalla adicional, que funciona en tiempo real. Se trata de un efecto de espacio de pantalla, lo que significa que sólo la información del interior del marco puede contribuir al efecto producido. SSAO ignora todos los objetos fuera del campo de visión de la cámara.
Habilite la oclusión ambiental del espacio de la pantalla en la Configuración del marco en Iluminación. Luego, agregue Anulación en un volumen local o global y seleccione Iluminación > Oclusión ambiental.
Screen Space Global Illumination (SSGI) utiliza el búfer de profundidad y color de la pantalla para calcular la luz difusa y rebotada. Al igual que el mapeo de luz puede generar iluminación indirecta en las superficies de su geometría de nivel estático, SSGI simula con mayor precisión cómo los fotones pueden golpear las superficies y transferir colores y sombras a medida que rebotan.
Al igual que otros efectos que dependen del búfer de cuadros, los bordes de la pantalla se vuelven problemáticos, ya que los objetos fuera del campo de visión de la cámara no pueden contribuir a la iluminación global. Esto se puede mejorar parcialmente mediante el uso de sondas de reflexión para proporcionar un respaldo cuando los rayos marchan fuera del búfer de fotograma.
Habilite SSGI en la Configuración del marco en Iluminación. También debe estar habilitado en la sección Iluminación del activo de tubería.
*NOTA*: Recomendamos utilizar Unity 2021.2 o superior con Screen Space Global Illumination. HDRP 12 incluye mejoras significativas en la calidad de SSGI.
La anulaciónde refracción del espacio de pantalla ayuda a simular cómo se comporta la luz cuando pasa a través de medios más densos que el aire. Screen Space Refraction de HDRP utiliza el búfer de profundidad y color para calcular la refracción a través de un material transparente como el vidrio.
Para habilitar este efecto a través del HDRP Lit Shader, asegúrese de que su material tenga un tipo de superficie que sea transparente.
Luego elija un modelo de refracción y un índice de refracción en Entradas de transparencia. Utilice el Modelo de refracción de esfera para objetos sólidos y elija Delgado (como una burbuja) o Caja (con un ligero grosor) para objetos huecos.