Materiales: canales de mapas de material Standard, parte 2 (desde Self-Illumination a Displacement)

Uno de los principales objetivos de un artista CG es emular el mundo real pero dentro de un mundo virtual 3D. Para poder lograr hacer esto. Primero debemos comprender como la luz interactúa con los objetos que nos rodean. Debemos observar detenidamente los resaltes, colores, reflexiones de todas las cosas que estén en nuestro entorno y también fotografiar o escanear superficies de objetos para que después nos puedan servir de referencia o como una textura. Por ello, generar escenas de carácter fotorrealista dependerá más de cómo configuremos las luces y los materiales que de cómo modelemos los objetos. Una buena iluminación y texturas pueden mejorar enormemente un modelo mediocre y por el contrario, una pobre iluminación y texturas pueden arruinar por completo un excelente modelo.

En el mundo del 3D hay varias de técnicas de iluminación realística que varían dependiendo del programa que utilicemos, pero las principales son: Radiosity (radiosidad), Caustic (cáusticas), Photon map (mapa de fotones), LightTtracer (trazador de luz) y HDRI (High Dynamic Range Image). Todas estas caen dentro de una categoría general llamada Iluminación Indirecta, generalmente llamada GI o Global Ilumination. Todas estas técnicas dependerán del motor de render que usemos ya que por ejemplo, en 3DSMAX tenemos por defecto de un motor de render llamado escaneo de líneas o ”scanline” (Scanline Renderer) el cual podemos utilizar para generar GI mediante las técnicas de Radiosity y de Light Tracer. Alternativamente, tenemos el motor de render denominado Mental Ray con el cual podemos utilizar efectos cáusticos, mapeo de fotones y una gran variedad de efectos, ya que este motor de render cuenta con su propia librería de materiales shaders y mapas procedurales.

En este apunte sobre materiales veremos los parámetros generales de los canales o mapas y su aplicación práctica, ya que se verán los tipos de mapas principales y también se crearán algunos materiales que incluso podremos utilizar en otros motores de render. Para desarrollar los temas de este, puede descargar los archivos de base realizando clic en los siguientes enlaces: descargar archivo base y descargar texturas base.

Definición y tipos de Mapas

Ya hemos visto los parámetros o canales más importantes de los Shaders de 3DSMAX, los cuales son utilizados preferentemente en el motor de render Scanline Renderer ya que hay algunos que son exclusivos para este motor aunque la mayor parte de estos canales también pueden ser utilizados en otros motores de render. Sin embargo, en este apunte veremos otra persiana muy importante del material Standard la cual es la persiana llamada Maps:

Esta nos permite acceder de forma rápida a todos los canales del material y nos permitirá asignar mapas o texturas a estos. En esta persiana encontramos 12 canales diferentes de mapas que representan las características de la superficie de un objeto que podemos modificar y perfeccionar utilizando cualquier tipo de imagen, vídeo o secuencia. Sin los canales de mapas, los materiales sólo tendrían un color sólido y uniforme. Además, los mapas nos permitirán representar materiales reales y simular texturas complejas como por ejemplo una alfombra o un mármol, agregar propiedades reflexivas a las superficies, simular relieve, etc. Mediante el valor Amount podemos regular la intensidad de los canales, controlando por ejemplo el nivel de transparencia o de reflexión, o también la mezcla entre el color y la textura, como por ejemplo en el caso de diffuse el cual puede verse en el ejemplo siguiente:

Veremos los mapas y sus aplicaciones prácticas mediante un ejercicio sencillo el cual está en el archivo base del apunte. Al abrirlo, nos encontraremos con lo siguiente:

La escena es una tetera de Newell a la cual se le ha aplicado el modificador Edit Poly y UVW Map, además de tener cargado el motor de render por defecto llamado Art Renderer. Lo único que debemos hacer es invocar al editor de materiales mediante M y al hacerlo, veremos varios mapas ya precargados que invocarán a las texturas de base para el desarrollo del ejercicio. Si estas no se encuentran cargadas, podemos hacerlo de la siguiente manera: haremos doble clic en cada mapa (1) y en los parámetros de configuración haremos clic en la fuente de origen de la imagen (Bitmap) de la la persiana Bitmap Parameters (2).

