PBR – ¿Qué es?

PBR – ¿Qué es?

En tecnología | 2015.07.12 | por | Comentarios ( 3 )

En las décadas de 1960 y 70 en el mundo del arte (sobre todo en pintura) había, entre otras, dos tendencias opuestas: el minimalismo y el fotorrealismo.

Desde hace unos años ambos estilos han vuelto con fuerza, especialmente en los videojuegos. Aunque el minimalismo suele atribuirse a juegos para iOS o Mac y el fotorrealismo se ve más en juegos de consolas modernas y PC, lo cierto es que hay muchos ejemplos de ambas tendencias en todas las plataformas.

El principal problema del “fotorrealismo clásico” en los videojuegos consiste en que, básicamente, es hacer trampa. Lo importante es que el resultado final “parezca de verdad” y las técnicas empleadas para conseguirlo pasan a un discreto segundo plano. A menudo las luces usadas en las escenas fotorrealistas de hace unos años tienen valores que no tienen nada que ver con las luces reales, y los materiales se comportan de forma (técnicamente) poco realista para conseguir engañar a los ojos del jugador. En general, un escenario fotorrealista hecho de esta manera sólo funciona con la configuración de luces y materiales específica para esa ocasión, y esto es un problema porque no puede haber cambios dinámicos ni se puede reutilizar un escenario o un material si cambia la hora del día o la cantidad de luz del entorno.

El PBR (Physically Based Rendering) es una técnica pensada para eliminar este problema, ofreciendo resultados realistas en base a las propiedades físicas de los materiales y de la luz. Gracias a los materiales definidos mediante PBR es posible tener cambios dinámicos de iluminación y que los materiales se muestren tal y como lo deben, sin tener que reconfigurarlos, sin hacer trampas. Para quienes llevamos años haciendo videojuegos, los materiales PBR suponen un tremendo cambio de paradigma; venimos acostumbrados a componer materiales en base a los canales difuso, especular y desplazamiento y en el modelo PBR hay más canales y resulta que son diferentes. No sólo eso, sino que hay dos configuraciones básicas y diferentes de PBR, una basada en el componente metálico y otra en el especular.

Para quienes ya saben algo sobre materiales, leer esto puede ser muy interesante y sobre todo al estar en español; para quienes no saben mucho (o nada) del asunto puede ser un galimatías confuso, así que voy a exponer un poco del vocabulario del curso que estoy preparando sobre PBR.
Espero que os guste y os ayude a entender un poco mejor esta técnica

 

Reflectividad

Los conceptos de reflectividad y reflectancia derivan de “reflejar” y causan un conflicto bastante serio con la documentación técnica en inglés. Hay traducciones que intercambian los nombres y los significados, así que por puro sentido práctico voy a seguir el estándar inglés; todas las aplicaciones y motores de juegos que usan PBR están en inglés y es más fácil entenderlos si nos ceñimos a ellos, incluso si las traducciones fueran más correctas cambiando los términos.

La reflectancia (reflectance) de una superficie es su eficacia para reflejar la luz que incide sobre ella. Es una propiedad direccional (el reflejo de la luz depende del ángulo en el que incida sobre la superficie) y su valor se representa siempre mediante un número real positivo. Para nuestros propósitos consideraremos que la reflectividad (reflectivity) es el valor límite de reflectancia sobre superficies gruesas. Parece un poco lioso, así que voy a poneros un dibujo:

luz_superficie

Supongamos que las flechas representan rayos de luz que inciden sobre un material grueso. Ese material refleja la luz, pero no la refleja de manera perfecta; si lo hiciera, todos los rayos rebotarían en su superficie, pero no es así. El valor de la reflectividad de este material indica cuánta luz rebota en su superficie, y la reflectancia indica cómo de brillante es ese reflejo. Pero lo realmente importante viene a continuación.

Los rayos de luz pintados en verde en este dibujo representan la luz reflejada, que tradicionalmente se considera “especular” (de “espejo”). Los rayos naranjas penetran en el material y algunos de ellos salen de él, modificados o “contaminados”. Básicamente, el valor de reflectividad determina la cantidad de reflexión y de difusión del material en cuestión…

 

