3DSMAX Tutorial 06c: Materiales Arch & Design (Mental Ray)

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 especial veremos el material denominado Arch & Design el cual es exclusivo del motor de render Mental Ray, el cual viene incorporado en 3DSMAX y nos servirá para representar de manera realista los materiales más utilizados en Arquitectura y diseño.

Materiales Arch & Design

El material denominado Arch & Design es fundamental a la hora de realizar renders mediante el motor de render Mental Ray ya que este emula de manera convincente varios materiales conocidos en el área de la Arquitectura como por ejemplo el concreto, las cerámicas o elementos traslúcidos como vidrios o cristales. Como este material es exclusivo de Mental Ray sólo funciona si este motor de render está activado, si lo aplicamos en otro motor de render los materiales no serán visibles.

Tip: si tenemos instalado 3DSMAX Design en lugar de 3DSMAX, los materiales mostrados por defecto en todos los slots del editor de materiales serán los de Arch & Design.

Si estamos en el motor de render Mental Ray, podremos acceder al material Arch & Design cambiando el material en cualquier Slot para acceder al explorador de materiales (Material/Map Browser). Una vez allí, buscamos el material el cual está debajo de los materiales Standard, dentro de una persiana llamada Mental ray. Además del material mismo, en Mental ray encontraremos otros materiales propios de Autodesk y algunos de ellos son muy útiles como Metallic Paint, Car paint y Autodesk Ceramic. Una vez que hemos seleccionado y cargado el material en el Slot, el resultado es el siguiente:

Como notamos en la imagen, podemos ver el logo de Arch & Design y además tendremos los parámetros generales y propiedades del material los cuales están en una distribución diferente respecto a los del material de tipo Standard. En este caso no tendremos shaders ni configuraciones tan avanzadas como aquel, pero en Arch & Design dispondremos de materiales ya preconfigurados o también llamados “templates”, que simulan de forma realista los materiales más utilizados en Arquitectura y Diseño (de ahí su nombre). Los templates que disponemos son los siguientes:

Categoría Appearance & Attributes:

Matte finish: es un acabado de tipo mate u opaco, ya que posee entre un 5 y 10% de brillo. Es ideal para simular por ejemplo, una pintura sin brillo como el látex.

mr_arch_design04_mattefinish

Pearl finish: es el acabado perlado, el cual es semi-opaco ya que este posee entre un 20 y 35% de brillo. Se utiliza comúnmente en las pinturas de ventanas y sillas, aunque también puede usarse en paredes.

mr_arch_design04_pearlfinish

Glossy finish: es el acabado brillante ya que esta posee entre un 70 y 85% de brillo. Se utiliza preferentemente en las pinturas de adornos, puertas y armarios o para emular óleo.

mr_arch_design04_glossyfinish

Categoría Finishes:

Satin Varnished Wood: es la madera barnizada y satinada. El satinado se define como un tratamiento específico para lograr superficies tersas y brillantes o también se puede definir como un acabado intermedio entre opaco y brillante. Este tipo de acabado favorece la iluminación ambiental haciendo los espacios agradables a la vista. En este caso, el template incorpora su propia textura de madera.

mr_arch_design04_satinvarnishedwood

Glossy Varnished Wood: es la madera barnizada y brillante. Este template emula perfectamente una superficie de madera con brillo. En este caso, el template incorpora su propia textura de madera.

mr_arch_design04_glossyvarnishedwood

Rough Concrete: corresponde al concreto rugoso o en bruto. Al igual que en el caso anterior, este template incorpora su propio mapa para simular el relieve del hormigón.

mr_arch_design04_roughconcrete

Polished Concrete: corresponde al hormigón pulido y por ello con una superficie brillante, y se utiliza preferentemente en pisos y estacionamientos, además de proyectos de tipo industrial.

mr_arch_design04_polishedconcrete

Glazed Ceramic: corresponde a la cerámica brillante o vidriada y es perfecta para pisos, revestimientos y adornos de decoración.

mr_arch_design04_glazedceramic

Glazed Ceramic Tiles: es similar a la anterior pero es ideal para pisos ya que además de las cualidades de Glazed ceramic disponemos de todas las opciones que nos da el mapa tiles.

mr_arch_design04_glezadceramictiles

Glossy Plastic: corresponde al plástico brillante, y es perfecto para emular elementos de decoración y artefactos de cocina.

mr_arch_design04_glossyplastic

Matte Plastic: es un plástico pero con mucho menos brillo que en el caso de glossy, y se utiliza para definir la mayoría de los objetos que están hechos de este material.

mr_arch_design04_matteplastic

Masonry: corresponde a la albañilería. En este caso este template trae sus propias texturas que nos permiten emular ladrillos, ya que además de la textura diffusse incorpora relieve (Bump).

mr_arch_design04_masonry

Rubber: corresponde al material de caucho, y es utilizado preferentemente utilizado para emular elementos como neumáticos o gomas.

mr_arch_design04_rubber

Leather: corresponde al material de cuero, y es utilizado para emular elementos como ropa y tapicería hechas de este material. En este caso el template incorpora relieve (Bump).

mr_arch_design04_leather

Categoría Transparent Materials:

Glass (Thin Geometry): corresponde al vidrio pero en este caso sólo tomará en cuenta las dos dimensiones principales y no el espesor del vidrio, por lo tanto se recomienda colocar este template en elementos planos o bidimensionales como marcos.

mr_arch_design04_glassthingeometry

Glass (Solid Geometry): corresponde al vidrio emulado de forma realista ya que a diferencia del anterior este sí toma en cuenta el espesor o grosor, por lo tanto es perfecto para emular elementos de cristal como ventanas u adornos.

mr_arch_design04_glasssolidgeometry

Glass (Physical): este vidrio es el más completo de todos ya que además de tomar en cuenta las tres dimensiones, también incorpora la densidad del cristal haciendo que la emulación sea muy realista.

mr_arch_design04_glassphysical

Frosted Glass (Physical): es una variante del anterior pero en este caso es un cristal poroso o escarchado, que emula el cristal al ácido.

mr_arch_design04_glassfrostedphysical

Translucent Plastic Film (Thin): corresponde a la película de plástico traslúcido o también llamado acetato. en este caso funciona de manera similar a Glass Thin Geometry ya que toma en cuenta superficies bidimensionales.

mr_arch_design04_translucentplasticfilm_light

Translucent Plastic Film (Opaque): es una variante del anterior pero en este caso esta película toma en cuenta la geometría sólida del objeto.

mr_arch_design04_translucentplasticfilm_opaque

Water Reflective Surface: este template simula aguas poco profundas o a una distancia corta de cámara ya que no es transparente, pero es un buen material a la hora de realizar un render ya que ahorra bastante tiempo.

mr_arch_design04_waterreflectivesurface

Categoría Metals:

Chrome: simula el cromado de un metal. El cromo se define como un metal 100% reflectante, y se utiliza sobre todo en superficies metálicas muy pulidas como algunos adornos o elementos decorativos.

mr_arch_design04_chrome

Brushed Metal: corresponde al metal pulido el cual es básicamente un cromado pero con reflexiones borrosas. Es útil para la mayoría de las superficies metálicas.

mr_arch_design04_brushedmetal

Satined Metal: corresponde al metal satinado el cual es parecido al metal pulido pero con mayor opacidad, y es adecuado para superficies de aluminio o también para emular el acero inoxidable.

mr_arch_design04_satinedmetal

Copper: este material emula el cobre y con algunos ajustes también puede emular otros metales de brillo intenso como el oro o la plata.

mr_arch_design04_copper

Patterned Copper: es una variante del anterior pero en este caso se agrega un patrón o trama, y es más oscuro que Copper aunque se añade algo más de brillo, especularidad y sombreado de reflexión.

mr_arch_design04_patternedcopper

Atributos del material Arch & Design

Si bien el material Arch & Design posee templates ya predefinidos, cada uno de estos pueden ser editados ya que al igual que en el caso de los materiales Standard tenemos diversos parámetros de edición, algunos de ellos ya conocidos. Los parámetros que tenemos son los siguientes:

Categoría Diffuse:

mr_arch_design05a

Diffuse level: permite controlar el nivel de brillo del componente del color difuso (textura o el color del material). Si el valor de Diffuse level es menor que 1, se irá oscureciendo hasta llegar a negro en el valor 0.

mr_arch_design05_01

Ejemplo de modelos 3D de color rojo, con Diffuse level en 0.1, 0.5 y 1 respectivamente.

mr_arch_design05_02

Ejemplo de modelos 3D con una textura cargada y Diffuse level en 0.1, 0.5 y 1 respectivamente.

Color: corresponde al color del canal diffuse. Podemos cambiarlo fácilmente clickeando en el color por defecto, o cargar una textura haciendo click en el cuadro de la derecha de este. Si la textura es cargada, esta prevalece por sobre el color del material.

mr_arch_design05_03

Ejemplo de modelos 3D con color modificado.

mr_arch_design05_04

Ejemplo de modelos 3D con diferentes texturas aplicadas.

Roughness: controla la aspereza con que el canal diffuse se mezcla con el componente de ambiente. Mientras mayor sea el valor de Roughness el elemento tendrá más “polvo” y por ende será más áspero (por defecto su valor es 0,2). También se le puede cargar una textura en el cuadro del lado de la opción.

mr_arch_design05_05

Ejemplo de modelos 3D con Roughness en 0.1, 0.5 y 1 respectivamente (color).

mr_arch_design05_06

Ejemplo de modelos 3D con Roughness en 0.1, 0.5 y 1 respectivamente (textura).

mr_arch_design05_07

Ejemplo de modelos 3D con Roughness en 0.1, 0.5 y 1 respectivamente, pero esta vez con un mapa de textura aplicado en Roughness.

Categoría Reflection:

mr_arch_design08

Reflectivity: controla el nivel de reflectividad del material. Los valores de reflectividad y de color se combinan para definir el nivel de reflexión, así como la intensidad del resaltado también conocido como el reflejo especular.

mr_arch_design06_01

Ejemplo de modelos 3D con Reflectivity en 0.1, 0.5 y 1 respectivamente (color).

mr_arch_design06_02

Ejemplo de modelos 3D con Reflectivity en 0.1, 0.5 y 1 respectivamente (textura).

Color: corresponde al color general de la luz reflejada. Podemos cambiarlo fácilmente clickeando en el color por defecto, o cargar una textura haciendo click en el cuadro de la derecha de este.

mr_arch_design06_03

Ejemplo de modelos 3D con color Diffuse, Reflectivity en 1 y Reflectivity color aplicado. Colores de Izquierda a derecha: verde, azul y amarillo.

mr_arch_design06_04

Ejemplo de modelos 3D con color Diffusse, Reflectivity en 1 y Reflectivity color aplicado, pero esta vez se han colocado tres texturas diferentes.

mr_arch_design06_05

Ejemplo de modelos 3D con una textura en Diffusse, Reflectivity en 1 y Reflectivity color aplicado, pero esta vez se han colocado las mismas tres texturas anteriores.

Glossiness: este parámetro funciona con Reflectivity activado, y define el tipo de superficie que tendrá el “brillo” de la reflexión. Su valor máximo es 1 el cual es un espejo perfecto. Mientras más bajo sea el valor de esta, el brillo de la superficie será más difuso. También podremos agregar un mapa o una textura si clickeamos en el cuadro del lado de este parámetro, pero este mapa siempre será constante independiente del valor que hayamos colocado a Glossiness.

mr_arch_design06_07

Ejemplo de modelos 3D con Reflectivity en 1, con niveles de Glossiness en 0.1, 0.5 y 1 respectivamente.

mr_arch_design06_08

Ejemplo de modelos 3D con Reflectivity en 1 y los mismos valores anteriores, pero esta vez se ha cargado una textura en Glossiness.

Glossy Samples: corresponde a las Muestras de brillo. El número máximo de muestras o rayos que genera Mental Ray para crear reflejos brillantes. Los valores más altos hacen que el render sea más lento pero crean un resultado más suave. Los valores más bajos generan el render más rápido, pero crean un resultado más granulado. Glossy Samples sólo está disponible cuando el valor de Glossiness no es igual a 1.

mr_arch_design06_09

Ejemplo de modelos 3D con Reflectivity en 1 y Glossiness en 0,75, con niveles de Glossy Samples de 1, 16 y 32 respectivamente.

Nota: si el valor de Glossy Samples es igual a 0, las reflexiones toman la forma de un “espejo perfecto” y sólo un rayo es generado, independientemente del valor real de Glossiness. Se puede usar esto para aumentar el rendimiento de las superficies con reflejos muy débiles. Lo más destacado sigue respetando el valor de Glossiness. Las reflexiones más brillantes necesitan generar múltiples rayos para producir un resultado uniforme, y esto puede afectar al rendimiento. Por esto mismo, el material incluye dos características especiales que son:

Fast (inteprolate): cuando está activado, un algoritmo de suavizado permite que los rayos se vuelvan a utilizar y suavizar. El resultado son reflexiones brilantes más rápidas y suaves pero sacrifica un poco de precisión. Nota: Este método funciona mejor en superficies planas.

mr_arch_design06_10