Una vez realizado lo anterior, nos bastará ir a la carpeta donde descargamos las imágenes y elegir la adecuada a cada mapa:

Repetiremos el proceso con el resto de los mapas hasta completar la carga de todas las imágenes. Si bien ya estudiamos las propiedades base de cada canal del material Standard, lo que haremos en este apunte es ver los efectos de las texturas en estos mismos ya que en varios de ellos, podemos cargar un mapa o una textura los cuales modificarán las propiedades o realizarán ciertos efectos especiales que necesitemos en los materiales que creamos. En esta segunda parte, comenzaremos con el canal Self-Illumination.

Canal Self-Illumination (Auto-iluminación)

Ahora aplicaremos una textura en el canal Self-Illumination y para ello, desactivamos los mapas de Specular y Glossiness. Ahora insertaremos la textura llamada textura_selfillumination.png de forma similar a como lo hicimos con los otros canales, para luego realizar un render:

El resultado del render es el siguiente:

Si vemos la textura 2D y la comparamos con la de Diffuse, notaremos que es la misma pero que posee líneas blancas, por lo que podemos concluir que a medida que nos acerquemos al blanco mayor será la auto-iluminación del objeto, ya que este mapa aplica el efecto en base a la intensidad de los pixeles del mapa.

Un aspecto interesante de este canal es que la intensidad de Self-Illumination no tendrá efecto si cargamos una textura, pero si elegimos cualquier color para la auto-iluminación el render será diferente al del valor aunque siempre será el mismo, tal como se aprecia en el siguiente ejemplo:

Render de la textura en el canal Self-Illumination, pero en este caso se activa la opción color de la auto-iluminación en lugar de su intensidad.

Si en la persiana Maps bajamos el valor de Amount de este canal, haremos la textura más transparente y por ello, se irá mezclando con el color o el valor de Self-Illumination según lo que hayamos elegido.

Canal Opacity (Opacidad o Transparencia)

Ahora aplicaremos el efecto de transparencia u opacity a nuestro material mediante la carga de una textura. Para este caso, dejamos solamente la textura del canal Diffuse y en el canal Opacity, insertaremos la textura llamada textura_opacity.png y luego realizaremos un render.

El resultado es el siguiente:

Si vemos la textura 2D, notaremos que es del mismo tamaño que la de Diffuse pero tenemos dos líneas blancas y una principal negra. Si nos fijamos en el render, ocurre algo muy interesante puesto que las zonas en las que se ve nuestra textura son justamente las que están en blanco mientras que las zonas negras la harán transparente o invisible, por lo que podemos concluir que las zonas oscuras o negras tenderán a ser transparentes y las zonas que tiendan a ser blancas serán opacas. Las zonas intermedias serán semitransparentes. Si agregamos un valor a Specular Level, podremos ver el “contorno” del objeto en el que están contenidas las texturas:

Renderizado anterior pero con el valor de Specular Level en 20.

Un aspecto interesante de este canal es que la intensidad de Opacity no tendrá efecto si cargamos una textura ya que por defecto es esta la que genera la transparencia. Si en la persiana Maps bajamos el valor de Amount de este canal, haremos la textura más opaca y por ello, se irá mezclando con el valor de Opacity. En este caso, 100 representa la transparencia máxima mientras que el valor 0 es opacidad pura:

Renderizado anterior pero con el valor de Opacity en 100, mientras que en Maps su valor es 80.

El mapa Opacity (conocido como Cutouts en AutoCAD) es uno de los más importantes pues nos permite, por ejemplo, colocar árboles 2D en nuestra escena 3D. Al renderizarla, se verá el árbol sin el fondo gracias a que en estos casos tendremos un mapa de opacity en que el árbol está representado en blanco mientras su fondo será negro y, por ende, provocará la transparencia.

Mapas diffuse y opacity de un árbol 2D.

Arbol 2D realizado mediante mapas Diffuse y Opacity. El árbol está contenido en un plano vertical.

El mismo árbol 2D anterior renderizado en Art Renderer, donde notamos que gracias al mapa opacity el fondo es transparente y, por ende, la sombra respeta el árbol original a pesar de estar contenido en un plano 2D.

Canal Bump (Relieve)