Difusión y Reflexión

En la imagen anterior, los rayos verdes representan la luz reflejada, la reflexión. Los rayos naranjas, que penetran en el material pero vuelven a salir representan la difusión. En el modelo PBR ambas son mutuamente excluyentes, por el principio de conservación de energía: la luz reflejada en un objeto (de una forma u otra) no puede ser más intensa que la luz que recibe originalmente. Así que si un objeto tiene mucho brillo difuso no puede tener mucho brillo especular. Para quienes vengáis con costumbres de modelar en 3D: el difuso es Lambert y el especular es Blinn. Por si acaso y para todos, otra imagen de ejemplo:

difusion-reflexion

La esfera de la izquierda tiene más componente difuso que las de su derecha; la esfera de la derecha tiene más componente especular que las de su izquierda. Cuando la reflexión aumenta, la difusión baja. Cuando la difusión aumenta, la reflexión baja.
Eso es la conservación de la energía: todas brillan igual, pero de maneras diferentes.

 

Conductores y Aislantes

Las propiedades físicas de los materiales que conducen la electricidad (principalmente los metales) y los que no la conducen suelen reflejarse en su apariencia. De hecho el modelo PBR más utilizado se basa en las propiedades metálicas de las superficies y se llama “metallic“.

Por norma general los materiales conductores suelen tener más reflectividad que los aislantes, por lo es normal que exhiban más reflexión que difusión; los metales pulidos no muestran difusión en absoluto. La reflectividad de los metales suele estar entre el 60 y el 90% de la luz que reciben, mientras que la de los aislantes raramente excede el 25%. Además hay algunos materiales conductores como el oro y el cobre que tiñen la luz que reflejan con su propio color, mientras que los materiales aislantes no suelen hacerlo y la luz que reflejan es del mismo color que la original.

Como un objeto puede estar compuesto por diferentes materiales se suele usar una textura especial que defina qué tipo de superficie corresponde a cada zona, y ese “mapa metálico” especifica el comportamiento de cada texel de la superficie del objeto. La información del material base del objeto se combina con la información de rugosidad del material para conseguir brillos realistas y coherentes.

 

Rugosidad

Si observamos una plancha de metal o una tabla de madera, la superficie es plana pero generalmente no es lisa: tiene poros, imperfecciones, estrías y arañazos. Estas características suelen ser propias del material del objeto y las percibimos con claridad porque la luz rebota en ellas de manera diferente, según su orientación:

rugosidad

Al definir un material PBR podemos incluir esta información de las “microsuperficies” de un objeto a través de imágenes, como un mapa de rugosidad, de brillos o de suavidad, que suelen identificarse con los nombres “roughness“, “glossiness” y “smoothness“. El resultado de aplicar la rugosidad del material es que los brillos se difuminan o se adaptan a esta rugosidad, consiguiendo un resultado más realista que con las técnicas tradicionales.

Aunque en la generación de materiales PBR no es extraño usar dos imágenes (metallic + roughness) es habitual que los motores de juegos sólo usen una imagen para definir la rugosidad o el tipo de material y un valor de suavidad de la superficie, que se aplica a todo el material. Por ejemplo, Unity usa una imagen (metallic) y un valor de cero a uno (smoothness), y el resultado es tan bueno como bien definido esté el material.

 

Bueno, creo que es bastante información, sobre todo para abrir boca. Os pondré un enlace cuando publique el curso, que será mucho más práctico que esta “introducción”  ;)

Comparte:
  • Facebook
  • Twitter
  • Meneame
  • LinkedIn
  • BarraPunto
  • Bitacoras.com
  • email
  • Google Bookmarks
  • Print

3 Responses

2015.07.12

Gracias por la información… son conceptos que no podemos obviar y que ya se tocan constantemente en el vocabulario de los que trabajamos con 3D…

2015.07.12

hola, muy interesante y esclarecedor gracias por publicar este articulo, si en futuro fueras a dar un curso sobre texturización y PBR estaria interesado, un saludo

2015.07.12

Gracias por aclarar mis dudas. Muy amable!

Escribe un comentario

* Invitados: son necesarios nombre, correo y comentario.