Ejemplo de modelos 3D con Reflectivity en 1 y Glossiness en 0,75, con niveles de Glossy Samples de 1, 16 y 32 respectivamente. En todas se ha aplicado Fast (interpolate).

Hightlights+FG only: cuando está activado, Mental ray no genera los rayos de reflexión reales. En su lugar, sólo se muestran los reflejos más destacados, así como reflexiones suaves emulados con la ayuda de Final Gather. El modo Hightlights+FG only no ocupa tiempo de render adicional en comparación con una superficie no brillante (diffuse), sin embargo, puede producir resultados bastante convincentes. A pesar de que podría no ser completamente convincente para los objetos destacados en una escena, puede trabajar muy bien para elementos menos esenciales. Este modo tiende a funcionar mejor en materiales con reflejos débiles o reflejos muy brillantes.

mr_arch_design06_11

Ejemplo de modelos 3D con Reflectivity en 1 y Glossiness en 0,75, con niveles de Glossy Samples de 1, 16 y 32 respectivamente. En todas se ha aplicado Highlights+FG only.

Metal Material: los objetos metálicos realmente influyen en el color de su propia reflexión, mientras que otros materiales no lo hacen. Por ejemplo, una barra de oro tendrá reflejos de color dorado, pero una esfera de cristal de color rojo no tiene reflejos “rojos”. Este efecto en el metal es apoyado a través de la opción Metal Material. Cuando Metal Material está apagado, el parámetro de color de reflexión define el color, y el parámetro Reflectivity junto con la configuración de la BRDF define la intensidad y los colores de las reflexiones. Cuando está activado, el parámetro Diffuse Color define el color de reflejos, y el parámetro Reflectivity establece el “peso” entre las reflexiones difusas y las reflexiones brillantes (metálicas).

mr_arch_design06_12

Ejemplo de modelos 3D con Reflectivity en 1 y Glossiness en 0,75, con niveles de Glossy Samples de 1, 16 y 32 respectivamente. En todas se ha aplicado Metal material.

mr_arch_design06_13

Ejemplo de modelos 3D con Reflectivity en 1 y Glossiness en 0,75, con niveles de Glossy Samples en 8. En este caso se han combinado los modos en cada una de ellas. La primera copa está con Fast (interpolate) y highlights+FG only, la segunda con Highlights+FG only y Metal material, y la tercera posee todos los modos aplicados.

Categoría Refraction:

mr_arch_design09

Transparency: define el nivel de transparencia o refracción del material. Por defecto es 0 (no transparente) y su valor máximo es 1 (100% de transparencia). Con este parámetro podemos crear el efecto del vidrio, combinándolo con los parámetros de la categoría Reflection.

mr_arch_design07_01

Ejemplo de modelos 3D con Transparency en 0.1, 0.5 y 1 respectivamente. En este caso el nivel de Reflectivity es 1. Sin este parámetro activado, el valor 1 de Transparency haría invisible la tercera copa.

Color: corresponde al color de la refracción, y gracias a este parámetro podemos, por ejemplo, crear efectos como “vidrio de color” si el color en Diffuse es negro. Podemos cambiarlo fácilmente clickeando en el color por defecto, o cargar una textura haciendo click en el cuadro de la derecha de este.

mr_arch_design07_02

Ejemplo de modelos 3D con Diffuse color en rojo y Transparency color aplicado. En este caso el nivel de Reflectivity es 1. Los colores de izquierda a derecha son: verde, azul y amarillo.

mr_arch_design07_03

Ejemplo de modelos 3D con Diffuse color en negro y Transparency color aplicado. En este caso el nivel de Reflectivity es 1. Los colores de izquierda a derecha son: verde, azul y amarillo.

mr_arch_design07_04

Ejemplo de modelos 3D con una textura cargada en Diffuse y Transparency color aplicado. En este caso el nivel de Reflectivity es 1. Los colores de izquierda a derecha son: verde, azul y amarillo.

mr_arch_design07_04b

Ejemplo de modelos 3D con Diffuse color en rojo y Transparency color aplicado, pero esta vez se han cargado tres texturas diferentes. En este caso el nivel de Reflectivity es 1.

mr_arch_design07_04c

El mismo ejemplo anterior pero con una textura en Diffuse en lugar del color.

mr_arch_design07_04d

Ejemplo de modelos 3D con Diffuse color negro y Transparency color aplicado, pero esta vez se han cargado tres texturas diferentes. En este caso el nivel de Reflectivity es 1.

Glossiness: define la nitidez de la refracción o transparencia, que van desde 1 (transparencia completa y clara) hasta 0 (transparencia muy difusa o borrosa). Podemos cargar una textura haciendo click en el cuadro de la derecha de este.

mr_arch_design07_05

Ejemplo de modelos 3D con Glossiness en 0.1, 0.5 y 1 respectivamente. En este caso el nivel de Transparency es 0.5 y el de Reflectivity es 1.

mr_arch_design07_06

Ejemplo de modelos 3D con Glossiness en 0.1, 0.5 y 1 respectivamente pero con una textura en Diffuse. En este caso el nivel de Transparency es 0.5 y el de Reflectivity es 1.

mr_arch_design07_08b

Ejemplo de modelos 3D con Glossiness en 0.1, 0.5 y 1 respectivamente pero con una textura cargada en Glossiness.

Glossy Samples: corresponde a las Muestras de transparencia. El número máximo de muestras o rayos que genera Mental Ray para crear transparencias. Los valores más altos hacen que el render sea más lento pero crean un resultado más suave. Los valores más bajos generan el render más rápido, pero crean un resultado más granulado. Glossy Samples sólo está disponible cuando el valor de Glossiness no es igual a 1.

mr_arch_design07_07

Ejemplo de modelos 3D con Transparency en 0.5 y Glossiness en 0.75, con niveles de Glossy Samples de 1, 16 y 32 respectivamernte.

mr_arch_design07_08

Ejemplo de modelos 3D con Transparency en 0.5 y Glossiness en 0.75, con niveles de Glossy Samples de 1, 16 y 32 respectivamernte aunque en este caso hay una textura en Diffuse.

En el caso de Glossy Refraction, se necesitan generar múltiples rayos para producir un resultado uniforme y esto puede afectar al rendimiento general. Por esta razón, el material incluye la siguiente característica:

Fast (inteprolate): cuando está activado, un algoritmo de suavizado permite que los rayos se vuelvan a utilizar y suavizar. El resultado son reflexiones brilantes más rápidas y suaves pero sacrifica un poco de precisión. Nota: Este método funciona mejor en superficies planas.

mr_arch_design07_09

Ejemplo de modelos 3D con Transparency en 0.5 y Glossiness en 0.75, con niveles de Glossy Samples de 1, 16 y 32. En todas las copas se ha aplicado Fast (inteprolate).

IOR (Index Of Refraction):  define el índice de refracción, el cual mide la cantidad de un rayo de luz que se curva al entrar en un material, y la dirección en la que la luz se curva dependerá de si se está entrando o saliendo del objeto. Arch & Design utiliza la dirección de la normal de la superficie como referencia para averiguar si la luz está entrando o saliendo. Por tanto, es importante modelar los objetos transparentes y refractivos con las normales de la superficie que apunten en la dirección correcta. El valor de IOR a colocar dependerá del elemento que se quiera representar. Los índices de refracción más conocidos son:

Material IOR o índice de refracción
Vacío 1,0
Aire 1,0002926
Agua 1,33
Acetaldehído 1,35
Alcohol Metílico 1,329
Alcohol Etílico 1,36
Solución de azúcar (30%) 1,38
1-butanol (a 20 °C) 1,399
Glicerina 1,473
Heptanol (a 25 °C) 1,423
Solución de azúcar (80%) 1,52
Benceno (a 20 °C) 1,501
Metanol (a 20 °C) 1,329
Cuarzo 1,544
Vidrio (corriente) 1,52
Disulfuro de carbono 1,6295
Cloruro de sodio (sal común) 1,544
Diamante 2,42

Además de los valores de IOR, podremos ajustar el índice de refracción de forma manual manipulando los valores de la curva BDRF (Bi-directional Reflectance Distribution Function) que determina cuanto refleja un material al ser visto desde diferentes ángulos (la reflectividad depende del ángulo de visión).

mr_arch_design07_10

Ejemplo de modelos 3D con Diffuse en color negro, y valores de IOR de 1.0 (aire), 1.33 (agua) y 2.42 (diamante).

mr_arch_design07_11

Ejemplo de modelos 3D con una textura cargada en Diffuse, y valores de IOR de 1.0 (aire), 1.33 (agua) y 2.42 (diamante).

mr_arch_design07_12

Ejemplo de modelos 3D con Diffuse en rojo y color Transparency en rojo, y valores de IOR de 1.0 (aire), 1.33 (agua) y 2.42 (diamante).

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 de manera que las formas se hacen irreconocibles ya que no se observan nítidamente 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” de estos:

mr_arch_design_translucidez

Ejemplo de translucidez o translucency aplicado en una situación real.

La traslucidez o Translucency está pensada para ser utilizada principalmente en modo “lámina” o Thin (Advanced Rendering Options > Advanced Transparency Options > Thin Walled) y se usa para modelar elementos como cortinas, papel mantequilla u otros efectos similares. En el modo Thin walled el sombreado del lado inverso de la geometría “traspasa” hacia el lado frontal.

mr_arch_design07_13

El sombreador también funciona en el modo sólido (Advanced Rendering Options > Advanced Transparency Options > Solid) pero esta es una simplificación ya que emula sólo el transporte de la luz desde la parte posterior de un objeto a sus caras frontales y por ende no es un verdadero efecto de dispersión del subsuelo o SSS (Sub Surface Scattering). La dispersión del subsuelo es un efecto importante para la representación realista de materiales translúcidos como la piel, carne, grasa, frutas, leche, mármol, y muchos otros. Se puede generar el efecto SSS mediante el uso de Glossy Transparency junto con Translucency, pero esta no es tan rápida ni tan potente como los shaders o materiales SSS especiales que son exclusivos para lograr este efecto. Cuando se activa translucency, el peso y la configuración del color están disponibles e influirán en el render.

Weight: Determina qué porcentaje de transparency se utiliza como translucidez. Por ejemplo, si weight es 0, toda la transparency se utiliza como translucidez. Si weight es 1, el 100% de transparency se utiliza como translucidez. También podremos cargar un mapa o una textura haciendo click en el cuadrado del lado del valor.

mr_arch_design07_14

Ejemplo de modelos 3D con planos a los cuales se les ha aplicado Translucency, en modo Thin Walled. Los valores de Weight, de izquierda a derecha, son: 0, 0.5 y 1.

mr_arch_design07_14a

mr_arch_design07_14ab

Ejemplo de modelos 3D en los cuales se ha aplicado Translucency en modo Solid. Los valores de Weight, de izquierda a derecha, son: 0, 0.5 y 1.

mr_arch_design07_14abc

El mismo ejemplo anterior pero esta vez se les ha aplicado una textura en weight.

Color: corresponde al color de la translucidez. Podemos cambiarlo fácilmente clickeando en el color por defecto, o cargar una textura haciendo click en el cuadro de la derecha de este. También podremos cargar un mapa o una textura haciendo click en el cuadrado del lado del valor.

mr_arch_design07_14b

Ejemplo de modelos 3D con planos en los cuales se ha aplicado Translucency, en modo Thin Walled y valor de weight en 1. Los colores aplicados, de izquierda a derecha, son: amarillo, verde, azul.

mr_arch_design07_14c

Ejemplo de modelos 3D con planos en los cuales se ha aplicado Translucency, en modo Thin Walled y valor de weight en 1. En este caso se han cargado tres texturas diferentes en la opción color.

mr_arch_design07_14d

Ejemplo de modelos 3D en los cuales se ha aplicado Translucency en modo Solid. Los valores de Weight, de izquierda a derecha, son: 0, 0.5 y 1. En este caso se ha cargado una textura en la opción color.

Categoría Anisotropy:

mr_arch_design07_15

Anisotropy group: con esta opción podremos crear reflejos y refracciones de tipo anisotrópico ya que este controla la forma de los reflejos, es decir, el “ancho” y “alto” de estos. Con el valor 1, el reflejo es redondo y por ende se desactiva el efecto, es decir, no hay ninguna anisotropía. Con el valor 0.01, el reflejo es alargado. Los valores mayores o menores a 1 influirán en la forma de los reflejos. Podemos cargar una textura o un mapa haciendo click en el cuadro de la derecha de este.

mr_arch_design07_16

mr_arch_design07_16b

Ejemplo de modelos 3D en los cuales se ha aplicado Anisotropy con valores menores que 1. Los valores de Anisotropy, de izquierda a derecha, son: 0.01, 0.5 y 1.

mr_arch_design07_16bc

El mismo ejemplo anterior pero esta vez se les ha aplicado una textura en Anisotropy.

mr_arch_design07_16c

mr_arch_design07_16d

Ejemplo de modelos 3D en los cuales se ha aplicado Anisotropy con valores mayores que 1. Los valores de Anisotropy, de izquierda a derecha, son: 1, 8 y 16.

mr_arch_design07_16e

El mismo ejemplo anterior pero esta vez se les ha aplicado una textura en Anisotropy.