Ahora en el canal Bump generaremos el efecto de relieve. Para ello, desactivamos todos los mapas dejando sólo Diffuse para luego insertar la textura llamada textura_bump.png. Para que se aprecie bien el efecto, modificaremos el valor de Bump a 100 y realizamos un render.

El resultado es el siguiente:

Si nos fijamos bien en el render, podemos concluir que Bump utiliza la imagen en escala de grises para simular un efecto de relieve sobre una superficie aunque este NO mpdifica la geometría del objeto. Con esto podemos simular ralladuras, detalles de terminaciones, baldosas, etc. y por ello, este es otro de los mapas importantes pues podremos generar materiales porosos como la piedra, el hormigón, la madera sin pulir o el ladrillo. si bien se puede utilizar incluso la textura base (Diffuse), se recomienda que la textura Bump sea en escala de grises ya que el efecto es más realista.

A diferencia de los otros canales, Bump no posee un parámetro asociado y por lo tanto, solamente se puede aumentar o disminuir el efecto de relieve mediante Amount:

El renderizado anterior pero en este caso, se ha aumentado el valor de Bump a 500.

Canal Displacement (Desplazamiento)

En el canal Displacement, insertaremos la textura llamada textura_displacement.png y realizamos un render.

El resultado es el de la imagen siguiente:

Si nos fijamos en el render, podemos concluir que este mapa es el único que modifica la geometría del objeto 3D, pero sólo funciona en objetos de tipo Editable Poly o que lo tengan aplicado como modificador como en el caso del archivo base. Además, el objeto debe tener un número de subdivisiones importante para que se aprecie mejor el efecto de este mapa. Al igual que en el caso de Bump, Displacement no posee un parámetro asociado y por lo tanto, solamente se puede aumentar o disminuir el efecto mediante Amount:

El renderizado anterior pero en este caso, se ha disminuido el valor de Displacement a 30.

Sin embargo, podemos cambiar el tipo de deformación si aplicamos al objeto el modificador llamado Displacement Approx, ya que este permite elegir entre cuatro tipos de subdivisión que son: Regular, Spatial, Curvature o Spatial and Curvature. En cada tipo podremos modificar parámetros específicos para obtener diferentes efectos.

El renderizado anterior pero en este caso, se ha modificado el tipo de deformación mediante el modificador Disp. Approx.

Canales Filter Color, Reflexión y Refracción (disponible en motor de render Scanline Renderer)

Los canales de Filter Color, Reflection y Refraction solamente están disponibles en el motor de render Scanline renderer, ya que están relacionados con el parámetro Falloff. Por ello, cambiamos el motor de render a Scanline Renderer y en el archivo de nuestro ejercicio, cargaremos la textura usada en diffuse en Filter Color y además modificaremos los parámetros de Falloff, de tal modo que tanto In como en Out el valor de Amount sea 100.

El resultado de los renderizados es el siguiente:

Renderizado con Falloff In en 100.

Renderizado con Falloff Out en 100.

Si nos fijamos bien en los renders podemos concluir que el Filter Color es el que se transmite a través de los materiales transparentes o semitransparentes (falloff), por lo que la textura aplicada reemplazará al color asignado en Filter color de Falloff.

En cuanto al Canal de Reflexión o Reflection, este utiliza un mapa para simular el tipo y el nivel de reflexión sobre una superficie. La Reflexión se define como el reflejo de los rayos de luz en la superficie de los objetos, y este canal determina cuan reflexivo y en qué zonas lo es un objeto. También debemos tomar en cuenta que la reflexión nunca es del 100% ya que en la realidad siempre hay distorsiones o hay daños en las superficies a reflejar. En 3DSMAX, podemos definir 3 tipos de mapas de reflexión:

  • Reflexión básica: en este caso, se puede utilizar una imagen de tipo Bitmap u otro mapa procedural (como por ejemplo Falloff) para simular la reflexión. En el caso de nuestro ejercicio, aplicaremos el mapa de Specular en el canal de Reflection para luego bajar su valor a 20 en la persiana Maps. Luego, hacemos un render:

El resultado es el siguiente:

Por lo general, el mapa de Reflexión se realiza en escala de grises ya que las zonas más claras generarán la reflexión mientras las zonas oscuras harán todo lo contrario. Podemos probar con las otras texturas para lograr diversos resultados en el render.

