Un material es la suma de un conjunto de parámetros y mapas (que pueden ser imágenes o vídeos) que pueden ser asignados a la superficie de un modelo 3D para describir como este refleja y/o absorbe a luz. La mezcla de todas estas propiedades nos permitirá emular los materiales del mundo real tales como mármol, ladrillo, plásticos, metales, etc. En este tutorial veremos el material denominado Physical el cual viene incorporado en 3DSMAX y actualmente es el material por defecto, y nos servirá para representar de manera realista los materiales más utilizados en Arquitectura y diseño, ya que se basa precisamente en el material Arch & Design de Mental Ray.
Para desarrollar los temas de este apunte, puede descargar el archivo base realizando clic en el siguiente enlace: descargar archivo base.
Material Physical
Material Physical es un material el cual utiliza un modelo de sombreado que incluye los efectos de sombreado más acordes para representar los materiales del mundo real, al tiempo que mantiene un equilibrio entre la facilidad de uso y un diseño intuitivo y lógico. Como su nombre lo indica, este es un material que se basa en capas o “layers”, que además posee controles centrados en flujos de trabajo basados en la física real. Es el material por defecto en las versiones modernas de 3DSMAX y además, es compatible con el motor por defecto ART Renderer. Si bien este material puede utilizarse con Scanline Renderer, este no es adecuado ya que este motor de render solamente representa el material y por ello, carece de los efectos de sombreado más elaborados que sí posee el motor ART Renderer.
El material Physical incluye:
– un layer base el cual posee el color difuso o Diffuse, con una reflexión dieléctrica impulsada por Fresnel o mediante reflejos metálicos coloreados.
– un layer de transparencia o Transparency.
– dispersión bajo la superficie o Sub-Surface Scattering/translucidez o Translucency.
– un layer de emisión o autoiluminación.
– un layer transparente en la parte superior de este.
Para estudiar a fondo este material, primeramente debemos aprender algunos conceptos básicos como por ejemplo, la conservación de la energía. En el caso del material Physical, la “conservación de la energía” se define como una superposición de los diferentes efectos de sombreado. Por esto mismo, el material conserva la energía ya que asegura que la luz no se amplifique. La suma de los diversos componentes de sombreado nunca puede ser superior al 100%, lo que garantiza que la energía de la luz sólo se dispersa o absorbe, no se crea. La excepción a esto es el layer de emisión o autoiluminación, el cual agrega energía extra al material.
Nota: la conservación de energía funciona estrictamente en los parámetros de peso o “Weight” del material y por ello, los parámetros de color del material se ignoran.
Por todo lo anteriormente expuesto, debemos tener en cuenta lo siguiente:
– La Dispersión Sub-superficial o Sub-Surface Scattering (SSS) toma energía de la Difusión o Diffuse. Por esto mismo, si el peso (Weight) de Sub-Surface Scattering es 1.0, no hay Difusión.
– La transparencia o Transparency toma el peso de Diffuse y de Sub-Surface Scattering. Si el peso de Transparency es 1.0, no hay Diffuse o Sub-Surface Scattering.
– Las reflexiones (Reflections) toman el peso (Weight) de todas las demás capas.
– Cuando la opción Metalness toma el valor 0, el peso o Weight de Reflections toma en cuenta la dependencia angular la cual se encuentra en la persiana Advanced Reflectance Parameters (efecto Fresnel, el cual puede estar basado en el IOR -Índice de Refracción- o bien, en el manejo de los valores de la curva personalizada o Custom Curve). Incluso si el peso o Weight de la reflexión es 1.0, la reflectividad real es menor debido a la curva de Fresnel. La energía se toma desde Transparency/Diffuse/Sub-Surface Scattering sólo en relación con la cantidad definida por los valores de la curva.
– Cuando la opción Metalness toma el valor 1, Physical Material se considera opaco. Por esto mismo, no tiene efectos de Diffuse/Transparency/Sub-Surface Scattering.
– El layer transparente se encuentra encima de todas las demás capas, reduciendo la energía en función de cuánto refleja y el color de transparencia del recubrimiento.
– El layer de emisión (autoiluminación) es estrictamente aditivo y agrega energía luminosa de manera independiente. Por ello, no participa en la conservación de energía.
Una vez vistos sus principios básicos, ya estamos en condiciones de experimentar con el material. Para ello, podemos utilizar el archivo base que se incluye en este tutorial, y al abrirlo nos encontramos con la siguiente escena:
Esta representa un tablero y algunas piezas de ajedrez (reina, alfil y dos peones) que gracias a sus formas curvas, nos servirán como un buen ejemplo para ir probando y ejercitando los diferentes parámetros del material y apreciar los diferentes efectos en el render. Volviendo al material en sí, podemos acceder de manera fácil a Physical Material ya que este se encuentra de manera predeterminada en las versiones modernas de 3DSMAX, puesto que está pensado para ser utilizado preferentemente con el motor ART Renderer, el cual también viene por defecto. Por ello, en el editor de materiales Compact, podremos acceder al material seleccionando cualquier Slot ya que este posee por defecto varias muestras del material:
En este caso contamos con varios ejemplos interesantes de materiales ya configurados como plásticos, cerámicas o Car Paint (pintura metalizada). Ahora bien, si estamos en el editor de materiales Slate, obtener el material será bastante sencillo ya que bastará con ubicar la persiana llamada General y luego arrastrar el material Physical a la View1:
Una vez que hemos seleccionado y cargado el material en el Slot o en la View1, en los parámetros de edición de este podemos ver el logo de Physical Material y además tendremos las propiedades del material Physical, las cuales están en una distribución diferente respecto a los del material de tipo Standard. Al igual que en el caso del material Arch & Design, Physical Material comparte parámetros en común con este como por ejemplo los templates o materiales predefinidos aunque en este caso, tenemos más configuraciones disponibles y además estos se denominan Presets.
Atributos del material Physical
Si bien el material Physical posee presets ya predefinidos, cada uno de estos pueden ser editados de manera independiente ya que, al igual que en el caso de los materiales Standard y Arch & Design, tenemos diversos parámetros de edición de propiedades como por ejemplo Diffuse, Reflection, Refraction y Self Illumination aunque en el caso de Physical Material, Diffuse pasa a llamarse Base Color (color base). También tenemos parámetros propios de los shaders como por ejemplo, Anisotropy. Physical Material también incorpora mapas especiales (Special Maps) para lograr ciertos efectos especiales además del ya conocido Maps channel.
Un aspecto importante a destacar es que el material posee dos modos de edición: el modo Standard, el cual nos muestra los parámetros base para su edición mientras que en modo Advanced nos mostrará los parámetros ocultos. Podemos seleccionarlos desde la misma persiana Presets:
Por esto mismo, en esta segunda parte del tutorial sobre Physical Material, veremos las categorías base restantes como Translucencia, Reflexiones, revestimiento y anisotropía además de los mapas especiales para generar diversos efectos especiales en los objetos al aplicar el material. Los parámetros que tenemos disponibles en Physical Material son los siguientes:
Categoría Sub-Surface Scattering
– Sub-Surface Scattering (SSS) Weight: este parámetro modela la dispersión de la luz dentro del objeto, también conocido como Translucencia o en inglés, Translucency. La translucidez o “translucency” se maneja como un caso especial de la transparencia ya que antes de utilizar translucency, debe existir primero un cierto nivel de transparencia o Transparency. Un material es translúcido cuando deja pasar la luz, pero de manera que las formas se hagan irreconocibles ya que no se observan de forma nítida los objetos. Un buen ejemplo de translucidez son las manos al ser expuestas a una fuente luminosa, ya que en este caso la luz pasa por los dedos pero no se distingue “el hueso” del interior de estos:
Ejemplo de translucidez o translucency aplicado en una situación real.
A diferencia de Transparency, que hace que el objeto sea transparente, la dispersión subsuperficial o Sub-Surface Scattering transporta la luz dentro del material pero sin poder ver a través de él de manera significativa. La luz rebota y las diferentes longitudes de onda se absorben de manera diferente, lo que permite que la luz se coloree a medida que viaja en el material. Por esto mismo, para que este parámetro funcione el valor de Transparency debe ser necesariamente 0.
Render de elementos 3D con valores de Sub-Surface Scattering Weight en 0.0, 0.25, 0.5 y 1 respectivamente.
Un aspecto interesante de Sub-Surface Scattering weight es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado del valor o bien enlazando el mapa de la textura en el nodo del canal Scattering Map. Este reemplazará a cualquier valor asignado a SSS.
El mismo render anterior pero en este caso, se han cargado cuatro texturas diferentes en Scattering Map.
– Sub-Surface Scattering (SSS) Color: define el color de la translucencia, el cual usualmente suele ser el mismo color de base o Base color.
El mismo render anterior pero en este caso, se han cargado cuatro colores diferentes en Sub-Surface Scattering Color. En el caso de la primera pieza, el color de SSS Color es el mismo de Color Base mientras que en el resto son el amarillo, rojo y azul.
Un aspecto interesante de Sub-Surface Scattering Color es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado del valor o bien enlazando el mapa de la textura en el nodo del canal SSS Color Map. Este reemplazará a cualquier color asignado a SSS.
El mismo render anterior pero en este caso, se han cargado cuatro texturas diferentes en SSS Color Map.
– Scatter Color: define el color del interior del medio en el cual se dispersa la luz. Técnicamente, la profundidad (Depth) multiplicada por la escala (Scale) genera el “camino libre” de la dispersión de la luz dentro del medio, y el color de esta es un factor de escala adicional para el recorrido de esta.
Render de objetos 3D a los cuales se les ha aplicado el mismo color base pero se han cargado cuatro colores diferentes en Scatter Color. Los colores cargados, de izquierda a derecha, son: verde, amarillo, rojo y azul.
– SSS Depth: define la cantidad de difusión de la luz en el material. Por defecto, su valor es 10.
Render de elementos 3D con valores de SSS Depth en 0.1, 1, 5 y 10 respectivamente. En todos los casos, Scatter Color es rojo.
– SSS Scale: aplica un factor de escala a Depth. Scale es una escala lineal que se multiplica con la profundidad y que se le puede asignar una textura, lo que permite que la escala cambie a lo largo del objeto. Su rango varía entre 0 y 1. cuando el valor de Scale es 0, no se muestra Scattering Color en la dispersión de la luz.
El mismo render anterior, pero en este caso el valor de SSS Scale es 0 para todos los casos.
Un aspecto interesante de Sub-Surface Scattering Scale es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado del valor o bien enlazando el mapa de la textura en el nodo del canal SSS Scale Map. Esta se relacionará con el valor asignado a SSS Depth.
El mismo render anterior, pero en este caso se ha cargado una textura en SSS Scale.
Categoría Emission
– Emission Weight: define la medida relativa de la auto-iluminación del material. cuando esta toma el valor 0, la auto-iluminación se desactiva mientras que cuando su valor es 1, la auto-iluminación se activará ya que se tomarán en cuenta los parámetros de Luminance y Kelvin. Un aspecto interesante de Emission Weight es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado del valor o bien enlazando el mapa de la textura en el nodo del canal Emission Map. Esta se relacionará al valor de la intensidad o Luminance.
Render de elementos 3D con una textura cargada en Emission Weight. Las intensidades o Luminances se han modificado para apreciar mejor el efecto. Estas son, de izquierda a derecha,: 1.500 (por defecto), 5.000, 10.000 y 20.000 respectivamente.
– Luminance: define la intensidad de la auto-iluminación, medida en Cd/M². A mayor valor de intensidad o Luminance, el material se iluminará con mayor intensidad y viceversa. Se relaciona con Emission Weight.
Render de elementos 3D con distintas intensidades de Luminance y color por defecto en Emission Color. Las intensidades, de izquierda a derecha, son: 1.500 (por defecto), 5.000, 10.000 y 20.000 respectivamente.
– Emission Color: define el color de la auto-iluminación, el cual es afectado por la temperatura Kelvin.
Render de elementos 3D con Emission Weight en 1, Luminance en valor por defecto y colores aplicados a Emission Color. Los colores cargados, de izquierda a derecha, son: verde, amarillo, rojo y azul.
El mismo render anterior pero en este caso, se han ajustado las intensidades de las piezas modificando los valores de Luminance. Las intensidades, de izquierda a derecha, son: 1.500 (por defecto), 5.000, 10.000 y 20.000 respectivamente.
Un aspecto interesante de Emission Color es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado del valor o bien enlazando el mapa de la textura en el nodo del canal Emission Color Map. Esta se relacionará con el valor asignado en Luminance.
El mismo render anterior pero en este caso, se ha cargado una textura en Emission Color Map. Las intensidades, de izquierda a derecha, son: 1.500 (por defecto), 5.000, 10.000 y 20.000 respectivamente.
– Kelvin: define la temperatura de la emisión expresada en grados Kelvin (K°) la cual afectará al color de esta. Valores menores de Kelvin generarán luces de tipo cálido mientras que los valores altos generarán luces frías. Su rango varía entre 3.000 y 20.000.
Render de elementos 3D con Luminance en valor 5.000 y color por defecto aplicado a Emission Color Map. Temperaturas de Kelvin aplicadas, de izquierda a derecha: 3.000, 6.500 (por defecto), 10.000 y 20.000.
El mismo render anterior pero en este caso, se ha cargado una textura en Emission Color Map.
Persiana Coating Parameters
Además de los parámetros base, Physical Material posee una función para revestir el material mismo llamada “Coating”. Este actúa como una capa transparente que se jerarquiza por sobre todos los demás efectos de sombreado. Por definición, el recubrimiento es siempre reflectante (con la rugosidad dada) y se supone que es dieléctrico, es decir, posee baja conductividad. La reflectividad se basa en la ecuación de Fresnel del IOR de revestimiento dado, y los reflejos son siempre de color blanco. Los parámetros de los que disponemos en esta persiana son los siguientes:
– Clearcoat Weight: determina la medida o peso del revestimiento, y varía entre 0 y 1.
Render de elementos 3D, con valores de Clearcoat Weight de 0.0, 0.25, 0.5 y 1 respectivamente.
El mismo render anterior, pero con una textura cargada en Color Base Map.
Un aspecto interesante de Clearcoat Weight es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado de la opción o bien enlazando el mapa de la textura en el nodo del canal Coating Weight Map. Esta reemplazará a cualquier valor que hayamos colocado en Clearcoat Weight.
El mismo render anterior, pero con diversas texturas cargadas en Clearcoat Weight Map.
– Clearcoat Color: determina el color del revestimiento. El material subyacente se enviará a través de este color donde esté presente el recubrimiento.
Render de elementos 3D, con colores diferentes en Clearcoat Color. En todos los casos, el valor de Clearcoat Weight es 1.
Un aspecto interesante de Clearcoat Color es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado de la opción o bien enlazando el mapa de la textura en el nodo del canal Coating Color Map. Esta reemplazará a cualquier color que hayamos colocado en Clearcoat Color.
El mismo render anterior, pero con diversas texturas cargadas en Clearcoat Color Map.
– Clearcoat Roughness: define el número de desigualdades, crestas o proyecciones en la superficie. si presionamos la opción Inv se invierte el nivel de Rugosidad para comportarse como brillo.
Render de elementos 3D, con valores de Clearcoat Roughness de 0.0, 0.25, 0.5 y 1 respectivamente.
El mismo render anterior, pero con una textura cargada en Color Base Map.
Un aspecto interesante de Clearcoat Roughness es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado de la opción o bien enlazando el mapa de la textura en el nodo del canal Coating Roughness Map. Esta reemplazará a cualquier color que hayamos colocado en Clearcoat Roughness.
El mismo render anterior, pero con diversas texturas cargadas en Clearcoat Roughness Map.
– Coating IOR: define el índice de refracción del recubrimiento, cuyos valores son los mismos utilizados en IOR normal. Este índice afecta solamente a la dependencia angular de las refracciones, ya que el recubrimiento en sí mismo no refracta la luz.
Ejemplo de modelos 3D con valor de Clearcoat Weight de 1. Los valores de IOR asignados de izquierda a derecha son: 1.0 (aire), 1.33 (agua), 1.52 (solución de azúcar, por defecto) y 2.42 (diamante).
El mismo render anterior, pero con una textura cargada en Color Base Map.
En el mundo real cuando se recubre un material, hay una cierta cantidad de reflejos internos en el interior del recubrimiento. Esto hace que la luz rebote en la superficie varias veces antes de escapar del material, lo que permite que el color de este tenga un efecto mejorado (un ejemplo de esto es la madera barnizada). Este efecto se puede lograr utilizando el parámetro llamado Afectar color subyacente o Affect Underlying. Los parámetros de los que disponemos son:
– Color: define el nivel de efecto o injerencia que tiene el recubrimiento sobre los materiales subyacentes, al hacer que el color sea más oscuro y más saturado. Por defecto, su valor es 0,5.
Render de elementos 3D, con valores de Color de 0.0, 0.25, 0.5 y 1 respectivamente.
El mismo render anterior, pero con una textura cargada en Color Base Map.
– Roughness: define el nivel de efecto o injerencia que tiene el recubrimiento sobre la rugosidad de los materiales subyacentes. Cuanto más rugoso sea el revestimiento, mayor será el efecto sobre la rugosidad de los materiales subyacentes.
Render de elementos 3D, con valores de Roughness de 0.0, 0.25, 0.5 y 1 respectivamente.
El mismo render anterior, pero con una textura cargada en Color Base Map.
Categoría Reflections (Disponible en modo Advanced)
En este caso, al seleccionar el modo Advanced la categoría Color Base and reflections se reorganiza y por ello, se crea l anueva categoría llamada Reflections. Los parámetros Metalness e IOR son los mismos que se han estudiado antes pero, se agrega un nuevo Roughness el que se relaciona directamente con Anisotropy ya que en este caso, Roughness define la rugosidad del brillo y por ende, dependiendo de este valor los brillos podrán ser editados mediante la persiana Anisotropy. En esta nueva categoría se agregan parámetros nuevos los cuales son:
– Reflectivity Weight: define la medida relativa de los reflejos o reflexiones. Generalmente, basta con el valor 1 para obtener resultados realistas y además no tiene ningún efecto sobre los metales, ya que por definición estos se reflejan.
Render de elementos 3D con valores de reflectivity Weight en 0.0, 0.25, 0.5 y 1 respectivamente.
El mismo render anterior pero con una textura cargada en Base Color Map.
Un aspecto interesante de Reflectivity Weight es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado del valor o bien enlazando el mapa de la textura en el nodo del canal Reflectivity Map. Esta se relacionará con el valor asignado en Luminance.
El mismo render anterior pero con una textura cargada en Reflectivity Map.
– Reflectivity Color: define el color de los reflejos. Este parámetro generalmente se deja en blanco para obtener resultados realistas. Para el caso de los metales, solo se ve afectado el color de la reflexión en los ángulos de observación.
Render de elementos 3D con colores cargados en Reflectivity Color. Los colores cargados, de izquierda a derecha, son: verde, amarillo, rojo y azul.
El mismo render anterior pero con una textura cargada en Base Color Map.
Un aspecto interesante de Reflectivity Color es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado del valor o bien enlazando el mapa de la textura en el nodo del canal Refl Color Map.
Persiana Anisotropy
La anisotropía es un efecto que se observa en materiales como el metal pulido, donde una dirección de grano particular da el efecto visual de tener una rugosidad superficial diferente en diferentes direcciones. Las luces y los reflejos aparecen “estirados” en una dirección particular. Por esto mismo, el parámetro Anisotropy define qué tan “elástico” es el efecto. En principio, es la relación entre los valores de la rugosidad horizontal y vertical. Esto significa que un valor de 1.0, no se estira. Esta está relacionada con el parámetro Roughness de la categoría Reflections, ya que en este caso el valor de este definirá la forma de los brillos las cuales podremos controlar mediante Anisotropy. Por ello, los parámetros son los siguientes:
– Anisotropy: mediante esta opción podremos crear reflejos y refracciones de tipo anisotrópico ya que este controla la forma de los reflejos. Con el valor 1, el reflejo es redondo y se desactiva el efecto. Por ende, esto implica que no existe ninguna anisotropía. Con el valor 0.01, el reflejo es de forma alargada. Los valores mayores o menores a 1 influirán en la forma final de los reflejos.
Ejemplo de modelos 3D en los cuales se ha aplicado Anisotropy con valores menores que 1 y el valor de Reflectivity Roughness es 0,5. Los valores de Anisotropy, de izquierda a derecha, son: 0.01, 0.25, 0.5 y 1.
Ejemplo de modelos 3D en los cuales se ha aplicado Anisotropy con valores menores que 1 y el valor de Reflectivity Roughness es 0,5. Los valores de Anisotropy, de izquierda a derecha, son: 1, 8, 16 y 32.
Un aspecto interesante de Anisotropy es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado de la opción o bien enlazando el mapa de la textura en el nodo del canal Anisotropy Map. Esta reemplazará el valor que hayamos especificado.
Ejemplo de modelos 3D en los cuales se ha aplicado Anisotropy con valores menores que 1 (0.01, 0.5 y 1). Sin embargo, esta vez se les ha aplicado una textura en Anisotropy Map.
Ejemplo de modelos 3D en los cuales se ha aplicado Anisotropy con valores mayores que 1 (1, 8 y 16). Sin embargo, esta vez se les ha aplicado una textura en Anisotropy Map.
– Rotation: esta opción nos permite cambiar la orientación de los reflejos. Este valor puede variar de 0 a 1 con el valor 1 = 360°. Así, por ejemplo, el valor 0,125 equivaldrá al ángulo de 45°, el valor 0.25 equivaldrá al ángulo de 90° y el valor 0.5 equivaldrá al ángulo de 180°.
Aplicación de Rotation en el material, con valores de 0,0 y 0,25. El valor de Anisotropy es de 8.
Un aspecto interesante de Rotation es que al igual que en el caso de Base Color, se le puede cargar una textura en el cuadro del lado de la opción o bien enlazando el mapa de la textura en el nodo del canal Anisotropy Angle Map. Esta predominará por sobre los valores establecidos en Rotation.
Podemos ver un ejemplo de la aplicación de Rotation en el render siguiente:
Ejemplo de modelos 3D en los cuales se ha aplicado Anisotropy con valor 8 y diferentes valores en Rotation. De izquierda a derecha: 0, 0.25, 0.85 y en la últi,ma pieza se ha aplicado una textura en Anisotropy Angle Map.
Tip: Cuando se utiliza una textura para Anisotropy Angle Map, debemos asegurarnos que esta no tenga filtros antialiasing. Esto se puede hacer mediante el establecimiento de parámetros de Blur de la textura en 0,01. De lo contrario, los píxeles con antialiasing causarán vórtices locales en la anisotropía que aparecerán como errores en el texturizado.
– Automatic/Map channel: en valores de 0 o superiores, este parámetro nos permite aplicar opcionalmente anisotropía a un canal de mapa específico. Cuando se establece en Automatic, la rotación utiliza las coordenadas locales del objeto. Si elegimos Map Channel y establecemos un número de canal en Channel number, la rotación utiliza el espacio de cooordenadas del canal de mapeo especificado.
Persiana Special Maps
En esta persiana podremos agregar mapas complementarios al material que nos permitirán realizar diferentes tipos de efectos en este. Al igual que en el caso del material Standard de Scanline Renderer, podremos agregar el ya conocido mapa de relieve o Bump (de forma normal o por Coating), el mapa de desplazamiento o Displacement y un mapa llamado Cutout que funciona de igual forma que el mapa Cutouts de AutoCAD, es decir, que insertando este mapa podremos transparentar fondos para dejar visibles los contornos de una imagen. demás está decir que podremos editar el porcentaje de influencia de cada mapa si modificamos los valores por defecto, y además podremos cargar los mapas o texturas si presionamos el botón No Map. En el caso del editor Slate, podemos enlazar las texturas a los nodos respectivos los cuales se denominan Bump Map, Coating Bump Map, Displacement Map y Cutout Map.
Configuración de texturas y render de modelos 3D donde se aplican, de izquierda a derecha: mapa Bump, Coating Bump, Displacement y Cutout. En todos los casos, a excepción de Displacement, se ha utilizado la misma textura de Color Base.
Este es el fin de este tutorial. Puede ir a la parte 1 del mismo mediante este enlace.
Bibliografía utilizada: – Base de conocimientos de Autodesk: https://knowledge.autodesk.com/. |