Rotation: Cambia la orientación de los reflejos. Este valor puede variar de 0 a 1 con el valor 1 = 360°. Así, por ejemplo, de 0.25 = 90° y 0.5 = 180°. Podemos cargar una textura o un mapa haciendo click en el cuadro de la derecha de este.

mr_arch_design07_17 mr_arch_design07_17b mr_arch_design07_17c

Rotation en valores 0.0, 0.25 y con una textura. El valor de Anisotropy es de 0.01.

mr_arch_design07_17d

mr_arch_design07_17e

Los valores de rotation anteriores, aplicados en modelos 3D.

Tip: Cuando se utiliza una textura para rotation, 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. 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, 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.

mr_arch_design07_18

Ejemplo de modelos 3D en los cuales se ha aplicado Rotation en diferentes grados. La primera copa tiene el valor 0 y no tiene textura, la segunda está en modo automatic y la tercera tiene la opción Map channel, con el canal 1.

Este es el final de este tutorial.

3DSMAX Tutorial 06b: Material Multi/Sub-object

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 especial veremos el material denominado Multi/sub-object, uno de los más importantes en cuanto a texturización y materialización de objetos se refiere ya que como sabemos, este material nos permite colocar muchos materiales en un solo slot y nos permite además clasificar de forma eficiente los materiales de uno o más elementos en específico.

El material Multi/Sub-Object

El material denominado Multi/sub-object es uno de los más utilizados en 3DSMAX, ya que por definición nos permite colocar muchos materiales dentro de un solo slot, es decir, podremos ahorrar bastante espacio en el editor de materiales (ya que el material mismo ocupa un solo slot) y a la vez podremos materializar objetos muy complejos o con muchos materiales diferentes utilizando sólo “un” material. Multi/sub-object es un material que está organizado de la siguiente manera:

En la imagen podemos reconocer, además del nombre del material, los espacios donde se inserta cada uno de los materiales (denominados sub-materiales) que van integrados en el material. Podremos asignar el número de sub-materiales que queramos mediante la opción Set Number:

3dsmax_mso02

En esta opción podremos asignar hasta 999 slots de sub-materiales para Multi/sub-object y por ende lo podremos limitar según la escena a materializar o la cantidad de materiales que queremos en un elemento específico. Otra cosa interesante de este material es que, al incorporarlo en el slot respectivo, el programa nos preguntará si queremos descartar el material antiguo (discard old material) o conservarlo como un “sub-material” (keep material as sub-material).

3dsmax_mso03

Al realizar lo segundo vemos que el material antiguo queda colocado en el primer casillero de los sub-materiales. Podremos acceder a sus propiedades simplemente clickeando en el nombre de este, y luego editarlo como un material cualquiera. De más está decir que a este sub-material se le puede agregar el material que se quiera ya sea un Standard, Arch & Design, Autodesk Library, etc. Si bien podremos agregar incluso un Multi/Sub-Ojbect, esto no es recomendable ya que creará problemas al asignar el material.

En el caso del material Multi/Sub-Object, es muy importante conocer cómo se organizan los sub-materiales pues esto es clave para poder materializar de buena forma la escena o el objeto:

3dsmax_mso04

En esta imagen podemos ver, de izquierda a derecha:

– La muestra del sub-material.
ID: El ID o identificador de este, junto a su número respectivo.
Name: El espacio para colocar un nombre.
Sub-Material: El sub-material mismo (editable como un material).
– El color del sub-material.
– El modo On/Off, que activa o desactiva el sub-material.

Lo más interesante del material Multi/Sub-object es sin duda el cómo se orgazanizan los sub-materiales para permitir su aplicación adecuada en los elementos a texturizar ya que estos utilizan un identificador especial llamado “ID”. ¿Pero qué es un ID? el ID es simplemente un número de identificación que será asignado a uno o más polígonos, y que nos permite asignar el material a los elementos que sólo compartan el mismo identificador y que coincida con el ID del sub-material. Esto es, si el primer material tiene el ID=1 será aplicado sólo en los polígonos que compartan este identificador. Para comprobar esto, dejamos el set number del sub-material en 6, dibujamos una box y le aplicamos el material Multi/Sub-Object a ella. El resultado es el siguiente:

3dsmax_mso05

Notamos de inmediato que el material gris sólo se aplica en la cara superior de la caja mientras el resto de las caras son negras pues no hay ningún material aplicado en el resto de los sub-materiales, por lo tanto podemos concluir que el ID de esa cara es el 1 el cual es el mismo del material original. Por lógica podemos deducir que una box tiene 6 IDs, es decir, uno por cada cara. Podemos verificar esto simplemente colocando materiales standard en cada sub-material, luego los editamos mediante el cambio de color y de nombre respectivo, y notamos que el resultado es el siguiente:

3dsmax_mso05b

3dsmax_mso05c

3dsmax_mso05d

Sub-materiales aplicados en las 6 caras de la caja, donde notamos cada ID por separado (uno por cada cara).

3dsmax_mso05e

3dsmax_mso05f

Efecto de la aplicación de Multi/Sub-Object en las primitivas básicas.

Utilizar los ID de forma correcta es la clave para texturizar los elementos 3D correctamente. Pero, ¿podemos cambiar los ID o seleccionar los que realmente queremos?. La respuesta es sí, y podremos hacerlo de las siguientes formas:

– Aplicando en el objeto 3D los modificadores llamados edit mesh o edit poly siempre y cuando este no esté en ninguno de estos modos, como por ejemplo las primitivas.

– Convirtiendo los elementos 3D a edit mesh o edit poly.

Es fundamental aplicar cualquiera de estos modificadores pues estos tienen la ventaja que podremos editar fácilmente los ID simplemente entrando al modo polígono (polygon) y luego seleccionando o modificando los ID de la o las caras. Yéndonos a nuestra box original,  le aplicamos el modificador edit mesh y nos vamos al modo polygon:

3dsmax_mso06

Como sabemos, Edit Mesh nos permite editar la estructura del objeto 3D mediante el movimiento y la transformación de las partes de esta ya sean vértices, lados, caras, polígonos o elemento. Estando en el modo polígono, bajaremos la persiana hasta encontrar el cuadro llamado Material:

3dsmax_mso07

Si elegimos cualquier cara de nuestra box, el cuadro inmediatamente nos mostrará el “ID” de esta en Set ID:

3dsmax_mso07b

En el ejemplo, al seleccionar la cara (en fucsia) se muestra el ID=6 de esa cara la cual es de color morado.

Teniendo la cara seleccionada, podremos cambiar el ID de esta simplemente escribiendo en Set ID el nuevo ID en lugar del anterior y luego presionando enter:

3dsmax_mso07c

El mismo ejemplo anterior, pero esta vez la cara con el ID=6 ha sido cambiada por el ID=5, y la cara ahora es azul.

Estando en el modo polygon, podremos elegir una o tantas caras como queramos. Si seleccionamos caras con distinto ID este no será mostrado en Set ID, pero podremos cambiar todos al mismo tiempo a uno solo ID realizando el mismo procedimiento anterior:

3dsmax_mso07d

3dsmax_mso07e

3dsmax_mso07f

En este ejemplo se han seleccionado las tres caras visibles y se han cambiado los ID de todas a 3, y ahora todas las caras son amarillas.

Ahora bien, también podremos seleccionar (no editar) todas las caras que tengan un mismo ID simplemente colocando el número de este y presionando el botón Select ID:

3dsmax_mso08

Si aplicamos el modificador o convertimos a Edit Poly el principio es el mismo que en el caso de edit mesh, pero el cuadro esta vez se llama Polygon: Material IDs:

3dsmax_mso09

El mismo ejemplo anterior, pero esta vez se ha aplicado el modificador edit poly.

Como vemos, la utilización de estos modificadores nos permitirá generar los criterios necesarios para poder materializar sin problemas los diferentes elementos 3D ya que los ID ordenan de forma eficiente los materiales a aplicar en el objeto. Si importamos elementos desde AutoCAD no necesitaremos aplicar modificadores ya que por defecto el modelo 3D es convertido a Edit Mesh, lo mismo si importamos modelos en formato 3DS.

3dsmax_mso10

Modelo 3D importado desde AutoCAD donde notamos que cada elemento ya está en modo edit mesh, y podremos seleccionar y/o editar los ID de cada uno de estos sin necesidad de colocar el modificador edit mesh o edit poly.

Finalmente, ¿Cómo podemos texturizar de forma correcta mediante el uso de Multi/Sub-Object? la respuesta es bastante simple, y consiste en saber qué y cuántos materiales componen un elemento en específico y cuántos slots de Multi/sub-Object ocuparemos para cada elemento de la escena. A modo de ejemplo, si vamos a texturizar un espacio interior relativamente sencillo podremos crear un Multi/Sub-Object que nos defina los elementos principales del espacio como muros, pisos y losas. Un ejemplo de esto sería lo siguiente:

3dsmax_mso11

3dsmax_mso12

En este ejemplo tenemos un solo Multi/sub-Object en el cual hemos definido sólo 2 IDs los cuales son: el ID 1 para los muros y la losa, y el ID 2 para el piso de baldosas. Como es un espacio sencillo no se necesita más que un solo Slot ya que tenemos pocos materiales aplicados, pero en modelos más complejos nuestro plan sería algo como lo siguiente:

ID 1: muros exteriores.
ID 2: muros interiores.
ID 3: cielo superior.
ID 4: piso flotante.
ID 5: piso de baño.
Etc.

Este material Multi/Sub-Object se podría llamar “espacio” o similar, de acuerdo a la escena que se está texturizando.

Podemos aplicar el mismo principio para cada elemento de la escena que queramos texturizar, y por supuesto podemos ocupar uno o más slots según el o los elementos presentes en ella. Por ejemplo, si quisiéramos texturizar una lámpara podríamos definirla de la siguiente manera:

ID 1: pantalla.
ID 2: madera de la lámpara.
ID 3: cristal.
ID 4: cromo (metales).
ID 5: soquete.
ID 6: ampolleta.
Etc.

Este material Multi/Sub-Object se podría llamar “lámpara” o similar.

Y aplicando este plan en el slot de materiales nos quedaría de la siguiente forma:

3dsmax_mso12b

Ejemplo del editor de materiales de una escena interior muy compleja, mostrando todos los slots utilizados por materiales Multi/Sub-Object y también mostrando los elementos y sub-materiales requeridos para la texturización de una lámpara.

En los modelos más complejos y sobre todo en escenas interiores, muchas veces requeriremos utilizar varios slots aplicando el material Multi/Sub-Object ya que deberemos texturizar muchos elementos complejos, como por ejemplo muebles o elementos tecnológicos, tal como se ve en el ejemplo de más arriba. Si bien este método es muy eficiente tiene una desventaja: en muchos casos debemos importar modelos desde afuera y no sabemos si los ID están ordenados de forma correcta, y por lo tanto tendremos que realizar todo el trabajo de asignación y definición de los IDs del elemento importado. Sin embargo, el hacerlo de forma correcta facilita mucho el trabajo a la hora de texturizar, sobre todo cuando tenemos modelos con muchos elementos, como suele ser el caso de espacios interiores como comedores o dormitorios.

IDs en ventanas, puertas y escaleras

Otra cosa muy interesante sobre los IDs es que si insertamos las puertas, ventanas y escaleras que vienen por defecto en 3DSMAX, los IDs de estas ya estarán organizados de manera automática y por ende, no será necesario aplicarles modificadores sino que basta con asignar correctamente el material según el ID de cada elemento:

3dsmax_mso13

3dsmax_mso13b

Efecto de la aplicación de Multi/Sub-Object en todos los tipos de ventanas en 3DSMAX. En este caso tenemos 5 IDs por cada ventana.

3dsmax_mso14

3dsmax_mso14b

Efecto de la aplicación de Multi/Sub-Object en todos los tipos de puertas en 3DSMAX. En este caso tenemos 5 IDs por cada puerta.

3dsmax_mso15

3dsmax_mso15v

Efecto de la aplicación de Multi/Sub-Object en todos los tipos de escaleras en 3DSMAX. En este caso tenemos 5 o 6 IDs dependiendo del tipo de escalera.

En el caso de las puertas y ventanas, estas vienen con 5 IDs definidos los cuales determinan los marcos estructurales de estas y el o los vidrios de estas. El ID=3 será siempre el cristal de ambas a menos que en el caso de las puertas desactivemos la opción glass y la dejemos como puerta tipo None o Beveled, ya que en estos últimos casos el ID=3 no aparecerá:

ventanas00

Distribución de los ID en una ventana junto con los materiales y elementos respectivos en que se ordena.

puertas05

Distribución de los ID en una puerta junto con los materiales y elementos respectivos en que se ordena.

Este es el final de este tutorial.

3DSMAX Tutorial 07b, parte 2: Sombreados en iluminación

En el mundo real, la iluminación afecta nuestras vidas desde ángulos muy variados: permite distinguir siluetas y formas, afecta nuestros estados de ánimo (por ejemplo, las luces de una discoteca), nos alerta sobre peligros u otras indicaciones (semáforo, sirenas, etc.), nos entretiene, etc. Existen muchas fuentes de luz natural y artificial que nos generan muchas variables de iluminación. Intentar emular esas variables en un espacio 3D es el objetivo de las herramientas de iluminación en 3DSMAX. El programa basa a su representación de la iluminación en el ángulo que inciden los rayos en las caras de los objetos. Si este ángulo es perpendicular la iluminación es máxima, en ángulos menores esta irá decreciendo hasta desaparecer cuando los rayos queden tangentes a la superficie.