Renderizado utilizando la textura Displacement.

  • Reflexión de Flat mirror: como su nombre lo indica, para generar esta reflexión se utiliza el mapa denominado Flat Mirror como mapa de reflexión pero este posee una limitación: sólo funciona con caras coplanares, es decir, que sean parte de un mismo plano (como por ejemplo un espejo). No funcionará en un objeto no coplanar como puede ser una esfera o en el caso de este tutorial, con nuestra tetera. Para que el efecto funcione, el color Diffuse debe ser diferente al gris y se debe cargar el mapa en el mapa correspondiente.

Renderizado mediante Flat Mirror, con un color cargado en Diffuse.

Renderizado mediante Flat Mirror, con una textura cargada en Diffuse.

  • Reflexión automática: en este caso, se utilizan mapas procedurales como Raytrace o Reflect/Refract. Estos mapas nos dan una aproximación bastante realista y más precisa que la reflexión básica, y no tienen las limitaciones del mapa Flat Mirror.

Renderizado con el mapa Raytrace aplicado en el canal Reflection.

Como corolario podemos decir que los mapas de reflexión automática como Reflect/Refract, Raytrace y también Flat Mirror no necesitan “coordenadas de mapeo”, pero sí las necesitaría un mapa de reflexión básica ya que este básicamente es una textura.

Respecto al canal de Refracción o Refraction, esta se define como el cambio de dirección de los rayos de luz al traspasar un material. Este efecto lo podemos ver en piscinas, el interior de una botella o un vaso, donde se produce distorsión al mirar entre estos debido justamente a este fenómeno. En el caso de 3DSMAX, este utiliza un mapa para simularla y por ello, materiales como el cristal, el vidrio o el agua necesitan de este canal para verse de manera realista. El tipo de mapeado es similar al del canal de reflexión. Podemos utilizar tanto mapas de imágenes, como también mapas de tipo Reflect/refract, Raytrace o también un mapa especialmente diseñado para muros llamado The Wall Refraction. Por ejemplo, si aplicamos el mapa Diffuse a nuestra tetera en el canal Refraction y luego ejecutamos un render, el resultado sería el de la imagen de abajo:

Podemos mejorar la refracción aplicando mapas como Raytrace o reflect/refract, que nos dará un resultado más preciso y realista. Eso sí, al igual que en la reflexión, la refracción nunca es 100% ya que este valor haría al objeto totalmente invisible.

Renderizado con el mapa Raytrace aplicado, con valor de refracción en 40.

Como las propiedades físicas de los objetos refractarios distorsionan la imagen que hay detrás del objeto, en Falloff existe un parámetro especial que controla esto y se llama IOR o Index of Refraction (índice de Refracción) y que la mayor parte de los materiales traslúcidos reales lo poseen. Este controla el grado en que el material refracta la luz transmitida, además que en la realidad los materiales traslúcidos lo poseen. Con el valor 1 (IOR del aire) no hay distorsión, en valores superiores a 1 sí existe distorsión.

El ejemplo anterior pero se ha modificado el valor de Index Of Refraction (IOR) a 2. En este caso además, se ha ajustado el valor de Falloff In en 100 para apreciar la deformación.

También es importante destacar que para que los materiales traslúcidos tengan realismo, se debe aplicar tanto reflexión como refracción aunque esto dependerá del tipo de material ya que, por ejemplo, un vidrio al ácido no tendrá el mismo valor de refracción que el cristal puro.

El ejemplo anterior con el mapa Raytrace aplicado en ambos canales, con una reflexión de 50 y una refracción de 40.

Debemos tener en cuenta que, si renderizamos ambos canales con mapas de Raytrace aplicados, el tiempo de render se hará considerablemente largo pero el resultado es mucho más real y preciso que con otros métodos, aunque debemos tener en cuenta el valor de reflexión y refracción que le damos al modelo. El render de abajo, por ejemplo, fue realizado sólo con los mapas de Reflection y Refraction, además de un color azulado en Diffusse y un Opacity de 90, activando la opción 2 sided.

Print Friendly, PDF & Email

¿Qué tan útil fue este artículo? Haga click en una estrella para puntuarlo

Puntuación media 5 / 5. contador de votos: 1

No hay votos. Sea el primero en calificar esta publicación.

5
(1)

Deje un comentario en este artículo