• eng
  • deu
  • fra
  • ita
  • Blender tutorial: material PBR para parede de tijolos
  • Manténgase al día con las últimas noticias en el sitio con un lector de feeds
  • Graphics and programming Facebook page
  • Graphics and programming Youtube channel
  • Graphics and programming Twitter page

Tutorial Blender: material PBR para pared de ladrillo

En este cuarto tutorial del minicurso en español para Blender "De la foto al muro 3D", veremos cómo crear un material PBR para el muro que estamos realizando, utilizando los mapas que habíamos guardado previamente.
Un material PBR (Physically Based Rendering) es un material que debe tener en cuenta las características físicas del objeto, pero estamos en el mundo de la representación artística por lo que utilizaremos "shaders", componentes que simulan sombras y sombras, aproximando lo que sucede. en él cuando es golpeado por un rayo de luz en la realidad.
En particular, usaremos el sombreador representado por el nodo "Principled BSDF", llamado "Principled" porque no se aproxima a la física de manera rigurosa, sino que sigue los principios (pocos parámetros intuitivos que conduzcan a un resultado plausible, más que parámetros físicos) formulada inicialmente por Disney quien formalizó por primera vez este modelo, y "BSDF" (función de distribución de dispersión bidireccional) porque, a partir de un haz de luz incidente, se calculan tanto la distribución de todos los rayos reflejados como la de todos los transmitidos en su interior de el material.

En los tutoriales anteriores habíamos construido la forma aproximada de los ladrillos usando dos métodos, uno con el modificador displace ("Blender: ladrillos de la pared con el modificador displace") y el otro con la adaptive subdivision ("Blender: ladrillos con adaptive subdivision/microdisplacement"), guardando los resultados en los dos archivos "displacemodifier.blend" y "adaptive_subdivision_microdisplacement.blend".
En este tutorial usaremos los mapas creados con Krita en este tutorial "Krita tutorial: cómo crear mapas de desplazamiento, de altura, normal", pero las texturas descargadas de Internet o creadas con otros programas también pueden funcionar (hablaremos de esto más adelante, al final de la página de este tutorial)

 

Material de ladrillos PBR con displace modifier, "base color":

Cargamos el archivo "displacemodifier.blend"

deshabilitemos el modificador "Displace" por ahora,

y seleccione el espacio de trabajo "Shading"

En el "Shader Editor" en la parte inferior, si no está presente cree el nodo para la textura (Add  > Texture  > Image Texture), cargue la textura "diffuse_map.jpg" que representa la foto inicial de la pared y conecte la "Image Texture" al nodo "Principled" (por el momento dejamos sin cambios la configuración predeterminada del nodo "Principled") en el puerto "base color" para indicar que esta textura se usa para dar el color base al objeto asociado con el material

conecte al nodo "Image Texture" el nodo "Texture Coordinate" (Add  > Input  > Texture Coordinate), que define inequívocamente el tipo de mapeo utilizado, y el nodo "Mapping" (Add  > Vector  > Mapping) que en este tutorial no es necesario, pero siempre es útil cambiar el tamaño de la textura en ciertas situaciones (lo usaremos en otra lección para cambiar el tamaño/rotar una escritura en la pared).

En la vista previa ahora vemos

como entrada para el puerto "base color" usamos una foto sin procesar, si en cambio la hubiéramos transformado en una textura "albedo" antes habríamos tenido que mezclarla (usando un nodo Add > Color > MixRGB) con su mapa "Ambient Occlusion" (AO) adicional, que fuerza la presencia de sombras calculando donde los volúmenes detienen los rayos de luz

modificando el factor "Fac" según las características de la imagen "albedo", la foto original de la que se tomó el mapa y el resultado a obtener.

Aguas abajo de la textura, posiblemente podamos agregar un nodo "Hue/Saturation" (Add > Color > Hue/Saturation) o "RGB Curves" (Add > Color > RGB Curves)

si es necesario agregar o quitar contraste a la imagen, o hacer que los ladrillos sean menos rojos

estos modificadores se pueden usar directamente o para que el resultado final sea mixto, a través del nodo MixRGB (Add > Color > MixRGB)

en el nodo "Image Texture", para que las imágenes se muestren en un monitor, en "Color Space" siempre debe configurar la opción sRGB, que es el espacio de color codificado RGB optimizado para visualización (por lo tanto, utilizado para monitores), de hecho una textura contiene información que el ojo humano no puede ver, luego se realiza una conversión para que los colores y tonos de gris se muestren de la mejor manera.

 

Mapa de altura y mapa normal en material PBR:

Con el modificador "Displace" hemos definido aproximadamente la forma de los ladrillos, ahora con el mapa de altura y el mapa normal agregaremos detalles, como rayones o porosidad de los ladrillos.
Cambiemos algunas configuraciones: en las "Render properties" configuramos un número de samples 150 para "Viewport" (para Blender desde la versión 3.0 configuramos este valor en "Max Samples")

y desconecte las texturas de la puerta "base color".