En la segunda parte del tutorial veremos los tipos de sombreados de las luces standard y sus parámetros más importantes.

Tipos de sombreado

Todas las luces standard a excepción de Skylight comparten parámetros comunes de sombreado que son los siguientes:

Shadows On/Off: en este caso habilitamos o deshabilitamos la proyección de sombra y además podremos elegir el tipo de estas. Al clickear en Use Global Settings, habilitamos la sombra de tipo Shadow Map por defecto.

3dsmax_luces016a_sinsombra

Render realizado con Sombra (Shadow) desactivada.

Los tipos de sombra que podemos elegir en esta persiana son los siguientes:

– Shadow Map: Es el sistema más sencillo de utilizar pero a su vez su sombreado es el menos configurable de todos, y su resultado no es del todo realista ya que no respeta las transparencias de los materiales pero tiene la ventaja de ser relativamente rápida de calcular en el renderizado.

3dsmax_luces016

– Mental Ray Shadow Map: Similar al primero pero se utiliza junto al motor de render Mental Ray.

3dsmax_luces016b

– Area Shadows: es el que genera las sombras más precisas y configurables, pero es también la más demorosa en cuanto a renderizado.

3dsmax_luces016d

– Ray Traced Shadows: un sistema muy utilizado pues podemos configurar sombreados precisos y realistas, ya que a diferencia de Shadow Map sì respeta la transparencia de los materiales, aunque se debe configurar para generar sombras difusas.

3dsmax_luces016c

– Advanced Ray Traced Shadows: Las sombras de Raytrace avanzado son similares a las sombras de Raytrace. No obstante, ofrecen más control sobre el comportamiento de las sombras además de tener parámetros en común con Area Shadows.

3dsmax_luces016e

Técnicas de sombreado

En 3DSMAX existen dos populares técnicas para el cálculo de sombras: la primera es mediante el método llamado raytraced shadows y la segunda es mediante depth-mapped shadow o shadow-map.

Un mapa de sombras o Shadow Map es una imagen que se compone en una fase previa al render de la escena, su principal característica es que puede generar sombras con bordes suavizados. Otra ventaja que tiene es que para calcularla el programa requiere de pocos recursos. Su principal desventaja es que no puede reconocer los distintos grados de opacidad ni puede reflejar los colores proyectados por los objetos semitransparentes.

shadows_001

Raytraced Shadow traza el recorrido de un rayo de luz desde la fuente de iluminación para iluminar cada punto de un objeto. Este tipo de cálculo es bastante preciso al determinar si algún objeto bloquea parte de la luz para crear sombras. Su principal ventaja es que reconoce los distintos grados de opacidad de los objetos y materiales traslúcidos. Su principal desventaja es que es más lenta de calcular que Shadow map y que siempre generan sombreados de bordes duros.

shadows_002

Parámetros generales de sombreado

Todas las luces standard comparten parámetros comunes de sombreado, los cuales son los siguientes:

Color: por defecto es el color negro, y nos permite definir el color de la sombra, el cual afecta a todos los objetos que la reciben y que por ello sean afectados por el emisor de luz.

shadows_003

Render realizado con sombras de color amarillo.

shadows_004

Render realizado con sombras de color azul.

Densidad (Dens.): por defecto posee el valor 1, y define el nivel de oscuridad y/o claridad de la sombra. Mientras más bajo sea el valor de la densidad (menores a 1 y negativos) la sombra será más clara, y viceversa.

shadows_005

Render realizado con Dens. en valor 0,5.

Map: nos permite seleccionar una imagen (Bitmap), un mapa o video y proyectarlos como sombra.

shadows_006

Lights Affects Shadow Color: nos indica que la luz afecta el color de la sombra, combinando el color de la luz con el de la sombra. Si lo desactivamos, nos muestra la combinación y si lo activamos, nos muestra el color de la sombra.

Atmosphere shadows: permite que efectos atmosféricos puedan proyectar sombra.

Parámetros extendidos de sombreado

Los parámetros extendidos de sombreado dependen del tipo de sombra que elijamos para realizar el cálculo de sombras.

Parámetros de la sombra Shadow Map

Bias: su valor por defecto es 1. Bias desplaza la sombra acercándola o alejándola en relación al objeto u objetos que la proyectan. A medida que aumenta el valor la sombra se esfuma hasta casi desaparecer.

shadows_001

Render normal de Shadow Map, con Bias en 1.

shadows_007

Render de Shadow Map, con Bias en 7.

Size: Su valor por defecto es 512. Size define el tamaño (en píxeles cuadrados) del mapa de sombras que se calcula para la luz. Aumentando los valores de size podremos generar sombras más duras.

shadows_008

Render de Shadow Map con el valor 2000 en Size, donde notamos que la sombra es más definida.

Sample Range: Por defecto es 4, y especifica qué proporción del área comprendida en la sombra se promedia. Afecta a la suavidad de la arista de la sombra. Su rango va desde 0,01 a 50,0.

shadows_009

Render de Shadow Map con el valor 16 en Sample Range, donde notamos que la sombra es más difusa.

2 sided Shadow: Cuando está activada, se tienen en cuenta las caras ocultas a la hora de calcular las sombras. Los objetos vistos desde el interior no reciben iluminación de las luces procedentes del exterior. Cuando está desactivado se ignoran las caras ocultas, lo que hace que las luces exteriores iluminen el interior de los objetos.

Parámetros de la sombra Ray Traced Shadow

Ray Bias: su valor por defecto es 0,2. Al igual que la sombra Shadow Map, Ray Bias desplaza la sombra acercándola o alejándola respecto al objeto u objetos que la proyectan.

shadows_002

Render normal de Ray Traced Shadow, con Bias en 0,2.

shadows_010

Render normal de Ray Traced Shadow, con Bias en 5.

Máx Quad tree Depth: Ajusta la profundidad del árbol de cuadrantes utilizado por Raytrace. Los valores altos pueden mejorar el tiempo de Raytrace a costa de la memoria. Sin embargo, hay un valor de profundidad en el que la mejora del rendimiento queda desplazada por el tiempo que se tarda en generar el árbol de cuadrantes mismo. Esto depende de la geometría de la escena.

2 sided Shadow: Cuando está activada, se tienen en cuenta las caras ocultas a la hora de calcular las sombras. Los objetos vistos desde el interior no reciben iluminación de las luces procedentes del exterior. Cuando está desactivado se ignoran las caras ocultas, lo que hace que las luces exteriores iluminen el interior de los objetos.

Parámetros de la sombra Advanced Ray Traced

Basic Options: Selecciona el tipo de Raytrace que se va a utilizar para generar las sombras. Podemos elegir entre tres opciones que son:

– Simple: Proyecta un único rayo de luz en dirección a la superficie y en este caso no se realiza ninguna alisación.

shadows_011

– 1 pass antialias: Proyecta un haz de rayos. Cada superficie iluminada proyecta el mismo número de rayos, cuyo número se define en el contador de calidad de 1 pase.

shadows_011b

– 2 pass antialias: Es el modo habilitado por defecto y proyecta dos haces de rayos. El primer haz de rayos determina si el punto en cuestión está totalmente iluminado, sombreado o en la zona de penumbra (área débil) de la sombra. Si el punto se encuentra en la penumbra, se proyecta un segundo haz de rayos para afinar mejor los bordes. El número de rayos iniciales se especifica en el contador de calidad de 2 pases.

Antialiasing options: son las opciones de alisamiento. En estas tenemos:

Shadow Integrity: Número de rayos proyectados por una superficie iluminada.

Shadow Quality: Número de rayos secundarios proyectados por una superficie iluminada.

Podremos ajustar la calidad e integridad de las sombras dejando los valores por defecto o aumentando los rangos que van de 1 a 15. Los valores más altos generarán más pixeles en las sombras.

shadows_011c

Render efectuado con Shadow Quality y Shadow Integrity en 15.

Shadow Spread: Radio, expresado en píxeles, para desenfocar el borde de alisación. Por defecto es 1,25.

shadows_011d

Render efectuado con Shadow Spread en 6,5.

Shadow Bias: Por defecto es 0,25. Shadow bias define la distancia mínima a la que un objeto debe estar para proyectar una sombra, medida desde el punto que se sombrea. Esto impide que las sombras desenfocadas afecten a las superficies en que no deben proyectarse. A medida que se incrementa el valor de desenfoque, debería incrementarse también el Shadow Bias.

shadows_011e

Render efectuado con Shadow Bias en 3.

Jitter Amount: Añade aleatoriedad a las posiciones de los rayos. Inicialmente, los rayos siguen un patrón muy regular que puede mostrarse en la parte desenfocada de la sombra como artificios regulares. La aleatoriedad transforma los artificios en ruido, lo que suele resultar inadvertido para el ojo. Los valores recomendados son de 0,25 a 1,0. No obstante, las sombras muy desenfocadas requerirán una aleatoriedad mayor.

shadows_011f

Render efectuado con Shadow Spread en 6,5 y valor de Jitter Amount en 5.

Parámetros de la sombra Area Shadows

Basic Options: Selecciona el modo en que se generan las sombras de área. Podemos elegir 5 opciones que son:

– Simple: Proyecta un único rayo desde la luz a la superficie. No se realiza ningún cálculo de alisación ni de luz de área.

shadows_012

– Rectangle Light: A partir de la luz, proyecta los rayos siguiendo una matriz rectangular. Es la opción por defecto.

shadows_012b

– Disc Light: A partir de la luz, proyecta los rayos siguiendo una matriz circular.

shadows_012c

– Box Light: A partir de la luz, proyecta los rayos como si fueran una caja.

shadows_012d

– Sphere Light: A partir de la luz, proyecta los rayos como si fueran una esfera.

shadows_012e

Antialiasing options: son las opciones de alisamiento. Son las mismas que en el caso de Advanced Ray Traced Shadows.

Area Light Dimensions: Son las dimensiones que se aplican a una luz virtual que se emplea para calcular el sombreado del área. No afectan al objeto de luz real. Según el modo de proyecxtar las sombras que elijamos podemos definir las 3 dimensiones:

– Length: Define la longitud de la sombra de área.
– Width: Define la anchura de la sombra de área.
– Height: Define la altura de la sombra de área.

shadows_013

Render realizado con las opciones de Alisación por defecto, en el modo Rectangle Light y definiendo los valores de Lenght en 1 y Width en 2.

Este es el fin del tutorial 07, parte 2.

Bibliografía utilizada:

– Tutorial Luces y Sombras del profesor Sebastián Huenchual H., Carrera Animación Digital 3D, Instituto DGM.

– 3DSMAX User Guide reference.

– Manuales USERS 3DSMAX por Daniel Venditti. Ediciones MP, Buenos Aires, Argentina.

3DSMAX Tutorial 0c, parte 3: Iluminación Fotométrica

En el mundo real, la iluminación afecta nuestras vidas desde ángulos muy variados: permite distinguir siluetas y formas, afecta nuestros estados de ánimo (por ejemplo, las luces de una discoteca), nos alerta sobre peligros u otras indicaciones (semáforo, sirenas, etc.), nos entretiene, etc. Existen muchas fuentes de luz natural y artificial que nos generan muchas variables de iluminación. Intentar emular esas variables en un espacio 3D es el objetivo de las herramientas de iluminación en 3DSMAX. El programa basa a su representación de la iluminación en el ángulo que inciden los rayos en las caras de los objetos. Si este ángulo es perpendicular la iluminación es máxima, en ángulos menores esta irá decreciendo hasta desaparecer cuando los rayos queden tangentes a la superficie.

En esta tercera parte del tutorial de iluminación veremos las luces de tipo fotométrico y sus propiedades más importantes.

Luces fotométricas

Las luces fotométricas son tipos de luces que utilizan valores fotométricos (energía de luz) que permiten definir las luces con más precisión, igual que si fuesen reales. En ellas podemos definir la distribución, intensidad, temperatura de color y otras características propias de las luces reales. También se pueden importar archivos fotométricos específicos de fabricantes de luces para diseñar la iluminación de acuerdo con las luces disponibles en el mercado. Estos archivos poseen extensión IES.

A diferencia de las luces standard, las luces fotométricas utilizan valores reales de iluminación y por ende, podemos asignar valores en las unidades propias de Fotometría Internacional:

– Candelas.
– Luminancias o lumen.
– Luxes.

La Candela (símbolo cd) es la unidad básica del SI de intensidad luminosa, es decir, la energía emitida por una fuente de luz en una dirección particular, ponderado por la función de luminosidad. Una vela común emite luz con una intensidad lumínica de aproximadamente una candela. Si las emisiones en algunas direcciones es bloqueado por una barrera opaca, la emisión todavía sería de aproximadamente una candela en las direcciones que no están oscurecidas.

