![Hero background image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F128e9df42bf0455fef74c83fad4ab1175bc6fd0a-1920x1080.jpg&w=3840&q=100)
Este es el segundo 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:
![Configuración de MSAA](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Faa10c018cd94c35413ebe8ddfa8ad98fe4dd4162-1000x610.jpg&w=3840&q=75)
La ruta de renderizado en el modo Lit Shader afecta la forma en que puedes usar el suavizado para eliminar los bordes irregulares de tus renderizados. HDRP ofrece varias técnicas de suavizado, según sus necesidades de producción.
Antialiasing multimuestra
Multisample Anti-aliasing (MSAA) es un método de anti-aliasing popular entre los jugadores de PC. Este es un método de hardware de alta calidad que suaviza los bordes de polígonos individuales y solo funciona con renderizado directo en Unity. La mayoría de las GPU modernas admiten muestras MSAA 2x, 4x y 8x.
En su activo de canalizaciónactivo, establezca el modo Lit Shader en Sólo avance. A continuación, seleccione MSAA 2x, MSAA 4xo MSAA 8x para la calidad de suavizado de muestras múltiples. Los valores más altos dan como resultado un mejor suavizado, pero son más lentos. Podemos ver esto más claramente cuando hacemos zoom en la vista de Cámara.
![Interfaz de sombreado diferido](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Fdd5f810165a40d0925a93411e24fe4379f09c6a7-1022x668.jpg&w=3840&q=75)
Hay un par de limitaciones con MSAA que vale la pena señalar:
- MSAA es incompatible con los G-buffers de sombreado diferido, que almacenan la geometría de la escena en una textura. Por lo tanto, el sombreado diferido requiere una de las técnicas de suavizado de posprocesamiento.
- Debido a que MSAA solo se ocupa del aliasing de bordes de polígonos, no puede evitar el aliasing encontrado en ciertas texturas y materiales afectados por una iluminación especular nítida. Es posible que necesites combinar MSAA con otra técnica de suavizado de posprocesamiento si eso supone un problema.
![Configuraciones FXAA, SMAA y TAA](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Fcda6c955228a5cc8612d07e1427a59311278bbbb-1000x609.jpg&w=3840&q=75)
Para aplicar el suavizado como técnica de posprocesamiento, utilice la Configuración de suavizado posterior:
- El suavizado temporal (TAA) combina información de fotogramas pasados y actuales para eliminar irregularidades del fotograma actual. Debes habilitar los vectores de movimiento para que funcione. TAA generalmente produce excelentes resultados, pero puede crear artefactos fantasma en algunas situaciones (por ejemplo, un GameObject que se mueve rápidamente frente a una superficie contrastante). HDRP10 introdujo mejoras para reducir los artefactos típicos de TAA. La implementación de Unity reduce las imágenes fantasma, mejora la nitidez y evita el parpadeo que se encuentra en otras soluciones.
- Fast Approximate Anti-aliasing (FXAA) es un algoritmo de anti-aliasing del espacio de la pantalla que combina píxeles entre regiones de alto contraste. Es una técnica relativamente rápida que no requiere una gran potencia informática, pero puede reducir la nitidez general de la imagen.
- El suavizado morfológico de subpíxeles (SMAA) detecta los bordes de la imagen y luego busca patrones específicos para combinar. Esto produce resultados más nítidos que FXAA y funciona bien con estilos artísticos planos, de dibujos animados o limpios.
*NOTA*: Al combinar el posprocesamiento y el suavizado de muestras múltiples, preste atención al costo de renderizado. Como siempre, optimice su proyecto para equilibrar la calidad visual con el rendimiento.
![Volúmenes con diferentes condiciones de iluminación.](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F969804ac60aa55502f1eed7ca18292f8a1c5ba24-1500x766.jpg&w=3840&q=75)
HDRP utiliza un marco de volumen. Este sistema le permite dividir su escena y habilitar ciertas configuraciones o funciones según la posición de la cámara. Por ejemplo, el nivel de plantilla HDRP contiene tres partes distintas, cada una con su propia configuración de iluminación. Como tal, existen diferentes Volúmenes que engloban cada estancia.
![Interfaz del Explorador de luz](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F17b260bfc317d757f1e13d8b1ff6c1dff3cb9b78-1522x447.jpg&w=3840&q=75)
Un Volumen es sólo un objeto marcador de posición con un componente de Volumen. Puedes crear uno a través del menú GameObject > Volumen seleccionando un ajuste preestablecido. De lo contrario, simplemente cree manualmente un GameObject con los componentes correctos.
Debido a que los componentes de volumen se pueden agregar a cualquier GameObject, puede resultar difícil encontrarlos en la jerarquía. El Light Explorer (Ventana > Renderizado > Light Explorer > Volúmenes) puede ayudarle a localizar volúmenes en escenas cargadas. Utilice esta interfaz para realizar ajustes rápidos.
![Interfaz de anulación de volumen global](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F5fe3d27a4424061021bdb9d5f7f9467627096883-1292x738.jpg&w=3840&q=75)
Establezca el Modo del componente Volumen en Global o Local, según el contexto relevante.
El volumen global funciona como un "catcall" sin límites y, por lo tanto, afecta a todas las cámaras de la escena. En la escena de muestra de HDRP, VolumeGlobal define una línea base general de configuraciones de HDRP para todo el nivel.
![Interfaz de anulación de volumen local](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F9a07c8545e8df8f5cc997e045e66244cc6cf0a93-1076x862.jpg&w=3840&q=75)
El volumen local define un espacio limitado donde su configuración tiene efecto. Utiliza un componente Collider para determinar sus límites. Habilite Is Trigger si no desea que Collider impida el movimiento de cualquier cuerpo físico, como el controlador de su reproductor FPS.
En la escena de muestra (ver imagen en la sección Volúmenes), cada habitación tiene un volumen local con un BoxCollider que anula la configuración global.
La habitación 2 tiene un volumen pequeño y esférico para el centro luminoso al lado de la vitrina, y la habitación 3 tiene volúmenes más pequeños en el pasillo de entrada y en el área de asientos debajo de las luces colgantes.
En la plantilla, los volúmenes locales anulan el balance de blancos, la exposición y/o la niebla. Todo lo que no se anule explícitamente vuelve a la Configuración global.
A medida que su cámara se mueve por la escena, las configuraciones globales entran en vigor hasta que el controlador de su reproductor choca con un volumen local donde esas configuraciones toman el control.
Consejo de rendimiento: No utilice una gran cantidad de volúmenes. La evaluación de cada volumen (combinación, espacialización, anulación de cálculo, etc.) conlleva cierto costo de CPU.
![Campo de perfil en el editor](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F773b8a8c3d86ad09527f50ce03016b37c5ce9783-1274x232.jpg&w=3840&q=75)
Un componente de volumen no contiene datos reales. En cambio, hace referencia a un perfil de volumen : un activoScriptableObject en el disco que contiene configuraciones para representar la escena.
Utilice el campo Perfil para crear un nuevo perfil de volumen con los botones Nuevo o Clonar . También puedes cambiar a otro perfil que ya hayas guardado.
Usar el perfil de volumen como un archivo hace que sea más fácil reutilizar configuraciones anteriores y compartir perfiles entre sus volúmenes.
Tenga en cuenta que los cambios realizados en los perfiles de volumen en el modo de reproducción no se perderán al salir de dicho modo.
![Ejemplo de niebla](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F0b0a0ab207d6b2d7e58ef918d66f2c413469ede7-1036x694.jpg&w=3840&q=75)
Cada perfil de volumen comienza con un conjunto de propiedades predeterminadas. Para editar sus valores, vaya a Anulaciones de volumen y personalice las configuraciones individuales. Por ejemplo, utilice Anulaciones de volumen para modificar la niebla, el posprocesamientoo la exposicióndel volumen.
Una vez que haya configurado su perfil de volumen , haga clic en Agregar anulación para personalizar la configuración del perfil. Vea la imagen para ver un ejemplo de cómo podría verse una anulación de niebla.
Cada una de las propiedades de Anulación de volumen tiene una casilla de verificación a la izquierda, que puede usar para editar esa propiedad. Dejar la casilla deshabilitada significa que HDRP usa el valor predeterminado del volumen. Los objetos de volumen pueden tener varias anulaciones. Edite tantas propiedades como sea necesario para cada una. Puede marcarlos o desmarcarlos rápidamente con el acceso directo Todo o Ninguno en la parte superior izquierda.
![Funciones HDRP con anulaciones de volumen](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F08faf02ea3c79f4cf8da32823c0c367483cf468c-1298x1102.jpg&w=3840&q=75)
Agregar anulaciones es un flujo de trabajo clave en HDRP. Si comprende el concepto de herencia de la programación, las anulaciones de volumen le resultarán familiares.
Las configuraciones de volumen de alto nivel son las predeterminadas para los volúmenes de bajo nivel. Aquí, la configuración predeterminada de HDRP pasa al volumen global, que a su vez sirve como "base" para los volúmenes locales.
El volumen global anula la configuración predeterminada de HDRP y el volumen local anula el volumen global. Utilice Prioridad, Pesoy Distancia de fusión (descritos en la siguiente sección) para resolver cualquier conflicto causado por la superposición de volúmenes.
Para depurar los valores actuales de un componente de volumen determinado, vaya a la pestaña Volumen en el Depurador de renderizado.
Encuentre una lista completa de anulaciones de volumen en la documentación de HDRP.
![Diferencia de mezcla y volumen](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F6b808e5ed4c267754780507343a104fd826c2af3-1125x740.jpg&w=3840&q=75)
Debido a que a menudo necesitas más de un volumen por nivel, HDRP te permite combinar volúmenes. Esto hace que las transiciones entre ellos sean menos abruptas.
En tiempo de ejecución, HDRP utiliza la posición de la cámara para determinar qué volúmenes afectan la configuración de HDRP.
La distancia de fusión determina dónde, o a qué distancia fuera del colisionador del volumen, comenzar a activarse o desactivarse. Un valor de 0 para Distancia de fusión significa una transición instantánea, mientras que un valor positivo significa que las anulaciones de volumen solo se fusionan una vez que la cámara ingresa al rango especificado.
El marco de volumen es flexible y le permite mezclar y combinar volúmenes y anulaciones como mejor le parezca. Si más de un volumen se superpone en el mismo espacio, HDRP se basa en la prioridad para decidir qué volumen tiene prioridad. Los valores más altos significan una mayor prioridad.
En general, establezca sus valores de Prioridad explícitamente para eliminar cualquier conjetura. De lo contrario, el sistema utilizará el orden de creación como “desempate” de prioridad, lo que puede generar resultados inesperados.
![Imágenes sobreexpuestas, subexpuestas y equilibradas.](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F30b3b790cc8beb0690bae23ddb3fedd62e6ddcfc-1500x470.jpg&w=3840&q=75)
HDRP utiliza modelos de iluminación del mundo real para representar cada escena. Como tal, muchas propiedades son análogas a sus contrapartes en la fotografía tradicional.
Comprender el valor de exposición
El valor de exposición (EV) es un valor numérico que representa una combinación de la velocidad de obturación de una cámara y el número f (que determina el tamaño de la apertura o apertura de la lente). Debe configurar correctamente la exposición para alcanzar el brillo ideal y capturar altos niveles de detalle tanto en las sombras como en las luces. De lo contrario, sobreexponer o subexponer la imagen dará lugar a resultados menos que deseables.
El rango de exposición en HDRP generalmente cae en algún punto del espectro anterior.
![Diagrama de rango de exposición](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Fcee8ec4ccfbfa45bf0e94931e0ba550ebb22d2d4-958x323.jpg&w=3840&q=75)
Los valores de exposición más altos dejan entrar menos luz a la cámara, lo cual es apropiado para situaciones con mayor iluminación. En este caso, un valor EV entre 13 y 16 es adecuado para un exterior diurno soleado. Por el contrario, un cielo nocturno oscuro y sin luna podría utilizar un EV entre -3 y 0.
Puede variar una serie de factores en la configuración de una cámara real para modificar su valor de exposición:
- La velocidad de obturación: La cantidad de tiempo que el sensor de imagen está expuesto a la luz.
- El número f: El tamaño de la apertura o apertura de la lente.
- La ISO: La sensibilidad de la película/sensor a la luz.
Los fotógrafos lo llaman el Triángulo de Exposición. En Unity, al igual que con una cámara real, puedes llegar al mismo valor de exposición usando diferentes combinaciones de estos números. HDRP expresa el valor de exposición en EV100, que fija la sensibilidad a la de la película 100 de la Organización Internacional de Normalización (ISO).
![Fórmula de exposición](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F4c0fb01e3a7ee915d33881f170fdd8b2ca7fb272-844x203.jpg&w=3840&q=75)
La fórmula anterior calcula el valor de exposición.
Tenga en cuenta que está en una escala logarítmica de base 2. A medida que el valor de exposición aumenta una unidad, la cantidad de luz que ingresa a la lente disminuye a la mitad.
HDRP le permite igualar la exposición de una imagen real. Simplemente tome una fotografía digital con una cámara o un teléfono inteligente. Tome los metadatos de la imagen para identificar el número f, la velocidad de obturación y el ISO.
Utilice la fórmula para calcular el valor de exposición. Si utiliza el mismo valor en Anulación de exposición (consulte la siguiente sección), la imagen renderizada debería coincidir con la exposición del mundo real.
Puedes utilizar fotografías digitales como referencia a la hora de iluminar tu nivel. Si bien el objetivo no es necesariamente recrear una imagen a la perfección, hacer coincidir una fotografía real puede eliminar las conjeturas sobre la configuración de iluminación.
![Exposición en modo fijo en el editor](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Fdfa650d935f9bc38630e790e20427a9a22b9b61e-680x127.jpg&w=3840&q=75)
En HDRP, la exposición es una anulación de volumen. Agréguelo a un volumen local o global para ver las propiedades disponibles.
En el menú desplegable Modo , seleccione una de las siguientes opciones: Fijo, Automático, Histograma Automático, Mapeo de Curvasy Cámara Física.
La compensación le permite cambiar o ajustar la exposición. Puede utilizar esto para aplicar ajustes menores y "detener" ligeramente la imagen renderizada hacia arriba y hacia abajo.
Modo fijo
El modo fijo le permite configurar el valor de exposición manualmente. Siga las marcas de graduación en el control deslizante de Exposición fija para obtener sugerencias. Si bien el icono de la derecha tiene un menú desplegable de ajustes preestablecidos (por ejemplo, 13 para Escena iluminada por el sol hasta -2,5 para Escena sin luna), puede configurar el campo directamente en cualquier valor.
Tenga en cuenta que el modo fijo es bastante simple, pero no muy flexible. Sólo tiende a funcionar si tienes un volumen o una escena con una iluminación relativamente uniforme, donde un valor de exposición puede funcionar en todo momento.
![Modo automatico](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F3831e082ed1c48750c9fdf982633c0407a2a66c1-1011x438.jpg&w=3840&q=75)
El modo automático establece dinámicamente la exposición según el rango de niveles de brillo en pantalla. Esto funciona de manera similar a cómo el ojo humano se adapta a distintos niveles de oscuridad, redefiniendo lo que se percibe como negro.
Si bien el modo automático funcionará en muchas condiciones de iluminación, también puede sobreexponer o subexponer involuntariamente la imagen al apuntar la cámara a una parte muy oscura o muy brillante de la escena. Utilice Limit Min y Limit Max para mantener el nivel de exposición dentro de un rango deseable. Prueba de juego para verificar que los límites se mantengan dentro de tu exposición esperada a lo largo del nivel. Luego use el Modo de medición, combinado con las opciones de Máscara , para indicar a qué partes del cuadro aplicar la exposición automática.
La exposición automática cambia a medida que la cámara cambia entre la oscuridad y la luz, con opciones para ajustar la Velocidad. Al igual que con el ojo, mover la cámara de un área muy oscura a una muy clara, o viceversa, puede desorientarlo brevemente.
![Modos de ponderación puntual y central](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F26fa04bfa822151b84178551a53e931341999b59-639x186.jpg&w=3840&q=75)
Automático, Histograma automáticoy Mapeo de curvas utilizan el modo de medición para determinar qué parte del cuadro usar al calcular la exposición. Puede configurar el modo de medición en:
- Promedio La cámara utiliza todo el fotograma para medir la exposición.
- Spot: La cámara solo usa el centro de la pantalla para medir la exposición.
- Centro ponderado: La cámara favorece los píxeles en el centro de la imagen y los difumina hacia los bordes del encuadre.
- Máscara ponderada: Una imagen suministrada (Máscara de textura de peso) indica qué píxeles son más importantes para controlar la exposición.
Máscara procesal: La cámara evalúa la exposición basándose en una textura generada por procedimientos. Puede cambiar las opciones para el centro, el radio y la suavidad.
![Histograma automático](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F6fdc2b50a625af5e3fd86c61704d0940b13d7085-1019x546.jpg&w=3840&q=75)
El modo de histograma automático lleva el modo automático un paso más allá. En última instancia, calcula un histograma para la imagen e ignora los píxeles más oscuros y más claros al configurar la exposición.
Al rechazar los píxeles muy oscuros o muy brillantes del cálculo de exposición, es posible que experimente una exposición más estable siempre que aparezcan píxeles extremadamente brillantes u oscuros en el marco. De esta manera, las superficies intensamente emisivas o los materiales negros no subexpondrán ni sobreexpondrán tanto la salida renderizada.
Utilice la Configuración de porcentaje de histograma en el Modo de histograma automático para descartar cualquier cosa en el histograma fuera del rango de porcentajes dado (imagínese recortar los píxeles más brillantes y más oscuros de las partes más a la izquierda y más a la derecha del histograma). Luego use Curve Remapping para reasignar la curva de exposición (ver más en la siguiente sección).
![Mapeo de curvas](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2Fd464f023982e3799750136d184e1c20fe37015f9-932x616.jpg&w=3840&q=75)
El mapeo de curvas es otra variante del modo automático.
En el modo de mapeo de curvas, el eje x de la curva representa la exposición actual y el eje y representa la exposición objetivo. Remapear la curva de exposición puede mejorar la precisión.
![Propiedades de la cámara física](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F7f3ea8a00f827507cdea50a5977812c55c935b74-888x752.jpg&w=3840&q=75)
Aquellos familiarizados con la fotografía pueden encontrar útil el modode cámara física para configurar los parámetros de la cámara.
Cambie el modo de anulación de exposición a cámara físicay luego ubique la cámara principal. Desde allí, puede habilitar la cámara física. Vea la imagen para ver las propiedades que se muestran en el Inspector.
Importantes para la exposición son el ISO (sensibilidad), la apertura (o número f) y la velocidad de obturación, ubicados en Cámara física. Si coincide con fotografías de referencia, copie la configuración correcta de los datos Exif de la imagen. De lo contrario, esta tabla puede ayudarle a estimar el valor de exposición según el número f y la velocidad de obturación.
![Diagrama de configuración de apertura](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffuvbjjlp%2Fproduction%2F36aea54f9d001089fff353dcde722f6d75bc8560-960x539.jpg&w=3840&q=75)
Aunque no están relacionadas con la exposición, otras propiedades de la cámara física pueden ayudarle a igualar los atributos de las cámaras del mundo real.
Por ejemplo, normalmente usamos el campo de visión en Unity (y muchas otras aplicaciones 3D) para determinar qué parte del mundo puede ver una cámara a la vez. Sin embargo, en las cámaras reales, el campo de visión depende del tamaño del sensor y de la distancia focal de la lente.
En lugar de configurar el campo de visión directamente, la configuración física de la cámara le permite completar el tipo de sensor, el tamaño del sensory la distancia focal a partir de los datos reales de la cámara. Luego, Unity calculará automáticamente el valor del campo de visión correspondiente.
Confíe en los metadatos de la cámara incluidos con los archivos de imagen cuando intente hacer coincidir una referencia fotográfica real. Tanto Windows como macOS pueden leer los datos Exif de imágenes digitales. Luego puede copiar los campos correspondientes a su cámara virtual.
Tenga en cuenta que es posible que deba buscar las dimensiones exactas del sensor en el sitio web del fabricante una vez que obtenga la marca y el modelo de la cámara a partir de los metadatos. Este artículo incluye una estimación de los formatos comunes de sensores de imagen. Varios de los parámetros inferiores influyen en el volumen de profundidad de campo.
En Unity 2021 LTS, puedes controlar la distancia de enfoque desde el inspector de la cámara. En el componente Volumen de profundidad de campo , configure el Modo de enfoque y el Modo de distancia de enfoque en Cámara física.
Utilice Blade Count, Curvaturey Barrel Clipping para cambiar la forma de la apertura de la cámara. Esto influye en el aspecto del bokeh que resulta del componente Volumende profundidad de campo .