Para agregar detalles a los ladrillos usamos los dos mapas que creamos con Krita: "normal_map.jpg" y "height_map.jpg".

Para estos mapas y para los demás que veremos más adelante, el espacio de color "Color Space" debe configurarse como "Non-Color" ya que los datos deben leerse del mapa tal como están, por el contrario cualquier conversión a sRGB modificaría incorrectamente la información contenida en él.

Para leer los datos del mapa y crear la perturbación en las normales, que agregarán detalles "virtuales" (modificando localmente las formas en que se crean las sombras cuando la luz golpea el objeto), usamos el nodo "Normal Map" (Add > Vector > Normal Map) que, como podemos ver, recibe los colores del mapa como entrada (a través del puerto "color") y devuelve los "vectores" a la salida (a través del puerto "normal")

En el nodo "Normal Map" hay tres parámetros a configurar: en el menú desplegable se especifica el tipo de mapa normal que estamos usando ("Tangent Space", "Object Space", "World Space", "Blender Object Space", "Blender World Space")

elegimos "Tangent Space", porque en Krita habíamos construido un mapa normal del espacio tangente.
Luego debemos elegir el UVMap a utilizar, normalmente es el del objeto sobre el que se debe aplicar el mapa, en nuestro caso solo hay uno que es "UVMap", el de nuestro plan, previamente creado y configurado por el addon "Images as Planes" con el que habíamos importado la foto del muro.

el último parámetro, "Strength", indica qué tan notable será el efecto del mapa normal. Si ponemos por ejemplo valor de Strength:3 tendremos como resultado

con solo una aparente deformación de la malla, realizada mediante luces y sombras, de hecho si miramos el plano de lado, notaremos que no se ha creado ningún relieve, a diferencia de lo que ocurría con el modificador "Displace".

Para agregar los detalles a los ladrillos podemos usar un mapa normal o el "height_map.jpg" (para ser agregado con Color Space:"Non-Color"), que habíamos creado en el otro tutorial para Krita, colocando aguas abajo un nodo Bump (Add > Vector > Bump), o podemos combinar los efectos juntos de los dos mapas, concatenando los nodos

El nodo Bump está regulado por tres parámetros: una opción "Invert" que le permite invertir la interpretación de las alturas del mapa, "Strength" que determina la fuerza del efecto de los mapas (en la práctica, visualmente, colorea las sombras de forma más clara o más oscura), "Distance" un multiplicador del valor de altura de entrada para controlar la distancia que queremos simular.
También conectamos los nodos de mapa de altura y mapa normal al nodo "Mapping"

en la vista previa del espacio de trabajo "Shading" vemos, con los valores de "Strength" establecidos en las imágenes anteriores, que los relieves de los ladrillos están más definidos

puede variar los parámetros según el tipo de material, la distancia del objeto, el efecto que desea obtener

 

Mapa de rugosidad en material PBR:

El parámetro "Roughness" se utiliza para indicar la rugosidad del objeto, que puede ser polvoriento o poroso, fragmentándose y reflejando el rayo de luz que lo incide en múltiples partes.
Con el mapa normal (con Strength:0.6) y el mapa de altura conectado al nodo "Principled", a través del nodo "Bump" el efecto de un mapa de rugosidad será poco evidente, ya que el mapa normal ya influye en las luces y sombras en el objeto.

sin embargo, si desconectamos el nodo "Bump" del nodo "Principled", aparecerá un reflejo del sol golpeando el ladrillo desde arriba.

Ahora veamos cómo gestionar esta reflexión: en el nodo "Principled" el parámetro "Specular" se establece en 0.5, dejamos este valor sin cambios ya que el material es dieléctrico, mientras que el parámetro "Roughness" se establece en 0.5 por defecto.

Ahora agreguemos el mapa "roughness_map.jpg", creado en el otro tutorial para Krita junto con los otros mapas, usando el nodo "Image Texture" (Add > Texture > Image Texture), también aquí con "Color Space:Non-Color" porque es un mapa que debe leerse sin filtros y modificaciones,

y ya veremos una mejora, con un reflejo encima del ladrillo que tiene en cuenta la luz que viene de arriba, pero mas difusa que antes

Eventualmente podemos poner un nodo "ColorRamp" (Add > Converter > ColorRamp) para disminuir la influencia de la rugosidad por la textura, aumentando así la concentración de reflejos

o para aumentar la rugosidad

Teniendo en cuenta también el hecho de que tenemos que reinsertar los mapas de bump/normal, elegimos los valores que nos permitirán lograr un buen resultado para nuestro proyecto.
Con este mapa de rugosidad hemos terminado el tutorial del material PBR básico para los ladrillos de pared. A continuación, puede hacer clic en la imagen para ver el diagrama completo de los nodos creado.

Con el displace modifier

Aquí está el ejemplo después de seguir el tutorial sobre subdivisión adaptativa

Puede descargar los archivos del proyecto aquí:
diffuse_map.jpg
displacement_map.jpg
height_map.jpg
normal_map.jpg
roughness_map.jpg
blender_wall_pbr_material_adaptive_subdivision.blend
blender_wall_pbr_material_displace_modificator.blend
world hdri