El Lumen (símbolo lm) es la unidad del Sistema Internacional de Medidas para medir el flujo luminoso y básicamente es una medida de la potencia luminosa emitida por la fuente. El flujo luminoso se diferencia del flujo radiante en que el primero contempla la sensibilidad variable del ojo humano a las diferentes longitudes de onda de la luz y el último involucra toda la radiación electromagnética emitida por la fuente sin considerar si tal radiación es visible o no.

El Lux (símbolo lx) es la unidad derivada del Sistema Internacional de Unidades para la iluminancia o nivel de iluminación y equivale a un lumen/m². Se usa en la fotometría como medida de la luminancia, tomando en cuenta las diferentes longitudes de onda según la función de luminosidad, un modelo estándar de la sensibilidad a la luz del ojo humano. El lux se define como la iluminación de 1 m por una fuente de luz que emite un flujo luminoso de 1 lumen.

La diferencia entre el lux y el lumen consiste en que el lux toma en cuenta la superficie sobre la que el flujo luminoso se distribuye. 1.000 lúmenes, concentrados sobre un metro cuadrado, iluminan esa superficie con 1.000 lux. Los mismos mil lúmenes, distribuidos sobre 10 metros cuadrados, producen una iluminancia de sólo 100 lux.

Si aplicamos esto en un ejemplo práctico, una iluminancia de 500 lux nos bastaría para iluminar una cocina con un simple tubo fluorescente. Pero si quisiéramos iluminar una fábrica al mismo nivel, se pueden requerir decenas de tubos. En otras palabras, iluminar un área mayor al mismo nivel de lux requiere un número mayor de lúmenes.

Podemos apreciar mejor esta diferencia en el siguiente esquema:

fotometria01

Diferencia entre Lumen y Lux, en 1 mde superficie.

Luces fotométricas en 3DSMAX

En 3DSMAX, las luces fotométricas comparten parámetros similares a las ya estudiadas luces standard como la atenuación lejana o el tipo de sombra, pero estas además tienen sus propias variables entre las cuales podemos destacar las siguientes:

Light distribution: especifica el tipo de distribución de la luz en la superficie o espacio. Esta puede ser de tipo red fotométrica o Photometric Web, Spotlight o Spot, Uniform Diffusse y Uniform Spherical:

3dsmax_gi009

Tipos de distribución de luz fotométrica. De izquierda a derecha: Photometric Web con un archivo IES cargado (donde notamos que la forma de la lámpara cambia), Spotlight, Uniform Spherical/diffuse y Photometric Web sin un archivo IES cargado.

fotometric000

Luz aplicada con distribución tipo Photometric Web, con un archivo IES cargado.

fotometric001

Luz aplicada con distribución tipo Spotlight.

fotometric001b

Luz aplicada con distribución tipo Uniform Diffuse.

fotometric001c

Luz aplicada con distribución tipo Uniform Spherical.

3dsmax_gi008Cuando estamos en el tipo de distribución llamado Photometric Web, podremos cargar archivos del fabricante de luces (usualmente de extensión IES) presionando el botón <point_street> (en las versiones antiguas de 3DSMAX) o en <Choose Photometric file> (en las versiones modernas) en la persiana Distribution (Photometric Web). Una vez que presionamos el botón podremos elegir el archivo IES que queramos y este se cargará en la luz, reemplazando a la “ampolleta” o forma de la lámpara que aparece por defecto, tal como se ve en la imagen de las distribuciones de luz de más arriba.

fotometric002

Luz aplicada con distribución tipo Photometric Web, con archivo IES cargado.

Intensity/color/attenuation: En este caso podremos asignar la cantidad de intensidad en las unidades lumínicas correspondientes (luminancias o lúmenes, candelas o luxes). El valor por defecto asignado es de unas 1.500 Candelas. También podemos elegir colores de luces provenientes de distintos tipos de configuraciones lumínicas como tubos fluorescentes, halógenos, lámparas incandescentes u otros. también podremos asignar el color de la luz según los grados Kelvin que establezcamos. Los valores de Kelvin fluctúan entre 1.000 y 20.000 y establecer el valor mínimo el mínimo implicará una luz muy cálida, mientras que el valor máximo será una luz muy fría. El valor por defecto de los grados Kelvin es 3.600.

fotometric003

Render aplicado con 1.000 Grados Kelvin.

fotometric003b

Render aplicado con 3.500 Grados Kelvin.

fotometric003c

Render aplicado con 10.000 Grados Kelvin.

fotometric003d

Render aplicado con 20.000 Grados Kelvin.

En el caso de la atenuación (Attenuation), podremos definir sólo la atenuación lejana (Far Attenuation) ya que en la realidad, no existe la atenuación cercana o Near Attenuation de la luz. Esta se configura de igual forma que con las luces standard.

Shape/Area Shadows: en esta opción podremos definir la forma en la que se proyecta la luz desde el emisor mediante la persiana Emit light from (shape). En esta tenemos las siguientes opciones:

– Point: proyecta una luz de punto, de forma similar a una ampolleta. Es la opción que viene por defecto y que utiliza la mayoría de los archivos IES al ser cargados.

fotometric004

– Line: proyecta la luz en forma lineal y es el ideal para simular, por ejemplo, tubos fluorescentes. Podremos configurar su largo mediante la opción Lenght.

fotometric004b

– Rectangle: proyecta la luz en forma de rectángulo. Podremos configurar el tamaño de este mediante las opciones Lenght y Width.

fotometric004c

– Disc: proyecta la luz en forma de disco. Podremos configurar su radio mediante la opción Radius.

fotometric004d

– Sphere: proyecta la luz en forma de esfera. Podremos configurar su radio mediante la opción Radius.

fotometric004e

– Cylinder: proyecta la luz en forma de cilindro. Podremos configurar su radio mediante la opción Radius y su altura mediante Height.

fotometric004f

fotometric007En los casos de distribución de tipo Rectangle, Disc, Sphere y cylinder podremos ver la forma de la distribución de la luz en el render si activamos la casilla Light Shape visible in Rendering.

fotometric008b

Render aplicado con Light Shape Visible in Rendering, con la distribución tipo Rectangle visible (Logarithmic Exposure Control activado).

fotometric008a

Render aplicado con Light Shape Visible in Rendering, con la distribución tipo Disc visible (Logarithmic Exposure Control activado).

fotometric008

Render aplicado con Light Shape Visible in Rendering, con la distribución tipo Sphere visible (Logarithmic Exposure Control activado).

Templates: en esta interesante opción podremos elegir de forma directa los tipos de configuraciones de luz realistas ya que tenemos por ejemplo las ampolletas de 40, 60 y 100 Watts, faros halógenos y otras luces exteriores y fuertes, como las luces de calle o incluso de un estadio.

fotometric005

Template 100W bulb (ampolleta de 100 watts).

fotometric005b

Template 4ft Cover Fluorescent (fluorescente).

fotometric005d

Template Street 400W Lamp (lámpara de calle de 400 watts).

fotometric005c

Template Stadium 1000W Lamp (lámpara de estadio de 1.000 watts).

Las luces fotométricas son recomendadas para ser utilizadas preferentemente con el motor de render Mental Ray ya que producen resultados más realistas y satisfactorios. También debemos tomar en cuenta que siempre debemos modelar nuestros objetos con medidas reales ya que las luces trabajan con estos valores y por ende los resultados son más precisos. Por último, en escenas interiores se recomienda aplicar GI mediante Mental Ray o Radiosity (Default Scanline Renderer) para generar la iluminación indirecta.

fotometric006

Render realizado con 4 luces fotométricas y aplicando el Plugin Radiosity.

fotometric006b

Render realizado con 4 luces fotométricas y aplicando GI de Mental Ray.

Bibliografía utilizada:

– Wikipedia en español: http://es.wikipedia.org.

– Web Iluminación Arquitectónica (imagen esquema Lumen/Lux):
http://editorial.cda.ulpgc.es/

– Tutorial GI Standard y Mental Ray del profesor Sebastián Huenchual H., Carrera Animación Digital 3D, Instituto DGM.

– 3DSMAX User Guide reference.

– Manuales USERS 3DSMAX por Daniel Venditti. Ediciones MP, Buenos Aires, Argentina.

3DSMAX Tutorial 03b: Herramienta Array (matriz)

En este tutorial conoceremos las diversas herramientas de matrices que nos ofrece 3DSMAX como Array. array nos permite realizar copias mediante filas y columnas, pero además podremos realizar las copias en pisos (eje Z). Comenzaremos conociendo las funciones de Array mediante la construcción de primitivas base y luego aplicando la herramienta correspondiente.

Para comenzar, Abrimos 3DSMAX (no necesitaremos modificar ningún parámetro por ahora).

Aplicando Array:

Antes de comenzar a utilizar esta herramienta previamente dibujaremos una línea ortogonal (presionando Shift) mediante los shapes de 3DSMAX y dibujaremos un cilindro que tendrá los siguientes parámetros:

Radius: 5, Height: 100.

Centramos el cilindro en el punto de origen y guardamos. Ahora procederemos a aplicar Array a este cilindro, seleccionándolo previamente. Como su nombre lo indica, Array (matriz) nos permite crear matrices de objetos mediante filas y columnas que definirán copias tanto en los ejes X, Y y/o Z. Podemos seleccionar esta herramienta en Tools >> Array. En el caso de nuestra escena, primeramente seleccionamos el cilindro y luego ejecutamos Array. Nos aparecerá el siguiente cuadro:

Donde tenemos lo siguiente:

Incremental/Totals X, Y y Z: si seleccionamos Incremental nos permite incrementar los valores de las distancias, rotaciones o escalas entre cada elemento, en Totals estableceremos los valores totales dependiendo del número de elementos. Ambos parámetros están relacionados entre sí ya que por ejemplo, si tenemos 4 elementos en Count y en Totals X establecemos la distancia 100, la distancia entre cada elemento en Incremental X será 25 de (ya que 25 x 4 = 100).

Move, Rotate y Scale: estas flechas son muy importantes pues nos permitirán seleccionar las variables que queramos incrementar, tanto entre elementos como en los totales. Presionando cada flecha podemos establecer si elegimos Incremental o Totals en cada transformación.

De esto se desprende que podremos ejecutar matrices de tipo rectangular, polar y escalada.

En el caso de los Incrementals y Totals, las unidades serán las siguientes: en el caso de move los valores serán los que trabajamos por defecto o la unidad de medida que le asignemos a 3DSMAX. En el caso de Rotate la unidad será en grados (degrees) y en el caso de Scale, será de porcentaje (percent).

Array Dimensions: nos permite establecer el tipo de matriz y el o los ejes en los cuales se crearán las copias. Si elegimos 1D, las copias se crearán en una dimensión según los valores que definamos en Incrementals. Si elegimos 2D agregaremos una segunda dimensión o eje y si elegimos 3D, tendremos las copias en las 3 dimensiones del espacio 3D.

Podremos ver la previsualización de nuestras copias presionando el botón Preview. En Total in Array veremos el total de los elementos que compondrán nuestra matriz y si hacemos click en Display as Box las copias se mostrarán como una caja en lugar de las formas 3D. Cuando hayamos configurado los parámetros presionamos OK para confirmar o Cancel para cancelar la operación. También podemos elegir el tipo de objeto resultante (Copy, Instance o Reference).

Aunque en principio parece un poco difícil entender este cuadro, realizaremos algunos ejercicios donde nos quedará claro el uso de esta herramienta.

Para ello volvemos a nuestro cilindro, ahora coloquemos el valor 20 a Incremental X en Move y en 1D asignemos el valor 6, junto con presionar Preview para ver el resultado, el cual debiera verse tal como en la foto de abajo:

Notaremos que el cilindro se ha copiado 5 veces en el eje X lo que nos da un total de 6 copias, y la distancia entre el punto de pivote de cada uno de los cilindros es de 20, lo que hace un total de 120 si vemos el valor de Totals en X.

Ahora coloquemos -10 a Incremental Y sin cambiar el resto de los parámetros. Esto hará que los elementos de la matriz se muevan en diagonal y hacia nosotros ya que ahora hemos agregado en el eje Y la distancia de -10 entre cada elemento, tal como se ve en la imagen de abajo. Esto es así porque recordemos que en el plano cartesiano, las distancias negativas en Y van hacia abajo. Si el valor fuera positivo las formas formarían una diagonal pero hacia arriba de la línea de origen.

Notaremos que las copias se mantienen en la diagonal ya que como hemos elegido la opción 1D, no crea más copias que en una sola “dimensión” aún cuando podemos manejar los valores de X, Y y Z, pero afectarán sólo a esta fila o columna de copias.

Para corroborar esto, asignemos ahora el valor -10 a Incremental Z. Esto hará que la distancia entre cada elemento de la matriz tome el valor -10 en el eje Z y por ende las formas bajan. Notaremos también que el valor Totals en Z es de -60, tal como se ve en la imagen de abajo:

De esto se desprende que si queremos realizar copias en el eje X sólo basta colocar la cantidad de elementos en 1D y luego la distancia entre los elementos en Incremental X, en el caso de Y lo hacemos en Incremental Y y en el caso de Z lo realizamos en Incremental Z.

En el caso que utilicemos la opción Rotate, es mejor utilizar los valores en Totals ya que como se expresan en grados, es más fácil realizar las divisiones si se conoce el ángulo total. En este caso la matriz será de tipo polar y tomará como base el punto de pivote del primer cilindro, y la rotación se efectuará en torno al eje que escojamos, en la foto de abajo por ejemplo, la rotación se efectúa en X.

Y aquí está el resultado de la rotación en torno a los ejes Y y Z, aplicando el valor 360. En caso que realicemos la rotación en Z, debemos tener el cilindro en posición horizontal para ver el resultado, tal como se ve en la imagen de más abajo:

Para el caso que utilicemos la opción Scale, es exactamente igual que en los casos anteriores, la diferencia es que los valores estarán expresados en porcentaje y los incrementos se aplicarán uno sobre otro. Es decir, si por ejemplo en nuestro cilindro aplicamos el valor 16 en incremental X y 111 (111%) en Incremental X Scale, la siguiente copia se escalará con ese valor, y la subsiguiente será la copia anterior ya escalada y se le volverá a aplicar ese 111%. El resultado en X en nuestro cilindro es el siguiente:

El resultado en Y, esta vez utilizando un 128% será el siguiente:

 El resultado en Z, esta vez utilizando un 82% será el siguiente: nótese que esta vez, la escala disminuye y por ende el tamaño de los objetos de la matriz.

Debemos recordar que en el caso de Scale, el valor 100 corresponderá al tamaño real de la forma 3D, y bajo ese margen estaremos reduciendo. Por el contrario, valores superiores al 100 agrandarán las dimensiones y por ende el objeto.

Y por supuesto, y al igual que en el caso de Spacing Tool, podemos combinar estos valores para formar diversos efectos en la matriz como podemos ver en la foto de al lado donde se han modificado los valores en Move, Rotate y Scale logrando este curioso efecto en el total de la matriz 1D:

Ahora bien, ya somos capaces de entender el manejo de las matrices en 1D, pero ahora ¿cómo creamos una matriz en 2 o 3 dimensiones? La respuesta está en el cuadro Array Dimensions y para activar la matriz en 2D simplemente cambiamos el modo a 2D y en el valor de Count asignamos la cantidad de copias. Sin embargo debemos tener en cuenta la opción Incremental Row donde además debemos asignar la distancia entre los elementos de esta segunda dimensión.

Para aclarar esto, volvemos a nuestro cilindro y esta vez asignamos el valor 20 en incremental en X (move), cambiamos a 2D y asignamos el valor 5 en Count. En Incremental Row Y escribimos el valor 20 y activamos Preview. Hemos creado una matriz en 2D y el resultado es el de la foto de la derecha. Como apreciamos, se crean 5 columnas en el eje Y y la distancia entre los objetos es de 20.

Al igual que en el caso de las matrices 1D, podemos modificar el movimiento de esta matriz simplemente manipulando los valores de Incremental Row. Si en el caso de nuestro cilindro modificamos el valor de Incremental Row en X a 10, notaremos como la matriz 2D se mueve en diagonal hacia el eje X tomando como referencia la distancia 10 entre los objetos.

También podemos realizar lo mismo en Z pero en este caso, la matriz subirá o bajará en diagonal tomando como referencia la distancia entre objetos en Z. En el caso de la imagen de abajo, se han modificado los parámetros de Incremental Row colocando el valor -29 en Z y manteniendo el valor de Y en 20.

Finalmente, si queremos obtener una matriz en 3 dimensiones simplemente cambiamos el modo de Array Dimensions a 3D, además de cambiar los valores de Count y la distancia de Incremental Row en Z para ver el resultado. En el caso de este ejercicio, en el modo 3D el valor de Count será 2 y la distancia en Z será de 120 para ver el resultado, el cual es el de la foto de abajo:

Debemos tomar en cuenta que si en el modo 3D cambiamos los valores de Count en 1D y 2D, esto afectará a los elementos de toda la matriz. Y al igual que en los casos anteriores, los valores que escribamos en X, Y y Z en Incremental Row moverán los elementos de la matriz 3D en torno a X, Y y Z. En la imagen de abajo por ejemplo, el valor en X de Incremental Row es 30 y el de Z, 110. Los elementos de la fila en Z se mueven hacia la izquierda, en torno al eje X.

Finalmente en este otro ejemplo, el valor en Y de Incremental Row es -60 y el de Z, 110. Los elementos de la fila en Z se mueven hacia nosotros, en torno al eje Y.

Este es el fin del tutorial 03b.

3DSMAX Tutorial 03a: Spacing Tool (espaciado)

En este tutorial conoceremos las diversas herramientas de matrices que nos ofrece 3DSMAX como Spacing Tool, la cual nos permite ir distribuyendo de manera precisa copias de un objeto a través de un recorrido. Comenzaremos conociendo las funciones de Spacing Tool mediante la construcción de primitivas base, y luego aplicando la herramienta correspondiente.

Para comenzar, Abrimos 3DSMAX (no necesitaremos modificar ningún parámetro por ahora).

Aplicando Spacing Tool:

Antes de comenzar a utilizar esta herramienta previamente dibujaremos una línea ortogonal (presionando Shift) mediante los shapes de 3DSMAX y dibujaremos un cilindro que tendrá los siguientes parámetros:

Radius: 5, Height: 100.

Centramos el cilindro en el punto de origen y guardamos. La idea es que la escena nos quede de forma similar a la foto de abajo:

sptool00

Como su nombre lo indica, Spacing Tool nos permite distribuir copias de manera uniforme de un objeto en torno a un espacio determinado o recorrido. Podemos seleccionar esta herramienta en Tools >> Align >> Spacing Tool (imagen de abajo a la derecha). En el caso de nuestra escena, primeramente seleccionamos el cilindro y luego ejecutamos spacing Tool. Nos aparecerá el siguiente cuadro:

Si presionamos el botón Pick Path (obtener recorrido), podremos seleccionar la línea en la cual las copias se distribuirán de forma uniforme según el número de copias que establecimos en el campo Count. Si en cambio elegimos la opción Pick Points (obtener puntos), podremos elegir puntos cualesquiera en el espacio y en la recta que se forma entre estos se distribuirán nuestras copias.

En esta imagen de abajo vemos la aplicación de Spacing Tool mediante la opción Pick Points: en el caso de nuestra escena, seleccionamos el primer extremo de la línea y hacemos click, luego el siguiente para finalizar con click:

sptool01b_pickpoints

El resultado final es que las copias se distribuirán a lo largo de la recta formada entre estos puntos, indicada en verde. Esto puede realizarse en cualquier coordenada del espacio 3D si utilizamos esta opción, sin necesidad de dibujar una línea.

Ahora bien, si elegimos la opción Pick Path nos bastará con elegir la línea para que las copias se distribuyan en ella. En el caso de nuestra escena establecimos el valor 6 en Count lo cual se refleja claramente en el resultado final (imagen de abajo), además que el botón de Pick Path ahora cambia al nombre de la línea.

Entre los parámetros más importantes de Spacing Tool encontramos los siguientes:

Count: indica la cantidad de elementos. Podemos determinar la cantidad de elementos que queremos distribuir en la línea o el espacio.

Spacing: espacio entre los puntos de pivote de cada elemento. Por defecto este nos distribuye equitativamente el espacio de los elementos de acuerdo al recorrido o los puntos que hemos elegido, pero si lo activamos podemos modificar a nuestro antojo esta distancia, la cual puede ser menor que el recorrido o salirse de este (foto de arriba).

Start Offset: nos permite definir la distancia de inicio de la distribución de los elementos. Por defecto la primera copia se establece en el primer extremo de una línea o primer punto, pero si la activamos podremos modificar esta distancia a nuestro antojo. En el caso de nuestra escena (imagen del abajo), se ha aplicado el valor 50 a Start Offset y claramente vemos como la distribución empieza a moverse 50 UG respecto al primer extremo de la línea.

End Offset: nos permite definir la distancia final de la distribución de los elementos. Por defecto la última copia se establece en el segundo extremo de una línea o segundo punto, pero si la activamos podremos modificar esta distancia a nuestro antojo. En el caso de nuestra escena (imagen de abajo), se ha aplicado el valor 50 a Start Offset y claramente vemos como la distribución empieza a moverse 50 UG respecto al extremo inferior de la línea.

Una cosa interesante de Start Offset y End Offset es que ambas pueden combinarse y aplicarse al mismo tiempo, lo que influirá evidentemente en la distancia final de las copias. Sin embargo, si activamos ambas al mismo tiempo no podremos activar la opción de Spacing.

Debajo de estas opciones también podemos ver un menú desplegable que nos indica particularmente qué tomaremos en cuenta en la subdivisión, como por ejemplo activar o desactivar las opciones.

Las opciones de este menú son:

Free Center: centro libre.

Divide Evenly, Objects at ends: divide equitativamente objetos en los extremos. Esta es la opción por defecto.

Centered, Specify Spacing: Centrado, se puede especificar espacio mediante Spacing.

End Offset: especificar final de recorrido.

End Offset, divide Evenly: final de recorrido, dividir equitativamente.

Start Offset, Specify Spacing: final de recorrido, especificar espacio.

Start Offset: especificar inicio de recorrido.

Start Offset, divide Evenly: inicio de recorrido, dividir equitativamente.

Start Offset, Specify Spacing: inicio de recorrido, especificar espacio.

Specify Offsets and Spacing: especifica inicio, fin de recorrido y espacio entre los elementos.

Specify Offsets, Divide Evenly: especifica inicio, fin de recorrido y dividir equitativamente.

Space from end, Unbounded: al activarlo y aumentar el valor de Space, End Offset tomará el mismo valor de forma ilimitada.

Space from end, Specify Number: al activarlo y aumentar el valor de Count, End Offset tomará el mismo valor que Spacing y los objetos se irán distribuyendo en el recorrido (tomando el extremo inicial como base), aunque a mayor cantidad de objetos más pequeño es el valor de spacing.

Space from end, Specify Spacing: al activarlo y aumentar el valor de Spacing, los objetos irán disminuyendo su número. Si disminuimos su valor, los objetos aumentarán en cantidad y se distribuirán a lo largo del recorrido a partir del extremo final.

Space from Start, Unbounded: al activarlo y aumentar el valor de Spacing, Start Offset tomará el mismo valor de forma ilimitada.

Space from Start, Specify Number: al activarlo y aumentar el valor de Count, Start Offset tomará el mismo valor que Spacing y los objetos se irán distribuyendo en el recorrido (tomando el extremo final como base), aunque a mayor cantidad de objetos más pequeño es el valor de spacing.

Space from Start, Specify Spacing: al activarlo y aumentar el valor de Spacing, los objetos irán disminuyendo su número. Si disminuimos su valor, los objetos disminuir en cantidad y se distribuirán a lo largo del recorrido a partir del extremo inicial.

Specify Spacing, Matching Offsets: dividir equitativamente los objetos, pero estos se distribuyen hacia los extremos del recorrido y disminuirán en cantidad según aumentemos el valor de Spacing.

Divide Evenly, No Objects at Ends: dividir equitativamente los objetos, pero estos se distribuyen hacia los extremos del recorrido según aumentemos los objetos en Count.

Context: esta herramienta nos permite elegir bajo qué relación se especifica la distribución de los objetos. En el caso de la opciòn llamada Edges, tomará como punto un lado de la forma 3D de acuerdo a la imagen de abajo:

spacing001a

Y en el caso de Centers tomará el centro de esta (normalmente el punto de pivote):

spacing001

Una opción muy interesante de context es Follow (seguir), si la activamos permitirá a formas no redondas seguir el recorrido de la línea, tomando como referencia los ejes locales de los objetos. Esto es muy útil sobre todo cuando lo aplicamos en elementos ortogonales. En la imagen podemos ver la distribución típica de una box 3D a lo largo de una línea curva mediante Spacing Tool:

En la imagen de abajo (con Follow aplicado) vemos claramente que las formas siguen a la línea.

Type of Object: en esta opción podemos elegir el tipo de copia que realizará spacing Tool de acuerdo a los tipos que conocemos: Copy, Instance o Reference.

Finalmente podemos aplicar la transformación presionando Apply o cancelarla mediante Cancel.

Spacing Tool funciona tanto en formas rectas o curvas, también lo hace en formas 2D cerradas como rectángulos o elipses, aunque los efectos serán dispares según activemos la opción Follow o no.

sptool04c

sptool04d

Este es el fin del tutorial 03a.

3DSMAX Tutorial 10: Animación en 3DSMAX, introducción y conceptos básicos

Desde los tiempos primitivos el hombre ha intentado representar el movimiento, pasando por inventos como el zootropo hasta llegar a los dibujos animados modernos. Valiéndose del principio físico de la persistencia de la visión, es decir, en la que el cerebro humano retiene durante unas fracciones de segundo la imagen que captan sus ojos, los cineastas descubrieron que el cerebro, al ver una secuencia de imágenes a gran velocidad no es capaz de individualizarlas y por ende, esta confusión crea la ilusión de movimiento continuo. Esta secuencia de imágenes a gran velocidad es lo que se conoce como animación. Actualmente la animación puede ser de dos tipos base: en 2D y en 3D. En la categoría 2D se incluye la animación tradicional en papel, Flash, Anime Studio u otro software similar, y en el caso de 3D se consideran las animaciones mediante gráficos computarizados o CGI (Computer-Generated Imagery) y las “Stop Motion”, o animación cuadro a cuadro realizada con modelos 3D físicos.