Ahora veamos algunas sugerencias sobre cómo acelerar la creación de nodos, realizar configuraciones y depurar.

 

Cómo acelerar el trabajo:

En el tutorial creamos los nodos que contienen los mapas usando la función de menú correspondiente (Add > Texture > Image Texture), pero podemos acelerar el proceso arrastrando las texturas o desde el "file browser" del espacio de trabajo "Shading".

o desde el explorador de archivos de nuestro sistema operativo.

El nodo "Image Texture" se creará automáticamente, simplemente seleccione "Color Space:Non-Color" o "Color Space:sRGB" y conéctelo a los demás.

 

El complemento Node Wrangler:

Un addon que nos puede ayudar a gestionar los nodos es sin duda "Node Wrangler", ya suministrado por defecto a Blender. Podemos activarlo en "Edit > Preferences" seleccionando la pestaña "Add-ons"

Este complemento es importante ya que proporciona funciones útiles que le permiten acelerar su trabajo, por ejemplo, seleccionando un nodo "Principled", presionando las teclas "Ctrl+Shift+t", seleccionando los diversos mapas con el "File Browser",  se cargarán y vincularán automáticamente los mapas "diffuse", "normal map", "roughness map" etc.

o presionando las teclas "Ctrl+Shift" y haciendo clic con el botón izquierdo del mouse sobre una textura, podemos ver una vista previa de la misma (útil para entender cómo cambiar la configuración de algunos mapas de nuestro material PBR)

Para obtener más información sobre otras funciones, consulte la "Guía del addon Node Wrangler para Blender y pdf atajos"

 

Cómo crear mapas/texturas:

Vimos en uno de los tutoriales anteriores cómo crear mapas con Krita y de forma similar podemos construirlos con otro software generalista de gráficos 2D, como GIMP o Photoshop.
Sin embargo, también hay software dedicado, como Materialize (código abierto), o Crazybump, pero también servicios en línea como NormalMap-Online, donde solo necesitas cargar la textura diffuse para obtener automáticamente todos los demás mapas.

 

Donde descargar los mapas/texturas:

Si por alguna razón no puede crear sus texturas a partir de una foto, puede descargarlas de algunos sitios dedicados. Por ejemplo, en ambientcg.com, polyhaven.com, sharetextures.com, cgbookcase.com, 3dtextures.me hay paquetes gratuitos disponibles que contienen varios mapas para representar diversos materiales, como paredes, pisos, corteza de árbol y mucho más. Generalmente, en cada paquete hay varios archivos: una textura de color que puede aparecer con varios nombres ("color", "basecolor", "diffuse", etc.), un mapa para oclusión ambiental (a veces indicado con AO), un mapa para desplazamiento (al que se puede hacer referencia como "displacement" o "height"), uno o más mapas normales, un mapa de rugosidad y, a veces, un mapa especular.
En algunos casos, los archivos en formato usd también pueden estar disponibles, mientras que Polyhaven.com también proporciona los archivos correspondientes en formato .blend y .gltf para simplificar ciertas operaciones.
A veces se proporcionan más texturas que representan mapas normales, ya que se han codificado de acuerdo con dos estándares diferentes, DirectX y OpenGL, y los nombres de los archivos relacionados tienen palabras como "normaldirectx" y "normalopengl", o más brevemente "normaldx" y "normalgl" que identifican el formato respectivo. Estos dos mapas se diferencian en que el canal verde del mapa RGB con el que fueron codificados tiene el bit invertido uno respecto del otro. En consecuencia, al observarlos notamos que las partes en relieve de uno aparecen hundidas en el otro y, viceversa, sus partes hundidas aparecen en relieve en el segundo mapa, similar a cuando habíamos creado el mapa normal con Krita en uno de los tutoriales anteriores, donde teníamos que elegir Y- al lugar de Y+ para ver en qué dirección interpretar los vectores de luces y sombras.
Por lo tanto, en el caso de que el mapa normal, descargado de un sitio, dé un resultado no deseado

tendremos que agregar un nodo "RGB Curves" (Add > Color > RGB Curves) para invertir el canal "Green"

obteniendo así

Para este tutorial sobre cómo hacer un material PBR para una pared de ladrillos, eso es todo. A continuación, veremos cómo agregar imperfecciones como manchas de humedad (Tutorial Blender: cómo agregar suciedad a una pared) y escritura. ¡Happy blending!

Si te gustó el artículo, compártelo con un amigo:

Artículos relacionados:

Blender: ladrillos de la pared con el modificador displace

En este tutorial para Blender en español (actualizado a Blender 2.93) continuamos con el mini-curso sobre cómo crear un muro ...

Lea el articulo >

Blender: ladrillos con adaptive subdivision/microdisplacement

En este tercer tutorial para Blender (actualizado a la versión 2.93) sobre la creación de un muro 3D a partir ...

Lea el articulo >

 

Vas a la lista de tutoriales: > Blender <