En este tutorial aprenderemos conceptos y principios básicos de animación, y realizaremos una introducción a ella en el software 3DSMAX. En futuros tutoriales se verán elementos específicos de animación en el programa como por ejemplo, constraints y curvas. Para la correcta realización de este tutorial, en la página de descargas de los archivos de tutoriales 3D está el archivo base llamado 3dsmax_animacion_intro.max.

Concepto de FPS y normativa relacionada

En una animación cada una de las imágenes o dibujos que definen esta se denomina cuadro o frame, y la fluidez de la animación dependerá de la cantidad de cuadros “por segundo” que pasen ante nuestros ojos. Básicamente la cantidad de “cuadros por segundo” nos indica el número de imágenes que se muestran en un segundo de tiempo, y se simboliza como FPS o mejor dicho, Frames Per Second.

En base a este principio fundamental se establece el concepto de FPS como norma para determinar el formato que se utiliza en las películas de cine y las transmisiones de televisión, y dependiendo de la zona geográfica se establecen las siguientes normativas:

Norma NTSC
Significado National Television System Comittee
Países que abarca Norte y Sudamérica, Japón, Chile, parte de áfrica 
FPS 29,97 (se asumen 30)

Variantes: NTSC-M, NTSC 4,43 y NTSC-J (Japón).

Norma PAL
Significado Phase Alternating Line
Países que abarca Europa, Asia, Argentina, Brasil, Oceanía, parte de África.
FPS 25

Variantes: PAL-M (Brasil), PAL-N (Argentina).

Norma SECAM*
Significado Séquentiel Couleur à Mémoire
Países que abarca Europa (Francia), Rusia, Parte de África
FPS 25

Variantes: SECAM L-L’ (Francia), SECAM B/G (Arabia Saudita), SECAM D/K (Europa del Este), SECAM H, SECAM K, SECAM M (Camboya y Vietnam).

*La norma SECAM es la base de la norma PAL, y por lo tanto ya está obsoleta.

Norma FILM
Significado Cine
Países que abarca Todo el mundo 
FPS 24

De todo lo anterior se deduce que la normativa utilizada en Chile es NTSC, y por ende los ejercicios y tutoriales de animación en 3DSMAX estarán acogidos a esta norma.

Concepto de cuadro clave

En las primeras décadas del siglo XX (y aún hoy) los dibujos animados eran realizados dibujando el o los personajes “cuadro por cuadro”. Al ser esta una tarea titánica ya que, por ejemplo, para realizar 5 minutos de animación debemos dibujar unos 7.200 cuadros, los animadores se encargaban de dibujar las poses principales de los personajes para que luego animadores secundarios o asistentes dibujaran los cuadros intermedios y con ello completaran la animación. A partir de esto, nace el concepto de cuadro clave o keyframe.

Un cuadro clave es básicamente la o las poses que definen los diferentes estados de una acción y por ende son vitales para que la animación funcione correctamente. En una animación sencilla como por ejemplo mover un objeto de un lado a otro, la posición inicial y la final de este son los cuadros clave. Si agregamos complejidad a esta misma secuencia girando 180° el objeto en la mitad de la animación, debemos definir dos nuevos cuadros clave: uno que inicie la rotación y otro que finalice el movimiento, este último puede coincidir o no con el cuadro final dependiendo de lo que queramos realizar. El ejemplo anterior puede ejemplificarse en el esquema siguiente:

De igual forma podemos deducir los cuadros clave para animaciones más complejas como por ejemplo, la animación de personajes u otros objetos. Sin embargo, debemos evitar abusar de los cuadros clave ya que si colocamos demasiados en la escena, podemos terminar confundidos a la hora de editar el movimiento mismo.

Principios básicos de la animación

Estos principios fueron propuestos por los animadores de Disney Ollie Johnston y Frank Thomas en su libro The illusion of life: Disney Animation, y el objetivo era que los personajes animados se apegaran a las leyes de la física aunque también se enfocaron a otros factores que enriquecen a la animación como por ejemplo, el carisma y las emociones de los personajes. En total tenemos 12 principios base y se aplican a 2D y a 3D, y son los siguientes:

1) Estirar y encoger: es el principio fundamental pues al deformar una figura nos da una sensación de peso y/o flexibilidad, lo cual nos genera animaciones realistas. Un ejemplo de esto es el rebote de una pelota de goma en el suelo, la cual se aplasta al impactar la tierra y luego se estira tras el rebote.

2) Anticipación: es la acción previa a un acto concreto que busca preparar a los espectadores. Si ejemplificamos esto en una persona parándose, notaremos que esta nunca se para directamente sino que tenderá a inclinarse antes, o a apoyarse en una silla si esta está sentada.

3) Puesta en escena: esto busca presentar claramente el concepto que se quiere decir en cada escena ya sea una emoción o un acto concreto en un contexto adecuado, de forma similar al teatro.

4) Animación directa y pose a pose: el primer concepto consiste en dibujar la animación directamente, es decir, comenzar con el primer dibujo y luego seguir dibujando cuadro a cuadro hasta completar la animación total. La segunda consiste en definir poses “clave” (keyframes) y luego otros animadores dibujan los rellenos entre estas para completar la animación (intercalación).

5) Acción complementaria y acción superpuesta: la primera consiste en que los elementos móviles ajenos del cuerpo de un personaje son independientes del movimiento de este, como por ejemplo la ropa la cual se sigue moviendo aunque el personaje haya dejado de hacerlo (aunque están relacionados entre sí ya que esta seguirá la dirección de movimiento del personaje). La segunda se define como los rangos de movimiento del cuerpo de un personaje ya que se mueven de diferente manera y/o tiempo. Si ejemplificamos esto podemos afirmar que la cabeza no se mueve de igual forma que un ojo o una pierna.

6) Acelerar y desacelerar: para que una animación sea más fluida y realista, tendremos mayor cantidad de dibujos en el inicio y el final de una acción mientras que en la mitad de esta tendremos menos.

7) Uso de Arcos: en la realidad la mayoría de las acciones poseen trayectoria de movimiento en forma de arco o de parábola, y por ende en cada acción se deberá usar como referencia el arco para definir la trayectoria. Sin embargo, existen excepciones a esta regla como por ejemplo la mecánica ya que la trayectoria suele ser recta.

8) Acción secundaria: es una acción extra que se añade a la escena para generar más énfasis en ella misma sin que por ello afecte a la acción principal, podemos ejemplificar esto en dos personas cenando a la luz de una vela la cual obviamente se anima para generar la sensación de intimidad en la escena.

9) Timing: se define como el proceso de alentar o apurar la animación de acuerdo a la cantidad de dibujos. Por esto mismo, muchos dibujos tenderán a alentar la acción mientras que menor cantidad de estos generan una sensación de rapidez.

10) Exageración: si bien la animación muchas veces busca acercarse a la realidad, en ciertos casos conviene exagerar las acciones para dar más énfasis o humor a determinadas situaciones o personajes de la escena.

11) Dibujo sólido o estructura: un buen dibujo debe tener siempre una estructura que se basa en líneas de acción y el reconocimiento de los volúmenes o primitivas que dan forma a los personajes, además de la tridimensionalidad implícita y sensación de peso lo cual hará más creíble y realista la animación.

12) Atractivo visual: una animación atractiva hace que el espectador ponga atención en ella y se conecte con los personajes. También se le conoce como “carisma”.

Como podemos apreciar, la animación en general es un proceso muy complejo ya que además de seguir estos 12 principios base, se requiere de muchísima práctica y bastante observación de la realidad para lograr resultados convincentes y/o realistas. Sin embargo, si llevamos los principios de la animación al ámbito de la Arquitectura, esta se limita básicamente a animar “cámaras” ya que lo que realmente haremos será destacar el exterior y/o el interior de un proyecto y por ende, mediante estas se mostrarán los diferentes aspectos que se requieran ya sea su visión general, espacios internos u otras funciones que necesitemos. En algunos casos muy puntuales podemos abrir o cerrar puertas, colocar vehículos moviéndose o personas caminando aunque esto último requiere de mucha destreza, ya que estaríamos hablando derechamente de animación de personajes.

Animando en 3DSMAX: interfaz y funciones base

A diferencia de la animación 2D tradicional, en 3DSMAX tenemos la ventaja que el programa dibuja los cuadros intermedios (o también llamados interpolación o intercalación) de forma automática mientras nosotros sólo debemos definir los cuadros clave. Otra ventaja particular del programa es que si dominamos el modelado 3D orgánico y sobre todo el rigging, podremos animar lo que nosotros queramos ya que este software está especialmente diseñado para animación de personajes y render, por lo que podremos crear nuestro propio mundo virtual en este y realizar sin problemas una película o un videojuego.

Como principio fundamental en el programa, debemos entender perfectamente cómo crear y editar keyframes ya que esto es fundamental para crear animaciones realmente convincentes y realistas.

Si nos vamos al programa y lo cargamos, veremos la siguiente interfaz:

Las zonas en verde definen los comandos necesarios para crear y producir la animación en el programa. En la parte superior veremos el menú de animación llamado Animation y el Curve Editor, mientras que en los paneles de comandos esta tiene su propia persiana llamada Motion, donde podremos modificar o editar una animación en específico de forma similar al panel de modificar. La zona más importante es sin duda la inferior, ya que allí vemos la mayoría de los controles de animación de 3DSMAX.

Lo primero que apreciamos en esta zona inferior es la llamada línea de tiempo, la cual va es una especie de regla que va desde el “0” hasta el “100” y que por defecto está medida en Frames o cuadros. Si aplicamos esto a la norma NTSC, tenemos 3,33… segundos de tiempo.

Encima de esta tenemos un botón que nos indica el número de Frame o cuadro en el cual estamos posicionados según el formato Frame actual/Frames totales (en el ejemplo es 61/100), y se conoce como Regulador de tiempo. Las flechas laterales de este nos permitirán avanzar cuadro a cuadro por nuestra animación a la izquierda o derecha. El cuadro en amarillo (o celeste en versiones más antiguas de 3DSMAX) indica exactamente el Frame en el cual se posiciona la línea de tiempo y que se corresponde con el primer valor.

Tip: si colocamos el mouse dentro del regulador de tiempo, presionamos el primer botón y luego arrastramos, podremos mover libremente al regulador por toda la línea de tiempo.

Barra de controles de animación

La barra de controles de animación se encuentra en el lado inferior derecho del programa, y nos sirve para controlar la creación de Keyframes, el modo de animación y otros parámetros importantes.

Controles de animación en versiones antiguas de 3DSMAX.

Controles de animación en versiones nuevas de 3DSMAX.

Si analizamos la barra más a fondo, esta está compuesta de las siguientes partes:

1) Set Key: esta función determina la animación de tipo manual. En este caso deberemos establecer los Keyframes cada vez que iniciemos y/o terminemos una determinada animación. Por ende, podremos crear un keyframe en cualquier momento presionando el signo (+). Por norma SIEMPRE debemos crear un keyframe en el cuadro “0” al iniciar cualquier animación si usamos este parámetro, ya que de otra manera la animación no funcionará.

2) Auto Key: esta función determina la animación de tipo automática. En este caso bastará con activarla y luego realizar alguna acción para que esta funcione, ya que no necesitamos crear keyframes puesto que el parámetro mismo los establece automáticamente al realizar cualquier acción. Por norma, al usar Auto Key siempre debemos ir a un frame mayor (o menor) que “0” y luego realizar la acción ya que de otro modo la animación no funcionará.

3) Selected:

4) Controles de reproducción de animación: este control nos permite reproducir la animación o ir a ciertos cuadros de esta. Los controles del panel son los siguientes:

a) Go to Start: ir al primer cuadro.
b) Previous Frame: ir al cuadro anterior al posicionado.
c) Play/Pause: Play reproducirá la animación mientras que si lo presionamos de nuevo tendremos la pausa.
d) Previous Frame: ir al cuadro siguiente al posicionado.
e) Go to End: ir al último cuadro.

5) Tangents to Default: define el tipo de tangentes a definir por defecto al iniciar o crear cualquier animación mediante Set Key o Auto Key. Por defecto la tangente es una forma de “S”, pero puede ser modificada mediante las curvas de animación. Si mantenemos el botón del mouse presionado podremos ver todas las tangentes disponibles.

6) Key filters (Open filter Dialog): esta interesante opción permitirá a Set Key decidir que podrá animar o qué no, ya que al activarla nos aparece un menú donde podremos decidir lo elementos a animar. Si queremos que Set Key permita animar todo simplemente elegimos la opción All.

7) Key Mode Troggle: nos permite cambiar los parámetros del reproductor de animación de tal forma que en lugar de ir a un frame o cuadro específico nos permita ir a cuadros clave, siempre y cuando seleccionemos un objeto previamente y este contenga keyframes. Al activarla, las funciones Previous Frame y Next Frame cambian a Previous Key(frame) y Next Key(frame) respectivamente, tal como se destaca en la imagen siguiente:

En verde las nuevas funciones Previous Key y Next Key, las cuales aparecen al activar Key Mode Troggle.

8) Frame Number: nos indica el cuadro o Frame donde está posicionado el regulador de tiempo. Podemos ir a los siguientes o anteriores si presionamos las flechas laterales.

9) Time Configuration: esta opción nos permitirá configurar parámetros relacionados al tiempo o escala de la animación. Al activarlo, accederemos al cuadro siguiente:

Las funciones que disponemos son las siguientes:

1) Frame Rate: nos permite asignar la normativa de FPS a aplicar en la animación. Por defecto es NTSC pero también podremos elegir la norma PAL, Film o incluso asignar una normativa personal mediante la opción Custom. Un aspecto interesante es que si estamos trabajando en una norma como NTSC, activamos Adjust Keys y la cambiamos a otra como PAL, los cuadros clave se escalarán a la nueva norma y estas modificarán la línea de tiempo.

En el ejemplo una animación en norma NTSC.

La misma animación en norma PAL pero sin la opción Adjust Keys.

La misma animación en norma PAL pero con la opción Adjust Keys activada.

La misma animación pero con norma Custom, donde se definen 50 FPS.

2) Time Display: mediante esta opción podemos establecer el método para mostrar el tiempo en el regulador de tiempo y en el programa. Por defecto es en cuadros o Frames, pero también podremos establecer el tiempo en minutos, segundos y centésimas si lo deseamos (SMPTE). También podremos establecer el tiempo mediante cuadros/impulsos (FRAME/TICKS) y minutos y segundos/impulsos (MMSS/TICKS). Para entender esto último, hay que saber que Internamente 3DSMAX fracciona el tiempo en impulsos, donde 1 impulso equivale a 1/4800 partes de 1 segundo.

La animación del ejemplo anterior pero en este caso el tiempo se ha definido mediante SMPTE.

La animación del ejemplo anterior pero en este caso el tiempo se ha definido mediante FRAMES/TICKS.

La animación del ejemplo anterior pero en este caso el tiempo se ha definido mediante MMSS/TICKS.

3) Playback: mediante este panel podemos establecer la velocidad de reproducción que queramos en la o las viewports: esta puede ser en tiempo real o Real Time el cual dependerá de la capacidad de nuestro PC, además que disponemos de 5 velocidades de reproducción:

1/4x (cuatro veces más lento).
1/2x (dos veces más lento).
1x (velocidad normal, por defecto).
2x (dos veces más rápido).
4x (cuatro veces más rápido).

Si queremos reproducir la animación sólo en la vista seleccionada activaremos Active Viewport Only, si queremos activar o desactivar la repetición infinita de la animación marcaremos o desmarcaremos Loop. Un aspecto interesante es que si desactivamos la opción Real Time, accederemos a la función Direction la cual nos permitirá reproducir la animación de tres formas distintas: Forward (hacia adelante), Reverse (hacia atrás) y Ping Pong (hacia adelante y luego hacia atrás).

Cabe recalcar que las funciones de Playback sólo serán válidas en la o las viewports de trabajo, pues al renderizar la animación la velocidad de esta será siempre de 1X. Podemos ver algunos ejemplos de esta función en los vídeos siguientes:

Animación reproducida en 1/4X

Animación reproducida en 1X (velocidad normal)

Animación reproducida en 1X (Render)

4) Animation: nos permite determinar la duración total o parcial de nuestra animación, según el tipo de tiempo que hemos definido previamente en Time Display. Esta función dispone de las siguientes opciones:

a) Start Time: podemos elegir el inicio de nuestra animación, el cual no tiene que ser necesariamente “0” ya que podemos iniciarla en algún frame específico incluso si este es negativo (ejemplo: -30).

b) End Time:
podemos definir el final del último cuadro de nuestro segmento de tiempo. Cabe destacar que si tenemos una animación creada entre los cuadros por defecto 0 y 100 y agregamos más tiempo mediante End Time, esto NO escalará la animación. Si por el contrario acortamos el tiempo, los cuadros clave sólo se mostrarán hasta el tiempo asignado.

c) Lenght:
se relaciona con las anteriores y representa la cantidad de tiempo total. Si modificamos este factor también lo hará End Time.

d) Frame Count:
se relaciona con las anteriores y nos indica el cuadro de conteo o lo que es igual, el número de imágenes o cuadros necesarios para que la animación se renderice correctamente. Por ello, SIEMPRE será la longitud total más uno (+1).

e) Current Time:
nos muestra la posición actual del regulador de la línea de tiempo.

f) Re-scale Time:
esta interesante opción nos permitirá reescalar el segmento completo de animación activo para ajustarlo a un nuevo tiempo, sea este mayor o menor. Si presionamos el botón Re-scale Time se nos abrirá el cuadro siguiente:

En este podremos definir los nuevos parámetros de tiempo ya que las funciones son las mismas de Animation, y con ello podremos escalar TODOS los objetos que tengamos animados en la escena ya que por definición Re-scale time es una escala de tiempo y por ello todos los cuadros clave son re-escalados, lo cual nos permite acelerar o desacelerar una animación.

Tip: como norma general, se recomienda primeramente realizar todas las animaciones en los frames por defecto de 0 a 100 y luego aplicar Re-scale Time para definir el tiempo final de estas.

Métodos de creación de animación en 3DSMAX

Para crear animaciones en 3DSMAX existen dos caminos básicos que son los siguientes:

a) Transformar un objeto mediante operaciones de transformación de objetos como mover, rotar o escalar: en este caso nos bastará mover, rotar y/o escalar un objeto en el tiempo siempre y cuando tengamos alguna opción de animación activa.

b) Transformar un objeto mediante la aplicación de modificadores u otros, o editar algún parámetro en el tiempo: en este caso podemos animar un modificador o jerarquía en el tiempo, o definir algún restrictor (constraint) de animación. Por defecto, todos los modificadores son animables en 3DSMAX si por defecto establecemos el modo de animación Auto Key.

Modos de animación en 3DSMAX

Cuando comenzamos a animar en 3DSMAX, cada cuadro en el cual realizamos un cambio se transforma en un keyframe y el programa realiza la interpolación automática de los frames intermedios hasta llegar al keyframe anterior. Para animar en 3DSMAX podemos elegir los siguientes modos de animación ya definidos:

1) El modo de animación automático o Auto Key.

2) El modo de animación manual o Set Key.

Como ya dijimos antes, el modo automático no requiere la creación de un Keyframe previo en el cuadro “0” mientras que en el modo manual sí debemos hacerlo. Además, los resultados son diferentes según se ocupe un modo u otro ya que en la mayoría de los casos, Set Key permite un mejor control de la animación a pesar de ser más trabajoso que Auto Key. Sin embargo, en ciertos tipos de animaciones (como por ejemplo los Constraints y los modificadores) Auto Key es la solución más eficiente y rápida. Para entender la diferencia entre ambos modos, haremos un pequeño ejercicio de animación. Para ello utilizaremos el archivo llamado 3dsmax_animacion_intro.max y cuando lo abramos, nos aparecerá la siguiente escena:

En este caso tenemos un par de autitos muy sencillos llamados “AUTO” y “SET” junto a un camino curvado y un plano. La idea del ejercicio es realizar la siguiente animación: primeramente avanzaremos por el camino en torno al eje X, luego giraremos 90° en la curva para finalmente seguir por el camino en torno al eje Y. El auto azul representará a Auto Key mientras que el rojo será Set Key. Si esquematizamos la animación a realizar para cada vehículo, el resultado es el siguiente:

En total tendremos 4 cuadros clave ya que primeramente iniciamos el movimiento en el eje X, luego en el inicio de la curva iniciamos el giro hacia Y para terminar este en el final de esta, para finalmente seguir por el camino dado por el eje Y.

Comenzaremos animando el auto que representa a Auto Key. Para ello, presionaremos el botón Auto Key y de inmediato notaremos que la línea de tiempo se vuelve roja, lo cual nos indica que está en modo de animación. Ahora colocamos el regulador de tiempo en el cuadro 30 y movemos el auto por la recta en X hasta llegar al inicio de la curva. Una vez que lo movamos notaremos que en 0 y en 30 se han creado 2 cuadros rojos. Estos son los cuadros claves que ha creado el programa de manera automática y que vemos en la imagen siguiente:

Ahora procederemos a colocar el regulador de tiempo en el cuadro 55, giramos el auto en 90° y al mismo tiempo lo movemos en XY de manera que este apunte hacia el camino del eje Y al final de la curva (en este caso, se debe usar Angular Snap para que el giro sea preciso). Una vez hecho esto, notaremos que en ese cuadro se ha creado un nuevo Keyframe:

Finalizamos la animación del auto “AUTO” colocando el regulador de tiempo en el cuadro 100 y luego moviendo el auto en el eje Y hasta llegar al final del plano. Con esto nuestra animación está completa.

Ahora corresponde el turno de animar el auto “SET”. En este caso, lo primero que haremos será activar Set Key y notaremos que la línea de tiempo se vuelve roja, indicándonos que estamos en el modo de animación. Como Set Key es la animación manual, debemos presionar el signo (+) para establecer el primer Keyframe en “0”. Es importante realizar esto ya que de otro modo, la animación no funcionará. Una vez hecho esto, procedemos a realizar lo mismo que en el otro vehículo, es decir, nos colocamos en el cuadro 30 y luego movemos el vehículo en X hasta llegar al inicio de la curva. Al finalizar este paso, nuevamente debemos presionar el signo (+) para establecer el cuadro clave. El resultado debe ser similar a la imagen siguiente:

Ahora procederemos a colocar el regulador de tiempo en el cuadro 55, giramos el auto en 90° y al mismo tiempo lo movemos en XY de manera que este apunte hacia el camino del eje Y al final de la curva (en este caso, se debe usar Angular Snap para que el giro sea preciso). Una vez hecho esto, presionamos nuevamente el signo (+) para establecer el tercer Keyframe:

Finalizamos la animación del auto “SET” colocando el regulador de tiempo en el cuadro 100, luego moviendo el auto en el eje Y hasta llegar al final del plano y finalmente presionando el signo (+) para definir el cuarto y último keyframe. Con esto nuestra animación ya está completa.

Si renderizamos la animación final de ambos vehículos, el resultado será el siguiente:

Como se aprecia en el vídeo, notamos que el auto “AUTO” literalmente “derrapa” al doblar la curva mientras que el auto “SET” la enfrenta de manera más realista. En el caso de “AUTO”, esto ocurre porque Auto Key asume que al aplicar la transformación de rotación esta comienza en el Frame “0” y por ello cuando aplicamos Rotate, Auto Key inmediatamente crea un cuadro clave en esa posición. En el caso de Set Key, el problema se resuelve ya que cada cuadro clave creado por este modo asume por defecto que las transformaciones se inician precisamente en el cuadro clave creado y no en el Frame “0”, y por lo tanto podemos establecer la rotación sin afectar a lo animado en los cuadros anteriores. Por esto mismo es que Set Key es el más utilizado de los modos ya que a pesar de ser evidentemente más lento que el modo automático, a la larga es el más ventajoso puesto que se tiene mayor y mejor control de la animación. Otro ejercicio interesante que podemos realizar es tomar cualquiera de los vehículos y en la línea de tiempo podremos editar los Keyframes de las siguientes formas:

– Mover: seleccionamos el Keyframe con el cursor del mouse, luego presionamos el primer botón de este y arrastramos el Keyframe manteniendo el botón presionado. Al seleccionar un Keyframe, por defecto cambiará a color blanco.

Moviendo el Keyframe desde el cuadro “0” hasta el cuadro 15.

– Copiar: es mover el keyframe pero además presionando y manteniendo la tecla SHIFT. Podemos copiar tantos Keyframes como queramos.

Copiando el Keyframe desde el cuadro “0” hasta el cuadro 15.

– Borrar: seleccionando cualquier Keyframe, presionamos la tecla SUPR (Suprimir).

Podemos practicar estos modos de edición en el ejercicio anterior para lograr distintos efectos en nuestra animación de base. El dominio de la edición de Keyframes es fundamental para crear animaciones realmente convincentes y realistas, al igual que su edición mediante las llamadas Curvas de animación las cuales nos permitirán suavizar o endurecer las trayectorias. Cabe decir que cuando transformamos un objeto ya sea moviéndolo, rotándolo o escalándolo, automáticamente se crean curvas de trayectoria en los ejes en los cuales hemos aplicado la transformación las cuales serán visibles al abrir el editor de curvas o Curve Editor.

Trayectorias de X y Y de la animación del auto “SET” del ejercicio anterior, vistas en el Curve Editor.

En los siguientes tutoriales se verán conceptos más profundos sobre animación en 3DSMAX, como por ejemplo:

Jerarquías o Cinemática directa.
– Curvas de animación o Curve Editor.
– Constraints o restrictores de animación.
– Animación de cámaras.
– Animación mediante Rigging (Wire Parameters).
– Cinemática inversa (IK Chain).

Este es el fin de este tutorial.

Bibliografía utilizada:

– Tutorial Animation Essentials del profesor Sebastián Huenchual H., Carrera Animación Digital 3D, Instituto DGM.

– 3DSMAX User Guide reference.

– Manuales USERS 3DSMAX por Daniel Venditti. Ediciones MP, Buenos Aires, Argentina.