3DSMAX Tutorial 10c: Animación mediante Path Constraint

En el mundo de la animación 3D todo lo que se mueve, rota o escala, es decir, todo lo que es posible de “animar” siempre está manejado por un controlador. En el caso de 3DSMAX, un controlador es un plugin que controla el almacenamiento y la interpolación de todos los valores animados, es decir, gestiona todas las tareas de animación. En el programa tenemos tres tipos de controladores predeterminados y estos son los siguientes:

– Posición: Position XYZ.
– Rotación: XYZ Euler.
– Escala: Escala Bézier.

Además de los controladores de animación standard, también disponemos de un tipo especial de controladores llamados Restrictores o Constraints los cuales son precisamente “restrictores de movimiento” que nos facilitan bastante el proceso de animación, ya que gracias a estos se puede restringir y/o controlar la posición, rotación y escala de un objeto. Dependiendo del tipo de animación que deseemos realizar dependerá la cantidad de objetos que necesitemos para aplicar un constraint.

En este tutorial veremos animación de objetos mediante el constraint especial llamado Path Constraint ya que al igual que en el caso de Anipath de AutoCAD, este controlador nos permitirá animar cámaras enlazándolas a uno o más recorridos llamados PATH, los cuales pueden ser abiertos o cerrados ya que en el caso de la Arquitectura, la animación base son las cámaras las cuales se utilizan para enfocar o mostrar el exterior e interior de un proyecto o edificación. Si bien este constraint es el más indicado para animar cámaras y/o los objetivos de estas, también es útil para realizar algunas animaciones 3D las cuales también serán vistas en este apunte.

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_pathconstraints.rar.

Constraints o Restrictores de animación

Como ya dijimos en un principio, un Constraint es un controlador o restrictor de animación y en el caso de 3DSMAX, tenemos varios tipos de estos los cuales se utilizan para diferentes tipos de animaciones. Estos pueden encontrarse en el menú Animation >> Constraints de la parte superior de 3DSMAX:

En total tenemos siete tipos de constraints los cuales son:

1) Attachment Constraint: Asocia la posición de un objeto a la cara de otro.
2) Surface Constraint: Limita la posición de una superficie 2D a la superficie de otro elemento 3D.
3) Path constraint: Limita el movimiento de un objeto a lo largo de un recorrido.
4) Position constraint: Limita la posición de un objeto a la posición de otro.
5) Link Constraint: Genera uno o más vinculos entre el objeto que tiene la restricción y otros.
6) LookAt constraint: Limita la orientación de un objeto a la posición de otro.
7) Orientation constraint: Limita la rotación de un objeto a la rotación de otro.

Dependiendo de qué es lo que queremos animar dependerá el o los constraints que aplicaremos. Para este tutorial ocuparemos específicamente el Constraint llamado Path Constraint, ya que es el que más se utiliza en el área de la Arquitectura, aunque también veremos otros casos puntuales de animación. El resto de los Constrains serán enseñados en un siguiente tutorial.

Path Constraint

Como ya definimos anteriormente, Path Constraint es un restrictor que limita el movimiento de un objeto a lo largo de un Path o recorrido que definamos previamente, creando los cuadros de animación necesarios para efectuar la animación. Este recorrido puede ser cualquier forma lineal 2D como por ejemplo círculos, elipses, líneas rectas, curvas, splines, etc. sean estas abiertas o cerradas, siempre y cuando estén unificados sus vértices. Estos recorridos podrán ser creados fácilmente mediante las herramientas de líneas o Splines.

Ejemplos de diferentes tipos de recorridos o Paths.

Para entender el funcionamiento cabal de la herramienta desarrollaremos tres ejercicios base:

a) Animación de un avión mediante un recorrido normal.
b) Animación de un tren en una vía continua (muchos elementos en el mismo recorrido).
c) Animación de un proyecto de vivienda mediante cámaras.

a) Animación de recorrido normal

Para este caso abriremos el primero de los archivos base llamado 3dsmax_animacion_pathconstraint01.max, el cual nos muestra un avión con su respectivo “aeropuerto” y el recorrido base el cual animaremos mediante Path Constraint. Al abrir el archivo, se nos muestra lo siguiente:

Como notamos en el archivo, tenemos una cámara que apunta hacia nuestro avión la cual nos mostrará todo el proceso de animación aunque en principio no enfoca a este. En este caso, la dejaremos tal cual debido a que ya está animada y porque lo que nos interesa realmente es animar el avión mismo. También notaremos que este está vinculado a un Dummy ya que la idea es que la restricción se aplique a este y no al avión mismo, tal como se especificó en el tutorial de Jerarquías. Para aplicar el Path Constraint realizaremos lo siguiente: seleccionamos el Dummy del avión e iremos a Animation >> Constraints y elegiremos Path Constraint. Notaremos que al aplicarlo, veremos una línea segmentada similar a cuando vinculamos los objetos. En este caso, elegiremos el recorrido definido en la pista de aterrizaje y realizamos Click para terminar de asignar el restrictor.

Al terminar la operación notaremos que el avión y el Dummy se conectan con el inicio del recorrido y aparentemente el avión está listo para “volar”. También notaremos que se han creado cuadros clave en 0 y en 1000 y con ello, ya podremos ver la animación. Pero, si presionamos play para reproducirla, notaremos que al elevarse y al doblar la curva el avión no vuela de forma realista puesto que no “sigue” el patrón del recorrido, tal como se aprecia en la secuencia siguiente:

Recorrido del avión en la vista Top.

Recorrido del avión en la vista Front.

Para resolver esto debemos conocer a fondo el panel de animación, el cual es similar al panel para modificar los objetos 3D pero que como su nombre lo indica, está pensado para editar los parámetros de las animaciones.

El panel de animación o Motion Panel

Cuando realizamos cualquier animación de un objeto mediante la aplicación de un Constraint, inmediatamente podremos acceder al Panel de Animación o Motion. Este se encuentra por defecto en el área derecha de la interfaz junto al resto de los comandos ya que de hecho, es el cuarto de los paneles principales:

Ubicación del panel de animación o Motion Panel en la interfaz de 3DSMAX.

Además de las persianas Assign Controller y PRS Parameters, podemos acceder a los paneles más importantes de este: Position List y Path Parameters. Position List nos mostrará todos los Constraints que se han aplicado en el objeto y en el caso de nuestro Dummy, claramente podremos ver Path Constraint con una flecha que indica que este está activo:

Como vemos en la imagen, podemos dejar el Path Constraint ya aplicado mediante el botón Set Active (establecer como activo). Si queremos terminar el vínculo, dejar los objetos en la posición original y por ende, eliminar el Path Constraint, lo seleccionamos y presionamos Delete. La opción Cut nos permitirá cortar la restricción y aplicarla en otro momento. Weight establece el nivel de dependencia del vínculo o el “peso” de este entre los objetos, y por defecto siempre será 100 (por ciento), lo que implica la conexión total del objeto al recorrido o Path. Si disminuimos este valor el vínculo del objeto al recorrido será menor y si el peso es 0, el objeto no se vinculará al recorrido y por lo tanto no se animará.

Animación del avión en el cuadro 120, con Weight 50.

Animación del avión en el cuadro 120 con Weight 0, donde el objeto no se anima y por lo tanto, queda en su posición inicial.

Al aplicar el Path Constraint y tener el Dummy del avión seleccionado, notaremos lo siguiente en el panel Path Parameters:

En este panel podremos editar los parámetros referentes al recorrido mismo. Notamos los botones Add Path y Delete Path. Lo interesante de estos botones es que Add Path nos permitirá agregar más recorridos al ya existente e incluso distribuir los pesos en estos, lo cual nos creará un recorrido promedio el cual dependerá de los pesos que establecemos aunque si agregamos un Path, el peso por defecto será de 50. Si en un recorrido colocamos un peso de 100 y el otro en 0, el objeto se vinculará al del recorrido con el peso total. Podremos borrar uno o más recorridos seleccionándolo primeramente en el panel y luego presionando Delete Path.

En el ejemplo, el avión se ha vinculado a dos recorridos lineales rectos mediante Add Path: un recorrido A y otro B los cuales poseen un peso o weight de 50, y la animación final es una recta que a la vez es la bisectriz entre las líneas anguladas que forman cada recorrido.

Path Options nos muestra varias opciones relevantes para mejorar la animación del objeto en nuestro recorrido. Por ejemplo, % Along Path (porcentaje de recorrido) nos permitirá definir la distancia de nuestro recorrido expresada en porcentaje, ya que si dejamos el regulador de tiempo en cualquier cuadro veremos el porcentaje del recorrido total en ese mismo cuadro. Podemos hacer una prueba sencilla simplemente colocándonos en la mitad de la animación (en el ejercicio es el cuadro 500) donde notamos que el valor de % Along Path será de 50 lo cual representa el 50% del recorrido total. Mediante esta opción podremos modificar este valor para adelantar o retrasar la posición del objeto en el recorrido mismo y por ende, alentar o apurar la animación entre un rango de cuadros. Si queremos cambiar este valor en cualquier tramo de un recorrido, debemos activar Auto Key y luego colocar el nuevo porcentaje para apreciar el efecto.

En el ejemplo, se ha establecido un 1% en % Along Path, donde notamos que el avión parte más adelante en el cuadro 0 al iniciar la animación.

Más abajo encontramos las opciones Follow y Bank. Follow nos permitirá seguir el recorrido mediante el punto de pivote del objeto y en el caso de nuestro ejercicio, permitirá que el avión vuele de forma realista si simplemente activamos la casilla.

Al activarla notaremos que si bien el avión vuela, este queda invertido respecto al recorrido. Podremos resolver el problema simplemente presionando la casilla Flip (voltear) que se encuentra en la opción llamada Axis, donde además notamos que el eje está marcado en X. Podemos ir cambiando el eje para apreciar el resultado, ya que esta opción nos permitirá orientar el objeto en todos los ejes para asegurarnos que quede siguiendo al recorrido de forma correcta, como se aprecia en las imágenes siguientes:

Avión con Axis en el eje Y activado, sin Flip.

Avión con Axis en el eje Z activado, sin Flip.

Avión con Axis en el eje X activado, con Flip encendido.

Otras funciones del panel Path Parameters son las siguientes:

Bank: esta interesante opción permitirá al objeto poder ladearse al enfrentar las curvas, lo cual en el caso de nuestro ejercicio activaremos para generar un viraje realista. Podremos aumentar el ángulo de giro al aumentar el valor de Bank Amount. La opción Smoothness nos permitirá controlar la rapidez con la que cambia el ángulo de balanceo a medida que el objeto se mueve a través de la curva en el recorrido. Valores pequeños harán que el objeto responda mejor a los cambios sutiles en la curva, mientras que los valores más grandes suavizarán las sacudidas.

El avión del ejercicio sin Bank  activado.

El avión del ejercicio con Bank activado, donde apreciamos el efecto de este en las curvas.

Allow Upside Down: esta opción nos permitirá invertir el objeto. Esto puede utilizarse en caso que un objeto se voltee cuando realiza un giro en un recorrido vertical ya que al activar esta opción se evita esto.

Constant Velocity: al encenderlo, mantiene la velocidad constante del objeto durante todo el trayecto. Cuando la opción está apagada, la velocidad del objeto dependerá de la distancia entre todos los vértices del recorrido o Path. Por lo tanto, si queremos una animación más realista, lo ideal sería apagar esta opción o modificar los valores de % Along Path donde se quiera modificar la velocidad.

Loop: repite la animación al terminar el recorrido.

Relative: esta opción iniciará la animación no en el recorrido mismo, sino que tomará en cuenta la posición inicial del objeto antes de ser vinculado y el recorrido estará basado en esa posición, aunque igualmente se vincula al Path.

Vínculo al recorrido con la opción Relative desactivada (normal).

Vínculo al recorrido con la opción Relative activada.

Habiendo conocido ya las funciones del panel Path Parameters, procederemos a preparar la animación final de nuestro avión. En el caso del ejercicio, el panel nos deberá quedar con la siguiente configuración:

Ahora todo es cosa de reproducir la animación para ver el resultado final de nuestro ejercicio. El renderizado final de la animación se puede ver en el siguiente vídeo:

b) Animación con varios elementos en un mismo recorrido

Para este segundo ejercicio ocuparemos la misma lógica usada con el avión, pero en este caso vincularemos varios objetos en un mismo recorrido. Para ello, animaremos el tren del ejercicio de jerarquías aunque en este caso se le ha agregado un vagón más y se han dejado los puntos de pivote de los vagones y la locomotora en el centro de cada Dummy. La idea es animar todo el conjunto a través de un recorrido ovalado el cual representará a las vías de nuestro tren. Si abrimos el archivo llamado 3dsmax_animacion_pathconstraint02.max veremos lo siguiente:

Como notamos en el archivo, este es el tren del ejercicio de jerarquías con pequeños cambios y sus respectivas vías en forma de óvalo. Esta vez tenemos dos cámaras que nos ayudarán con el proceso de renderizado: una que irá en el tren mismo (ya vinculada) y otra que nos enfoca la visión general de todo el conjunto, es decir, el tren mismo y todas las vías. Al igual que en el caso del avión, aplicaremos Path constraint de la siguiente forma: seleccionamos el Dummy de la locomotora e iremos a Animation >> Constraints y elegiremos Path Constraint. Notaremos que al aplicarlo, veremos una línea similar a cuando vinculamos los objetos. En este caso, elegiremos el recorrido definido en el centro de las vías y realizamos Click para terminar de asignar el restrictor.

Una vez realizado esto, iremos al Panel de animación y en Path Parameters activaremos la opción Follow y luego Flip. Si presionamos play para ver la animación, notaremos que la locomotora se anima sin mayor problema y por ende, ya podremos animar el resto de los vagones. Sin embargo, si aplicamos Path Constraint en el siguiente vagón nos ocurre lo siguiente:

Como notamos en la secuencia, el tender queda en la misma posición que la locomotora lo cual hará que al animarlo ambos sigan el mismo patrón lo que resultará en una animación irreal, ya que ambos modelos quedan traslapados. El truco para resolver esto está simplemente en tomar el Dummy del tender, ir al Panel de animación y en Path Parameters, modificar el valor de % Along Path. Establecemos el valor -2,33 y luego presionamos enter para ver el resultado:

Como vemos, el vagón se ha colocado justo detrás de la locomotora y con ello al reproducir la animación se nos muestra de forma más real y convincente. Finalizamos la configuración del tender yendo a Path Parameters y activando la opción Follow y luego Flip. Ahora todo es cuestión de vincular el siguiente vagón (el de pasajeros de color Cyan) y establecer el siguiente valor de % Along Path: -4,51.

Notaremos que el vagón de pasajeros queda más bajo que la locomotora y el tender pero eso tiene una solución fácil, ya que este último está en la altura correcta y por ende, lo que debemos hacer es bajar la locomotora y el tender sin tener que mover el Dummy de la jerarquía que tiene aplicado el Constraint. Para hacer esto, bastará tomar la base del tender y de la locomotora y, usando Select and Move, dejar la altura en Z=20,03 (esta es la altura de la base del vagón de pasajeros). Al ser la base del tender y de la locomotora el padre de la jerarquía de ambos objetos, al modificar su altura esto hace que ambos se muevan por completo y por ende, se resuelva el problema. Este proceso puede visualizarse en la secuencia siguiente:

Una vez corregido el problema de las alturas en el tren, seleccionamos el Dummy del vagón de pasajeros y en Path Parameters activamos Follow y Flip. El resultado debe ser el siguiente:

Ahora todo es cuestión de realizar el mismo proceso en el resto de los vagones de pasajeros y en estos casos, los valores de % Along Path son los siguientes:

Vagón 2 (Verde): -6,74.
Vagón 3 (Rosado): -8,97.
Vagón 4 (Naranjo): -11,2.

Activaremos Follow y Flip en el resto de los vagones y si lo hacemos bien, el resultado sería el siguiente:

Ahora todo es cosa de reproducir la animación para ver el resultado final de nuestro ejercicio. El renderizado final de la animación de todo el conjunto se puede ver en el siguiente vídeo:

Y el resultado de toda la animación desde la perspectiva del tren mismo se puede ver en este otro vídeo:

c) Animación de cámaras mediante Path Constraint

En este último ejercicio aplicaremos la misma lógica de los anteriores, pero esta vez animaremos cámaras ya que el archivo es un pequeño proyecto de Arquitectura y por ende, utilizaremos las cámaras como patrón de animación. Si abrimos el archivo llamado 3dsmax_animacion_pathconstraint03.max veremos lo siguiente:

Como se aprecia en la imagen, el archivo corresponde a una casa de dos pisos la cual posee sus correspondientes muros perimetrales y entrada, en un terreno plano y rodeada de varios recorridos o Path. La idea es mostrarlo mediante la animación de cámaras usando los cuatro movimientos de cámara básicos que se suelen utilizar para mostrar un proyecto de Arquitectura. Estos son los siguientes:

1 – La cámara se moverá por el recorrido o path, mientras que el target (objetivo) se mantendrá fijo en un punto y apuntará hacia el o los objetos enfocados. Esto se conoce como giro o recorrido de cámara.

2 – La cámara permanece fija en un punto y sólo el target u objetivo se moverá a través del recorrido o path. Esto se conoce como recorrido panorámico o paneo.

3 – Tanto la cámara como el objetivo se moverán por el mismo recorrido o path. Esto se conoce como cámara libresubjetiva o de primera persona.

4- La cámara y el objetivo se mueven por diferentes recorridos o paths. Esto se conoce como travelling.

Si analizamos el archivo notaremos que también hay varias cámaras las cuales se nombran según cada tipo de movimiento a animar ya que a diferencia de AutoCAD, en 3DSMAX sí tenemos que crear las cámaras ya que deberemos aplicar a cada una un Path Constraint, el cual nos servirá tanto para la cámara misma como también para el Target de esta puesto que ambos son objetos independientes. Una ventaja en particular de 3DSMAX es que podremos ver todas nuestras cámaras en la misma escena y animarlas todas sin mayor problema, ya que aplicaremos el Constaint a cada objeto en particular y no necesitaremos Dummys ni ayudantes extras. Comenzaremos creando el recorrido de cámara seleccionando la cámara llamada Camara Recorrido, aplicamos Path Constraint en ella y finalmente seleccionamos el recorrido circular llamado Recorrido de cámara. El resultado es el siguiente:

Como notamos, la cámara se vincula al recorrido y por ende ya podremos testear la animación mediante Play. En este caso, no debemos modificar el panel de animación ya que el target queda fijo y por ende, sólo se moverá la cámara.

Vista desde la cámara vinculada al recorrido mediante Path Constraint, en el cuadro 195.

Si reproducimos o renderizamos la animación, el resultado es el siguiente:

Un aspecto interesante de cualquier Path es que podremos modificarlo a nuestro gusto aún cuando se haya aplicado Path Constraint lo cual nos permitirá alargar, acortar, modificar o cambiar el punto de inicio (usando Make First) el recorrido según lo necesitemos y por ello, tendrá efecto sobre la animación final. En el caso de ser una forma circular o no ser dibujada mediante líneas (Circle, Rectangle, Star, etc.), podremos aplicar el modificador Edit Spline para editarla.

Edición de Path mediante aumento de radio y mediante el modificador Edit Spline, y su efecto en la vista de cámara del recorrido.

Ahora haremos el recorrido de tipo Panorámico. Para ello, animaremos la cámara llamada Cámara Panorámica, pero en este caso sólo animaremos el Target de esta. Por ello, lo seleccionamos y aplicamos Path Constraint en el recorrido curvo llamado Recorrido panorámico. El resultado es el siguiente:

Como notamos, el target se vincula al recorrido y por ende ya podremos testear la animación mediante Play. En este caso, no debemos modificar el panel de animación ya que la cámara queda fija y por ende, sólo se moverá el target el cual sigue de manera automática al recorrido. Si reproducimos o renderizamos la animación, el resultado es el siguiente:

El siguiente recorrido que realizaremos será el de tipo subjetivo. Para ello, seleccionamos la cámara llamada Cámara subjetiva ya que esta es de tipo Free o libre (es decir, sin target), lo que implica que siempre apuntará hacia adelante. Aplicamos el Path Constraint y la vinculamos al recorrido llamado Recorrido subjetivo. El resultado es el siguiente:

Como notamos, la cámara se vincula al recorrido y por ende, ya podremos testear la animación mediante Play. En este caso, sí debemos activar Follow en Path Parameters para que la cámara siga al recorrido y se nos muestre la perspectiva de primera persona. Sin embargo, notaremos que esta se invierte hacia la izquierda así que solucionaremos esto cambiando en Axis el eje X a Y:

Si reproducimos o renderizamos la animación, el resultado es el siguiente:

Ahora sólo nos queda realizar el Travelling de cámara, y para eso debemos hacer dos Path Constraints: en el primero seleccionamos la cámara llamada Camara travelling y la vinculamos al recorrido llamado Recorrido Travelling cámara. Luego realizaremos el segundo seleccionando el Target de la cámara y lo vinculamos al recorrido llamado Recorrido Travelling target. el resultado es el siguiente:

Vinculando la cámara al primer recorrido.

Vinculando el target de la cámara al segundo recorrido.

Como notamos, la cámara se vincula al primer recorrido y el target de esta al segundo, y por ende ya podremos testear la animación mediante Play. En este caso, no debemos modificar el panel de animación ya que la cámara y su target se desplazan por distintos recorridos y por ende, lo siguen automáticamente. Si reproducimos o renderizamos la animación, el resultado es el siguiente:

Como hemos visto en todos los ejercicios anteriores, Uno de los Restrictores más importantes usados en la animación en 3DSMAX es Path Constraint ya que su uso no solamente se enfoca a la Arquitectura y la animación de cámaras, sino que también se utiliza en el ámbito de la animación 3D. Este nos permitirá mostrar a cabalidad un proyecto, modelo o espacio ya que además de generar la animación respectiva podremos modificar los vértices de nuestros Path para subir de pisos o niveles, o alentar el recorrido para dar énfasis en ciertos espacios o aspectos.

Este es el fin de este tutorial.

3DSMAX Tutorial 10b: Animación en 3DSMAX, Cinemática Directa o Jerarquías entre objetos

En el mundo real, los movimientos o rotaciones de muchos objetos dependen de otros a los que están subordinados o subyugados. Por ejemplo, si vemos las ruedas de un auto notaremos que estas giran gracias a la rotación del eje a la que están unidas y a su vez, este eje puede rotar gracias a su conexión con el motor el cual también está relacionado o vinculado con sus respectivas piezas como por ejemplo, los pistones y el cigueñal. Esta relación de dependencia se conoce como Jerarquía o Cinemática Directa, y su uso en animación es vital pues nos permite animar objetos compuestos o establecer relaciones de dependencia cercanas a la realidad. En 3DSMAX, una jerarquía es una cadena de objetos vinculados entre sí que contienen una relación ascendiente/descendiente. Esto quiere decir que existe un “objeto padre” que es el que manda en la relación y un “objeto hijo” que está subordinado a este lo que implica que si el objeto padre se transforma, lo hará también el objeto hijo. Al igual que en el mundo real, un objeto padre puede tener muchos “objetos hijos” pero los objetos hijos no pueden tener más de un solo “padre”. En este tutorial aprenderemos conceptos y principios básicos sobre jerarquías entre objetos o Cinemática directa, y su importancia en el proceso de Rigging y animación propiamente tales.

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_jerarquias.max.

Jerarquías en 3DSMAX

En 3DSMAX podemos crear jerarquías de forma más o menos sencilla gracias al grupo de botones Select and Link, los cuales se encuentran en la parte superior izquierda de la interfaz del programa:

Estos nos permitirán crear una jerarquía o relación de vínculo entre dos o más objetos. De izquierda a derecha, primer botón es precisamente Select and Link el cual creará la jerarquía mientras que el segundo es Unlink Selection, el cual nos servirá para deshacerla. El último botón es Blind to Space Warp o lo que es lo mismo, vincular a un efecto especial. Este último botón solamente se puede usar junto con las Space Warp o efectos especiales.

Si queremos crear una relación jerárquica en 3DSMAX, debemos tener en cuenta que por norma básica siempre será el objeto “hijo” el que se vinculará directamente al “padre”. Por lo tanto, al formar la relación debemos asegurarnos de elegir siempre el objeto que será el futuro “hijo”. Para crear la jerarquía bastará con seleccionar el objeto a vincular, seleccionar Select and Link y con el botón del mouse presionado, elegiremos el objeto padre (el cursor cambiará a dos cuadros entrelazados). Este último se resaltará y con ello ya hemos creado la relación.

Sin embargo y antes de proceder con el tutorial mismo, debemos conocer los dos modos que tenemos para generar relaciones de jerarquía en 3DSMAX. Estos son los siguientes:

1) Relación directa de el o los hijos a un solo padre: en este caso todos los objetos hijos se vinculan a un solo gran objeto padre, el cual es el que domina toda la jerarquía. Los objetos hijos no tienen relación entre sí, sino que cada uno se puede transformar de manera independiente pero se subyuga solamente al objeto padre.

Esta relación puede ejemplificarse a partir de la siguiente secuencia:

Realización de la jerarquía.

Relación directa entre objetos. El objeto verde es el padre y al transformarse este todos los hijos lo siguen, pero estos se pueden transformar de manera independiente a la del padre.

2) Relación en cadena: consiste en una descendencia directa entre el objeto padre y el objeto hijo, pero este último también pasa a ser padre de otro u otros objetos que se le vinculen, de forma similar a la vida real. En este caso, el último objeto de la jerarquía podrá transformarse de forma independiente pero se subyugará a su propio padre, el cual a la vez se subyugará a otro objeto padre y así sucesivamente, hasta llegar al objeto padre de toda la jerarquía.

Esta relación puede ejemplificarse a partir de la siguiente secuencia:

Realización de la jerarquía.

Relación en cadena entre objetos. El objeto verde es el padre y al transformarse este todos los hijos lo siguen, pero estos a su vez son padres de los que se le relacionen y al transformarse, los hijos se subyugan a estos mientras que el último objeto (el Azul) es el único que se puede transformar de manera independiente respecto de su objeto padre (objeto amarillo). Esta relación jerárquica es la base para el sistema de Bones o huesos de 3DSMAX.

Demás está decir que se pueden generar las descendencias que queramos y también podremos combinar ambos métodos para generar sistemas jerárquicos más complejos y por ende, preparar nuestros objetos para ser animados. Dominar las jerarquías es clave ya que es la base del Rigging (configuración para animación) de personajes o de objetos, ya que podremos establecer las relaciones entre los diferentes objetos de manera realista y de esta manera tener un personaje u objeto “listo” para ser animado constantemente en cada escena. También podremos animar o transformar modelos compuestos como por ejemplo, una puerta y sus respectivas manillas ya que ambos elementos se deben modelar aparte. En este caso, la jerarquía hace posible que estas se mantengan relacionadas ya que la manilla sería el objeto hijo mientras que la puerta sería el objeto padre. Si la jerarquía no existiera, al abrir la puerta la manilla simplemente flotaría en el aire.

Este último ejemplo puede apreciarse en la imagen siguiente:

En el ejemplo se han modelado dos puertas y a la de la derecha se le ha vinculado la manilla como objeto hijo a la puerta misma mediante jerarquía, lo que hace posible la interacción real de la manilla con la puerta al abrirse esta.

Para ejercitarnos en el tema de las jerarquías utilizaremos el archivo del tutorial 01 (el tren de juguete), pero en este caso le agregaremos unos carros para mostrar los dos tipos base de enlaces que tenemos en 3DSMAX y además formar una relación jerárquica compleja que nos permitiría en un futuro animar el tren en un futuro. También conoceremos al ayudante llamado Dummy, el cual nos ayudará a definir controladores para la jerarquía y facilitar el proceso de rigging.

Al abrir el archivo llamado 3dsmax_animacion_jerarquias.max, nos aparece la siguiente escena:

Como apreciamos, es el mismo tren del tutorial 01 pero que ha sufrido algunas modificaciones ya que se le ha cambiado la cabina y además se han agregado más vagones para generar el tren completo. Sin embargo, si tomamos la cabina o cualquier otra pieza del tren y la movemos, notaremos que estas no están relacionadas con el total ya que se manejan de forma independiente, lo cual ocurre por defecto al modelar varios objetos en 3DSMAX:

Para resolver el problema podríamos agrupar la locomotora y los vagones mediante Group, pero sin embargo esto no nos serviría para animar ya que no podríamos mover las ruedas puesto que el grupo siempre se comporta como un solo objeto. Por esto mismo, debemos establecer relaciones de jerarquía para poder animar correctamente cada elemento y además para facilitar la transformación del conjunto completo sin tener que seleccionar objeto por objeto. Lo primero que haremos será esquematizar las relaciones entre los objetos para facilitar la labor. En el caso de la locomotora, debiéramos realizar el siguiente esquema de enlazado:

Si bien a primera vista el esquema parece complejo la verdad es que no lo es, ya que los elementos más cercanos a la base de la locomotora estarán vinculados directamente a ella. En el caso de las ruedas, estas deberán estar relacionadas a sus respectivos ejes para que puedan ser giradas en un futuro, y los ejes mismos estarán vinculados a la base. Las chimeneas superiores se relacionan directamente con la caldera y el techo de la cabina se relaciona con esta última, la cual a su vez se enlazará a la base al igual que la caldera. En el caso de los topes y los pistones, estos últimos se vinculan de forma directa a la base y los topes mismos se vinculan a la base, vinculando previamente ambas piezas. Si observamos un poco más a fondo el esquema, notaremos que también se podría haber vinculado la caldera a la cabina o viceversa, lo cual nos indica que hay más de una forma de resolver las jerarquías entre objetos. Otra cosa que notamos es que si bien la base de la locomotora es el “padre” de toda la jerarquía, por un tema práctico NUNCA se tomará directamente. En este caso, lo mejor será vincular la base misma a un objeto ficticio llamado “Dummy”, el cual nos permitirá poder tomar el conjunto completo y poder transformarlo ya sea moviéndolo, rotándolo o escalándolo. A este, en un futuro, también se le podrán aplicar restrictores y otras funciones de animación.

El ayudante Dummy

Este es uno de los ayudantes que nos provee 3DSMAX y es de los más importantes, puesto que nos facilita enormemente las tareas de Rigging o configuración de objetos o personajes a animar ya que este es un cubo virtual “sin parámetros”, el cual puede alinearse con cualquier objeto y al que se le pueden aplicar transformaciones y comandos de animación. La gran ventaja del Dummy es que nos permitirá poder tomar la jerarquía completa sin tener que tomar el objeto principal y así evitar confusiones, además que recibe de mejor manera las transformaciones y restrictores de animación que se le apliquen y se evitan errores ya que si se vinculan formas 3D puras, hay riesgo que estas no se animen de forma correcta debido a la naturaleza misma de las mallas 3D.

Podemos encontrar a Dummy en la persiana Helpers de la barra de comandos de 3DSMAX, indicados en la imagen:

Si presionamos el botón Dummy y lo dibujamos en el espacio de trabajo, este se realizará de igual forma que una esfera y notamos que se nos crea un cubo virtual de color verde, el cual literalmente no tiene parámetros editables si lo seleccionamos y luego vemos el panel modificar, puesto que solamente podremos modificar el nombre del objeto.

Volviendo a nuestro archivo, una vez que lo definimos lo mejor será alinear el Dummy dibujado respecto a la base de la locomotora mediante la herramienta Align. Lo alineamos respecto a la base en los ejes X, Y y Z tomando como puntos de contacto los Pivot Point de ambos y aceptamos. Con esto ya estamos listos para proceder con la jerarquía.

Comenzaremos la jerarquización relacionando las chimeneas superiores a la caldera mediante una relación directa. Si queremos seleccionar más de un objeto, debemos presionar y mantener la tecla CTRL. El resultado debe verse con en la imagen siguiente:

Si lo hacemos correctamente, la caldera se resaltará y la jerarquía estará realizada.

Tips: podremos comprobar la jerarquización correcta de los elementos si presionamos las teclas Re Pag y Av Pag, ya que Re Pag nos selecciona los objetos padre y Av Pag los objetos hijo, siembre y cuando seleccionemos cualquier objeto que esté dentro de la jerarquía (esto vale para cualquier jerarquía que realicemos). Si por el contrario, nos equivocamos y queremos eliminar una jerarquía entre dos objetos, simplemente seleccionamos el objeto a desvincular y presionamos el botón Unlink Selection.

Otra forma de verificar que la jerarquía está realizada es simplemente mover la caldera y luego deshacer el movimiento mediante CTRL+Z, tal como se aprecia en la imagen siguiente:

Una vez hecho esto, lo siguiente es vincular el techo a la cabina mediante una relación directa, y luego tomar la caldera y la cabina para vincularla a la base en una nueva relación directa, tal como se aprecia en la secuencia siguiente:

Si observamos la jerarquía recién realizada, notaremos que se ha formado una relación en cadena en los objetos techo, cabina y base. Ahora vincularemos los pistones laterales a la base misma, tal como se aprecia en la imagen:

Ahora debemos vincular los topes a la base. Para ello, primeramente crearemos una relación directa entre el tope y su soporte de tal forma que este último sea el padre de la jerarquía, y una vez finalizado repetiremos el proceso con el otro tope, tal como se aprecia en las imágenes siguientes:

Finalizamos la relación vinculando ambos soportes a la base de la locomotora:

Finalizaremos las jerarquías base de la locomotora vinculando el enganche a la base de la misma.

Ahora solamente nos faltarían las jerarquías de las ruedas lo cual es bastante sencillo ya que, en este caso, colocaremos la vista Bottom (B) y procederemos a vincular las ruedas traseras a su eje. Repetiremos el proceso con las ruedas restantes para finalizar la jerarquía.

Estando en la misma vista, procederemos a seleccionar todos los ejes y los vinculamos a la base de la locomotora mediante una relación directa, y con esto hemos terminado todas las jerarquías base del modelo 3D de nuestra locomotora.

Volvemos a colocar la locomotora en Perspective y realizamos una última prueba para revisar las jerarquías mediante Re Pag y Av Pag. Finalmente, vinculamos la base de la locomotora al Dummy para finalizar de manera definitiva el Rigging base de nuestro modelo:

Si tomamos el Dummy y le aplicamos alguna transformación como mover, rotar o escalar, notaremos que la locomotora completa se subyuga a este ya que este es el padre de toda la jerarquía. Como dijimos antes, por un tema práctico siempre es recomendable que cualquier objeto compuesto esté bajo el yugo de un Dummy, ya que esto nos evita tener que buscar el objeto padre de nuestro modelo al querer animarlo o transformarlo.

Rotando y escalando la locomotora mediante la transformación respectiva, aplicada al Dummy el cual es el padre de la jerarquía.

Para el caso de los vagones seguiremos exactamente la misma lógica que en el esquema de la locomotora, sólo que su parte superior será mucho más sencilla de resolver puesto que en el caso del tender, nos bastará enlazar la tapa a la cisterna y esta a la base mientras que en el caso de los vagones de pasajeros, enlazaremos el techo a la cabina de pasajeros y luego la cabina será vinculada a la base de cada carro. Como en el caso de la locomotora, colocaremos un Dummy a cada elemento para que este pueda ser transformado sin mayor problema.

En las imágenes siguientes vemos las relaciones padre-hijo del tender del tren:

La solución del final de todo el sistema sería la de la siguiente imagen:

Como hemos visto se ha creado un sistema de jerarquías el cual aún no está terminado del todo, ya que lo que nos queda será hacer tal vez lo más interesante de todo: generar los enganches y girar los vagones de manera realista. Para ello, primeramente en la vista Top moveremos un poco cada carro de modo que el enganche quede dentro del aro para generar el efecto de enganche, tal como se aprecia en la imagen siguiente:

Una vez realizado lo anterior, realizamos una jerarquía mediante una relación directa entre todos los Dummys, partiendo desde el Dummy del último vagón hasta el Dummy de la locomotora, tal como se indica en el siguiente esquema:

Con esto, el Dummy de la locomotora se convierte en el padre de toda la jerarquía y nos permitirá mover el tren completo con sólo seleccionarlo. Lo único que nos falta ahora es establecer un nuevo punto de “pivote” para los vagones, ya que si tomamos los Dummys de cada uno estos no girarán de manera realista ya que tomará el centro de este en lugar del punto del enganche, tal como lo haría un tren real. Para resolver esto, conoceremos y aplicaremos las funciones de la persiana llamada Hierarchy.

Tip: si hacemos doble click en el padre de toda una jerarquía, automáticamente se seleccionarán todos los elementos de esta.

Hierarchy

Una función importante de la que disponemos en el tema de las jerarquías es el panel llamado Hierarchy (que significa precisamente “jerarquía”), en donde podremos editar los puntos de relaciones base de cualquier objeto o de una jerarquía ya realizada. Esto es importante si queremos, por ejemplo, cambiar el punto de pivote de una primitiva ya que esta por defecto posee un punto de “pivote” o giro predefinido (por ejemplo, si queremos establecer el punto de giro de una puerta debiéramos cambiar el punto de pivote del box que la define a una esquina) o también modificar la transformación del objeto mismo sin afectar su punto de pivote. El panel Hierarchy es el siguiente:

Este panel tiene cinco botones importantes que tienen que ver con la edición del pivote los cuales son:

1) Affect Pivot Only (afectar solamente al pivote): activando esta opción podremos desvincular el punto de “pivote” predeterminado de un objeto, lo cual nos permitirá independizarlo de este y por ende, colocarlo en cualquier posición. Si lo desactivamos, al pivote se vuelve a vincular al objeto pero el primero queda en su nueva posición.

En el ejemplo, se ha cambiado de posición el punto de pivote del Dummy de la locomotora mediante Affect Pivot Only.

2) Affect Object Only (afectar solamente al objeto): activando esta opción podremos desvincular el objeto mismo de su punto de “pivote”, el cual se mantendrá en su posición original. Si lo desactivamos, el objeto se vuelve a vincular al pivote pero el primero queda en su nueva posición.

En el ejemplo, se ha cambiado de posición el Dummy de la locomotora mediante Affect Object Only.

3) Affect Hierarchy Only (afectar solamente a la jerarquía): si activamos esta opción, podremos transformar toda la relación jerárquica de ese objeto sin afectar su punto de pivote ni al objeto en sí, siempre y cuando se realice mediante las transformaciones Move y Scale ya que en estos casos, las relaciones jerárquicas rotarán o se escalarán según la transformación que se utilice.

Rotando la relación jerárquica del Dummy de la locomotora mediante Affect Hierarchy Only.

Escalando la relación jerárquica del Dummy de la locomotora mediante Affect Hierarchy Only.

4) Alignment (alineación): estas opciones funcionan sólo si activamos Affect Pivot Only o Affect Object Only, y alinearán el pivote o el objeto según las siguientes opciones:

– Center to Pivot/Object: sólo funciona si aplicamos la transformación Move, y centra el objeto o pivote respecto del pivote u objeto según corresponda.

– Align to Pivot/Object: sólo funciona si aplicamos la transformación Rotate, y alinea la orientación del pivote u objeto respecto a las coordenadas locales X, Y y Z del objeto o pivote según corresponda.

– Align to World: sólo funciona si aplicamos la transformación Rotate, y siempre alinea la orientación del pivote u objeto respecto a las coordenadas universales X, Y y Z del espacio de trabajo, también conocido como World o “mundo”.

5) Reset Pivot (resetear pivote): vuelve el punto de pivote a su posición por defecto respecto del objeto. Si rotamos el objeto mediante Affect Object Only y lo activamos, tomará por base las coordenadas locales X, Y y Z del objeto, tal como se aprecia en el ejemplo de abajo:

Ya habiendo conocido las opciones de Hierarchy, volvemos al ejercicio y lo que haremos será justamente cambiar el punto de pivote del Dummy de cada vagón para colocarlo en el enganche correspondiente. Lo que haremos será entonces será seleccionar el Dummy del vagón de tender, luego iremos a Hierarchy, activamos Affect Pivot Only (1), y finalmente alinearemos el pivote respecto del aro de enganche mediante Align (2) tomando Pivot Point como base de alineación, tal como se aprecia en la imagen:

Una vez hecho esto y SIN desactivar Affect Pivot Only, movemos un poco en el eje X el punto de pivote para centrarlo en el aro y terminar de manera definitiva la configuración. Esto se realizará a ojo (podemos ayudarnos con la vista Top si tenemos problemas).

Repetiremos todo lo anterior en el resto de los vagones, desactivamos Affect Pivot Only y con esto ya queda listo nuestro tren. Podemos probarlo simplemente tomando el Dummy de la locomotora y transformándolo mediante Move para observar toda la jerarquía, y girar cada vagón para notar que el punto de pivote ahora se coloca en torno al enganche, de forma similar a un tren real.

Por último, si queremos visualizar todas las relaciones jerárquicas de nuestros objetos, podemos abrir el panel llamado Schematic View el cual nos permite ver el esquema de estas y se encuentra en la parte superior de 3DSMAX, de acuerdo con la imagen siguiente:

Schematic View abierto.

Un acercamiento a Schematic View, donde vemos el esquema de todas las relaciones del ejercicio anterior.

En este ejercicio hemos visto conceptos relacionados con la configuración de animación ya que lo que hemos realizado es un primer Rigging básico que nos servirá para controlar los diferentes objetos de la escena y con ello facilitar el proceso de animación. En el caso del tren, podremos colocar sus vagones en diferentes posiciones o mover el tren completo si es necesario y con mucha práctica, podremos realizar giros del conjunto completo. Sin embargo, si queremos animar el tren de manera que recorra un circuito de forma continua, debemos hacerlo mediante un Constraint de animación el cual se estudiará en el siguiente tutorial, y de paso veremos animación aplicada a la Arquitectura ya que el mismo Constraint será utilizado para ello.

Este es el fin de este tutorial.

3DSMAX Tutorial 11: motor ART Render, Introducción y configuració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 este tutorial nos introduciremos al motor de render que viene por defecto en 3DSMAX 2017, y se trata nada más ni nada menos que del motor llamado ART Render (Advanced RayTrace Render). Estudiaremos la configuración global de este y su integración con la nueva cámara llamada Physical Camera.

Para este tutorial usaremos un archivo base ya descargado desde otra web: descargar archivo base.

Preparando la escena

Una de las cosas más interesantes del nuevo motor ART Render es que nos permite lograr resultados bastante aceptables sin necesidad de realizar tantas configuraciones como ocurre, por ejemplo, con Mental Ray. Al igual como sucede con otros motores de render, ART Render trae sus propios materiales llamados Physical Material y además incorpora una nueva cámara llamada Physical camera. Ambos serán tratados en profundidad en un siguiente tutorial. Para analizar los parámetros de este motor de render prepararemos una escena básica y sin aplicar materiales de tipo Physical sino que sólo con colores base. En nuestro caso la escena es la siguiente:

En este caso tenemos un bloque de 3DSMAX con un plano base y le hemos aplicado una cámara llamada Physical camera. Esta cámara es la que agrega por defecto 3DMAX 2017 cuando la colocamos mediante CRTL+C, y es parte importante de este motor de render ya que este tipo de cámara incorpora un “exposure control” propio para así poder diferenciar el render de la vista de la cámara del de otras perspectivas o del envolvente completo, las cuales utilizarán el valor EV de la exposición global o Exposure global.

Configurando el motor de render mediante ART Render Setup

Para configurar el motor de render debemos ir al icono de Render Setup, el cual tiene un diseño algo diferente respecto a las versiones anteriores de 3DSMAX. En esta opción llegamos al menú de render y configuración donde ya notamos que el motor de render por defecto es ART Render, y el diseño del panel es mucho más sencillo de manejar.

Ya en Render Setup, nos vamos a la persiana Renderer para visualizar la opción ART Renderer y así acceder a los parámetros de este motor de render:

Como se ve en la imagen, y a diferencia de otros motores de render como Mental Ray, el panel de configuración de ART Render es mucho más sencillo ya que no requiere de configuraciones excesivas ni detalles tan elaborados para lograr un buen resultado. Este motor es similar al que viene en AutoCAD 2016 ya que también podremos configurar el render según calidad, tiempo o cantidad de iteraciones (levels). Entre sus parámetros más importantes se destacan:

Render Quality: esta opción nos permite definir la calidad del render mediante valores expresados en dB (Noise Level o nivel de ruido), lo cual implicará que a mayor cantidad de dB mejor calidad del render pero también más tiempo de renderizado.

Si renderizamos la escena anterior mediante F9, notaremos que el motor ya incluye la iluminación global y además el render tendrá mayor o menor ruido o granizado (noise) dependiendo de la calidad en que hayamos renderizado. Si elegimos Min (1 dB) el nivel de ruido en el render será el máximo mientras que en Max (100 dB) tendremos prácticamente “0” nivel de ruido, pero el tiempo de render aumenta de forma muy considerable.

Renderizado en calidad Min, 1 dB.

Renderizado en calidad Draft, 20 dB.

Renderizado en calidad Medium, 28 dB.

Renderizado en calidad High, 33 dB.

Renderizado en calidad X-High, 55 dB.

Stop rendering ever quality is not attained (detener el renderizado siempre que la calidad no sea lograda): al igual que en AutoCAD, esta opción nos permite además de definir la calidad de render, el tiempo o la cantidad de iteraciones (o levels) que queremos que este se realice. Podremos activar estas opciones si es que el render se demora demasiado (como al renderizarlo en calidad Max) o si no queremos la calidad por defecto que establecimos previamente en Render Quality.

Lightning and material Fidelity (fidelidad de la iluminación y materiales): esta opción controla la técnica utilizada para renderizar la imagen. Por defecto nos aparece la opción Fast Path Tracing que nos dará renders relativamente rápidos y optimizará la iluminación indirecta para minimizar el ruido (noise) aunque comprometen la iluminación y la fidelidad del sombreado, y la opción Advanced Path Tracing es la que nos da los mejores resultados y calidad ya que la fidelidad es muy alta, aunque el tiempo de render aumentará.

Render en calidad High, realizado mediante Fast Path Tracing.

Render en calidad High, realizado mediante Advanced Path Tracing.

Noise Filtering (filtrado de ruido): esta opción nos permite filtrar en porcentaje el ruido o granizado del render, no importando el tipo de calidad de este. Podemos elegir desde el 0% o Unfiltered (sin filtro) hasta la calidad 100% o Fully filtered (totalmente filtrado).

Evidentemente, mientras más se filtre el ruido y/o la calidad sea mejor, el tiempo de render aumentará.

Render realizado en calidad medium, con 0% o Unfiltered.

Render realizado en calidad medium, con 50% de Noise Filtering.

Render realizado en calidad medium, con 100% o Fully filtered.

Anti-Aliasing: nos permite ajustar el antialiasing o eliminar los “dientes de sierra” de los bordes de un modelo o de un render. En este caso al mínimo de píxeles que podemos configurar es 1,0 y conforme lo vayamos aumentando, la imagen sufrirá un “blur” o desenfoque debido al efecto propio del antialisado. El valor por defecto es 3.

Render realizado en calidad medium, con 1 píxel de antialiasing.

Render realizado en calidad medium, con 3 píxeles de antialiasing (valor por defecto).

Render realizado en calidad medium, con 10 píxeles de antialiasing.

Si bien este motor de render ya cuenta con la iluminación global aplicada, los aspectos más importantes de edición de esta (como zona geográfica o el Norte) no pueden ser modificados a primera vista. Para esto debemos configurarla mediante un nuevo parámetro de luz llamado Sun Positioner.

Configurando la iluminación global en ART Render

Para configurar la iluminación global en ART Render necesitaremos colocar una nueva luz solar llamada Sun Positioner. Este posicionador de Sol nos permitirá editar parámetros como la zona geográfica, lugar, tiempo y girar el Norte geográfico si es necesario. Para colocarla en la escena, nos vamos a la vista Top y en el panel de “añadir elementos” vamos al icono de luces y elegimos la persiana Photometric:

Una vez aquí elegiremos la opción Sun Positioner y la insertaremos de forma similar a Daylight de Mental Ray, es decir: clickeamos en el origen para definir el target de la luz, luego giramos con el mouse para definir el norte y mediante click y el movimiento de este, definir la altura orbital. En nuestra escena, insertaremos la luz en la vista Top:

Definiendo la luz Sun Positioner en la escena.

Al igual que en el caso de Mental Ray, sólo debemos colocar una luz en toda la escena. Debemos tener cuidado al seleccionarla puesto que no nos servirá tomarla por el “Sol”, sino que este tipo de luz deberá seleccionarse exclusivamente tomando el compass rose o la rosa de los vientos:

Selección de la luz Sun Positioner mediante el compass rose o rosa los vientos.

Si tomamos el compass rose y luego nos vamos al panel de modificar, encontraremos los siguientes parámetros:

Display: en este menú podemos elegir si queremos que se muestre la rosa de los vientos o no (show), ademas podremos definir el radio de esta y lo más importante: podremos girar el Norte geográfico mediante la opción North Offset. También podremos definir la distancia del sol al terreno (altura orbital) mediante Sun Distance.

Sun Position: al igual que en el caso de Daylight de Mental Ray, en esta opción podremos definir los parámetros generales de la iluminación como la fecha, el tiempo y la locación donde queremos que se aplique la iluminación del sol. Las opciones son:

Date, Time and Location: permite definir parámetros de tiempo, lugar y zona geográfica. Podremos definir la fecha mediante day, month y year además de las horas mediante el parámetro time. Lo interesante de esta opción es que podremos definir el lugar geográfico de manera similar a Mental Ray ya que si hacemos click en el lugar por defecto (San Francisco, CA) dentro del parámetro, podremos cambiarlo a otra zona geográfica y el Norte junto a la trayectoria solar se ajustarán.

Weather data File: esta opción nos permite cargar archivos especiales de lugar y tiempo llamados “EnergyPlus Weather Data File” cuya extensión es EPW, y que se usan principalmente en simulaciones climáticas con programas especiales como Energy plus o también Ecotect. Algunos de estos archivos pueden descargarse en https://energyplus.net/weather.

Inserción de un archivo EPW en la escena.

Manual: permite mover el Sol de forma manual ajustando los parámetros de Azimut y Altitude (Altitud), ya que no podemos mover el Sol de forma directa.

Moviendo el Sol de forma manual mediante los parámetros de Azimut y Altitude.

Si renderizamos la escena una vez insertado el Sun Positioner, el resultado será el siguiente:

Como vemos, la imagen es prácticamente blanca y por ende no muestra el resultado. Esto ocurre simplemente porque no hemos ajustado el parámetro de Exposure Control y además el valor de EV (Exposure Value) es muy bajo. Para ajustarlo, debemos ir a Rendering >>> Exposure control:

Estando ya en Exposure Control notaremos que al agregar el Sun Positioner, tendremos un nuevo tipo de Exposure control llamado Physical Camera Exposure Control, y que en el mapa de cielo se nos agrega uno nuevo llamado Physical Sun & Sky Environtment (mapa de cielo de Sun Positioner). Si bajamos un poco la persiana encontraremos un parámetro llamado Global Exposure donde notamos que efectivamente el valor de EV es 6, el cual es bajo para una escena exterior como en este caso.

En nuestra escena, si ajustamos el valor de EV de Global Exposure a 15 y realizamos un render, el resultado cambia de forma notable ya que logramos ver el modelo sin problemas:

Ajuste de valor a EV=15 y render resultante.

En el caso que tengamos una escena interior con luces, el valor de EV se debe ajustar a esas condiciones específicas (mediante valores bajos) de manera similar a Mental Ray. Volviendo a la escena en sí, además de Exposure Value tenemos otro parámetro muy importante llamado White Balance o balance de blancos, el cual nos permite ajustar la escena a los tipos de iluminación más comunes mediante tipos de lámparas o también un color específico. Las tres opciones que tenemos disponibles son:

Iluminant: esta opción nos permite elegir muchos tipos de iluminaciones ya configuradas como Daylight (por defecto), halógenos, flourescentes, lámparas de sodio, etc.

Render realizado con Daylight.

Render realizado con Sunlight.

Render realizado con Shade.

Render realizado con Halogen.

Render realizado con Low Pressure Sodium.

Temperature: ilumina la escena tomando en cuenta los grados K° (Kelvin). En valores menores los tonos serán cálidos y en valores mayores serán fríos, aunque en ete caso puntual tendremos variaciones de tonos según la cantidad de K° especificados. El valor de K° por defecto es 6400.

Render realizado con 100 K°.

Render realizado con 1.000 K°.

Render realizado con 3.000 K°.

Render realizado con 6.000 K°.

Render realizado con 10.000 K°.

Render realizado con 20.000 K°.

Custom: permite elegir un color para la iluminación y el balance. Esto afectará el entorno global de la escena.

Configuración y render resultante aplicando el color celeste.

Configuración y render resultante aplicando el color verde olivo.

Exposure Control y Physical Camera

Una de las ventajas interesantes de ART Render es que si tenemos colocada una cámara de tipo Physical Camera (por defecto en 3DSMAX 2017) podremos utilizar los parámetros de EV de esta ya que como se enunció antes, este tipo de cámara viene con su propio Exposure Control. Si seleccionamos la cámara y nos vamos al panel de modificar, encontraremos el siguiente menú:

En este menú tendremos las mismas opciones del cuadro Exposure Control de Rendering. Podemos modificar el valor de EV en Exposure Gain mediante la opción Target o hacerlo mediante la opción Manual, aunque en este último el valor estará dado en unidades ISO.

Además de lo anterior, también tendremos la opción White Balance ya explicada anteriormente. Lo interesante de esto es que si alteramos el valor de EV de la cámara, este afectará a la vista que esté afecta a la cámara en sí y no al resto de la iluminación global, por ende los parámetros que configuremos en esta sólo afectará al el render de la vista en sí y no a todo el proyecto completo.

Si queremos que los parámetros configurados en la Physical Camera se apliquen sólo a la vista de esta, debemos ir nuevamente a Rendering >>> Exposure Control y una vez allí activaremos la casilla Use Physical Controls if Available. Con esta opción los parámetros que se aplicarán en la vista serán los de la cámara y no los de GE (Global Exposure), siempre y cuando la Viewport a renderizar esté en la vista de la cámara:

Exposure Control con el parámetro Use Physical Camera If Available desactivado. En este ejemplo, en toda la escena prima el valor de EV de Global Exposure y el valor de este es 11.

Render del ejemplo anterior.

El mismo ejemplo anterior pero esta vez con el parámetro Use Physical Camera If Available activado. En este caso, en toda la escena prima el valor de EV de la vista de Physical Camera y el valor de EV de esta es 15 en lugar de 11.

Render del ejemplo anterior.

Si renderizamos una vista distinta de la cámara o una cámara que no sea Physical, notaremos que el valor de EV que prima es el de Global Exposure, ya que el valor de EV de Physical Camera sólo Afecta a la vista de esta y no al proyecto completo.

El mismo ejemplo anterior, con el parámetro Use Physical Camera If Available activado pero esta vez enfocado en una vista distinta de la Physical Camera. En este caso, en toda la escena prima el valor de EV de Global Exposure y en el ejemplo, el valor de EV de este es 11.

Render del ejemplo anterior.

Si agregamos una segunda o más cámaras de tipo Physical, podremos controlar el valor de EV de cada una de estas y renderizarlas de forma independiente según cada vista.

El mismo ejemplo anterior con el parámetro Use Physical Camera If Available activado pero esta vez se ha agregado una segunda Physical Camera. En este caso, el valor de EV de esta cámara es 13. La primera cámara mantiene sus mismos parámetros originales.

Render del ejemplo anterior.

Render de la vista superior del ejemplo anterior. En este caso la vista no está afecta por una Physical Camera ya que es una Perspectiva, y por ello este render toma el valor de EV de Global Exposure el cual es 11.

Este es el fin de este tutorial.

3DSMAX Tutorial 08b: mr Portal Sky (iluminación interior con Mental Ray)

imuminacionmr_imagenEn 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 este tutorial veremos la forma más sencilla para iluminar un espacio interior utilizando el motor de render denominado Mental ray, que viene junto a 3DSMAX.

Preparando la escena

Para lograr una adecuada iluminación interior en cualquier motor de render se requiere de varios procedimientos o pasos previos ya que al contrario de lo que se cree, iluminar un interior en 3D no es sólo colocar una o más ampolletas sino que además requeriremos de varias luces auxiliares que iluminarán las zonas no visibles u oscuras, y en algunos casos se requerirá la utilización de algunas luces especiales exclusivas del motor de render.

Un sistema de iluminación básico de un objeto se compone de lo siguiente:

– Una luz principal que proyecta la sombra e ilumina el objeto completo (puede ser una luz artificial o la luz del Sol), con una intensidad moderada-alta y sombras activadas.

– Dos luces denominadas “de relleno” que se colocan en la parte trasera del objeto (usualmente una en cada lado), que tienen por función iluminar las zonas oscuras de este. Estas luces tienen mucho menos intensidad y tienen desactivadas las sombras.

Esto se puede ejemplificar claramente en el siguiente esquema:

imuminacionmr_esquema00

imuminacionmr_esquema

Planta y vista de cámara de un esquela básico de luces. La luz omni amarilla corresponde a la luz principal (de intensidad 1) que proyecta la sombra y en verde, las omni utilizadas para cubrir las zonas oscuras (de intensidad 0,4, de relleno). Abajo, el render generado por este sistema.

imuminacionmr_esquemarender

En este caso el sistema básico puede funcionar bien en escenas exteriores aunque por ser precisamente “básico”, debemos mejorarla agregando el rebote de luz o GI y cambiando la luz principal por un sistema de iluminación solar más preciso como Daylight. Sin embargo, para el caso de las escenas interiores y sobre todo si renderizamos con el motor de render Mental Ray, nuestra iluminación deberá considerar los siguientes pasos:

– Colocar un sistema de iluminación solar (Sunlight o Daylight).
– Asignar un fondo de “cielo” mediante una imagen bitmap o utilizar el mapa mr Physical Sky.
– Agregar la Iluminación Global o GI (Photon Mapping).
– Agregar la o las luces fotométricas requeridas por el espacio interno o nocturno.
– Agregar luces auxiliares sin sombras, para iluminar zonas oscuras o no iluminadas por las luces principales.
– Emular la luz de los vanos mediante la luz llamada mr Sky Portal.
– Agregar efectos como volume Light (optativo).
– Controlar la claridad y el control de exposición de nuestro render mediante la opción Exposure control.
– Controlar parámetros de render, como Diffuse bounces y Noise reduction. También se debe ajustar la calidad de la imagen.

Para este tutorial utilizaremos una escena básica de un espacio interior sencillo, y puede ser descargada en el siguiente enlace:

Descargar archivo base para el tutorial (3DSMAX 2015)

Ahora abrimos 3DSMAX y configuramos el motor de render en Mental Ray. Abrimos el archivo de la escena en el programa y tenemos lo siguiente:

imuminacionmr_00

En este caso tenemos una espacio sin materiales aplicados. Lo primero que haremos será insertar el sistema Daylight desde el ícono Systems del panel de creación. Es importante colocar el valor de EV en 15 tal como nos indica el Daylight al ser insertado en la escena (clickeando en la opción “Yes”):

imuminacionmr_00b

Al dibujar el Daylight, intentaremos dejar el compass (puntos cardinales) más o menos en el centro de la habitación para que la iluminación sea más precisa. Luego de hacerlo, vamos a motion y configuramos los parámetros de fecha, lugar y hora de acuerdo a la imagen del lado. En este caso dejaremos como zona geográfica Santiago de Chile, la hora será las 10:00 am, el mes será el 6 (Junio) y North direction estará en 270. Un aspecto importante a considerar es que si tenemos el 3DSMAX Design este automáticamente nos preguntará si queremos asignar el cielo especial para mental Ray llamado “Mr Physical sky”, pero si tenemos el 3DSMAX normal debemos configurarlo mediante el panel de modificar del sistema Daylight.

Para esto seleccionamos la luz Daylight y en el panel modificar cambiaremos la opción de Sunlight (luz de Sol) por mr Sun y en Skylight (luz de cielo) por mr Sky. Al elegir esta última opción, el programa nos dará la opción de asignar el cielo mr Physical Sky y evidentemente elegiremos la opción “yes”.

imuminacionmr_00d

Aceptamos y luego realizaremos un render para ver el resultado:

imuminacionmr_02

En este caso la imagen no tiene GI aplicado ni tampoco se han configurado otras opciones, por lo tanto ahora agregaremos el GI desde Render Setup >> Indirect Ilumination >> Enable Gobal Ilumination (GI) o Photon Mapping (GI).

imuminacionmr_19

Si realizamos un render nuevamente, el resultado es el siguiente:

imuminacionmr_03

Como vemos la escena está demasiado saturada de luz y por ello no es realista. Para mejorar el render iremos a Rendering >>> Exposure Control y ajustaremos los valores de exposure control. Elegiremos la opción mr Photographic Exposure Control:

imuminacionmr_03b

Ahora ajustaremos los valores de EV (Exposure Value). En el caso de iluminaciones con Mental Ray, los valores recomendados son:

Para escenas exteriores: 15 o 16.
Para escenas interiores: 10 a 12.
Para iluminación nocturna: 2 a 6, dependiendo de la iluminación aplicada. Se recomienda dejar Daylight en una hora nocturna en lugar de apagarlo o removerlo y si hacemos lo último, podremos colocar una luz Skylight (de tipo standard) y activando el mapa mr Physical Sky.

Tip: los valores de EV también pueden no ser cerrados, es decir, podremos asignar valores como 11.5, 10.34, etc.

Para nuestro ejemplo colocamos el valor de EV=15 y realizamos un render:

imuminacionmr_04

Notamos que nuestro render es demasiado oscuro ya que como vimos antes, este valor se recomienda para escenas exteriores. Para nuestro ejemplo, colocamos el valor de EV=11 y realizamos un render:

imuminacionmr_05

Nuestro render está mucho mejor y ya tiene una apariencia más realista. El siguiente paso es colocar luces artificiales que serán las que lleva nuestro espacio por defecto. En la vista top, colocaremos una luz photometric de tipo free en el plafón y luego realizamos un render:

imuminacionmr_06

Tip: se recomienda insertar las Free Lights en la vista Top, ya que por defecto apuntarán hacia abajo. Si luego se quiere especificar un target activamos la opción Targeted.

Evidentemente el plafón no tiene material aplicado pero esto lo resolveremos más tarde. Para el resto de las lámparas, estas serán de tipo Photometric y serán spotlights pero invertidas hacia arriba y ajustando los parámetros de HotSpot y Falloff.

imuminacionmr_06b

En este caso, las copias de las tres luces deberán ser de tipo instance. Realizamos el Render para ver el resultado:

imuminacionmr_07

Ahora colocamos la luz del apliqué la cual deberá ser similar a las anteriores, pero en este caso es una copia de las luces de la lámpara. realizamos un render para ver el resultado:

imuminacionmr_08

En este caso ya tenemos la iluminación artificial aplicada pero puede que tenga demasiada intensidad de luz. Podremos ajustar esto simplemente modificando la cantidad de Cd (candelas) junto con varias los parámetros de EV y hacer pruebas de render hasta conseguir un resultado adecuado, aunque dependerá de qué tipo de iluminación estemos realizando. Debemos recordar que los valores en candelas son reales y dependerán del tipo de lámparas o ampolletas utilizadas en la iluminación de los espacios. Los valores más comunes en Candelas para las luces más conocidas son:

Vela o bujía: 1 Cd.
LED de potencia:  90 Cd.
Lámpara incandescente 40 W: 40 Cd.
Lámpara incandescente 100 W: 130 Cd.
Lámpara fluorescente 40 W: 200 Cd.

En nuestro ejemplo ocuparemos los valores dados en los templates de la luz fotométrica pero NO ocuparemos el template mismo pues estos cambiarán el tipo de luz. Los valores a utilizar son:

– Plafón de cielo: 140 Cd (100W),
– Lámparas: 70 Cd (60 W)
– Apliqué lateral: 95 Cd (75 W).

Al realizar el render el resultado es el siguiente:

imuminacionmr_09

En este caso las luces artificiales son mucho menos notorias que al principio ya que las candelas son valores reales de iluminación y además debemos recordar que en el caso de la iluminación diurna, la luz natural siempre predominará por sobre la artificial. Si queremos ajustar la iluminación a Nocturna por ejemplo, debemos dejar el Daylight a una hora que sea de noche (20:00 hrs en adelante) y además bajar los valores de EV para conseguir un resultado óptimo:

imuminacionmr_08b

El mismo render anterior pero esta vez se ha asignado el valor de EV=5 y la hora de Daylight es 22:00 hrs.

Volviendo a nuestra escena, a pesar de que esta está iluminada mediante luz natural y artificial, notamos que hay zonas que están un poco oscuras. Podemos mejorar esas zonas aplicando luces auxiliares que resaltarán estas sin afectar a la composición general. Lo importante es que estas luces tengan una distribución de tipo uniform diffuse para no sobreiluminar el resto de los elementos, y que por supuesto tengan una menor intensidad de Cd.

imuminacionmr_10b

En el ejemplo se ha considerado una luz con un emit from shape de tipo rectangle y con una intensidad de 70 Cd para la zona detrás del sillón, y abajo el render resultante:

imuminacionmr_09

Render original.

imuminacionmr_10

Render con luz de relleno detrás del sillón.

Es importante destacar además que este tipo de luces tiene desactivada la opción shadows ya que al ser de “relleno”, no nos interesa que proyecten sombras.

Luz mr sky Portal

Si realizamos el render notaremos que la luz de los vanos no es emulada de forma correcta ya que en la realidad, al entrar la luz a través de estos tienden a formar zonas iluminadas en los cielos y en los lados adyacentes a estos. Para resolver este problema agregaremos un tipo de luz exclusivo de Mental Ray: se trata de mr Sky Portal. Este es un tipo de luz de área que al ser colocado en los vanos, emula el efecto de la luz que se producen en estos.

imuminacionmr_18a

Para colocar la mr Sky Portal, la dibujaremos de la misma forma que un rectángulo y de preferencia en las vistas donde sean visibles los vanos (Left o Right) ya que lo que debemos tener en cuenta es que las medidas del rectángulo de esta luz deben ser similares a las del vano y también debemos considerar que se deben colocar de lo más cerca posible de la abertura. Otra cosa que notaremos en mr Sky Portal es que en su centro existe una flecha la cual nos indicará hacia dónde se generará el efecto, la cual siempre deberá apuntar hacia el interior del espacio.

imuminacionmr_11

imuminacionmr_11b

Realizamos un render para ver el resultado. En este caso se compara el render original versus el nuevo render con mr Sky Portal aplicado:

imuminacionmr_10

Render original.

imuminacionmr_12

Render con mr Sky Portal en el vano de la ventana.

Si tomamos nuestro mr Sky Portal y nos vamos al panel modificar, encontraremos los siguientes parámetros:

mr Skylight Portal Parameters:

imuminacionmr_18ab

On Multiplier: determina la intensidad de la luz del portal. Su valor por defecto es 1.

imuminacionmr_12b

El render anterior pero con parámetro On multiplier en 10.

Filter Color: es el color de filtro del portal. Podemos cambiarlo clickeando el color por defecto (blanco).

imuminacionmr_13

El render anterior con On Multiplier en 1, pero con Filter Color en amarillo.

imuminacionmr_13b

El render anterior con On Multiplier en 1, pero con Filter Color en rojo.

imuminacionmr_13c

El render anterior con On Multiplier en 1, pero con Filter Color en verde.

Shadows On: activa o desactiva la proyección de sombras. Por defecto sólo las arroja en los objetos que están en el sentido de la flecha.

imuminacionmr_12

Render original.

imuminacionmr_14

El render anterior pero con sombras desactivadas (shadows off).

From “Outdoors”: cuando está activado este además arroja sombras en los objetos fuera del portal; es decir, en el lado contrario al que apunta el ícono de la flecha. Está desactivado por defecto, debido a que encenderlo puede aumentar significativamente los tiempos de render.

Shadow Samples: determina la calidad general de las sombras proyectadas por el portal. Si la imagen renderizada aparece granulada, se debe aumentar este valor (aunque aumentará también el tiempo de render).

imuminacionmr_12

Render original con Shadow samples en 16.

imuminacionmr_14c

Render con Shadow samples en 256.

Dimensions: determina el largo (Lenght) y ancho (Width) del rectángulo del portal. En este caso la idea es que sea lo más parecido posible a la dimensión original del vano.

imuminacionmr_20c

Flip Light Flux Direction: determina la dirección en la que fluye la luz a través del portal. El icono de la flecha siempre debe apuntar hacia el interior para que el portal pueda emitir luz desde el cielo o el medio ambiente. Si la flecha apunta hacia afuera, se debe activar esta configuración para invertirla ya que provocará errores en la iluminación.

imuminacionmr_20

imuminacionmr_20b

Advanced parameters:

imuminacionmr_18ab1

Visible to Renderer: al activarlo, el portal será visible en el render. Si se activa esta opción evitaremos que los objetos que están fuera de la ventana aparezcan en nuestra escena.

imuminacionmr_15

Render original en el cual se ha agregado un cilindro afuera del espacio.

imuminacionmr_15b

Render con la opción visible to render activada, que hace que no se vea el cilindro.

Transparency: filtra la vista fuera de la ventana. El cambio de este color no cambia la luz que entra pero tiene el efecto de oscurecimiento de los objetos externos, que puede ayudar si están sobre expuestos.

imuminacionmr_15c

Render con Transparency color en amarillo.

imuminacionmr_15d

Render con Transparency color en rojo.

Color Source Group: establece la fuente de la luz a partir del cual el mr Sky Portal deriva su iluminación. En este parámetro tenemos 3 opciones que son:

Use Existing Skylight: utiliza la Skylight. Por defecto, mr Sky Light usa el mapa de entorno llamado mr Physical Sky en sus valores predeterminados y este tiende a dar una iluminación azulada, como la luz de cielo en el mundo real.

Use Scene Environment: utiliza el mapa de entorno (environment map) para el color de la iluminación. Se debe usar esta opción si environment map y skylight son de diferentes colores, y se desea utilizar este último para la iluminación interior.

Custom: permite utilizar un mapa personalizado o una textura para la coloración de iluminación.

Es importante que agreguemos mr Sky Portal en CADA UNO de los vanos que queremos que se aplique el efecto, por lo tanto podremos dibujar una de estas luces para después copiarla (como copy o instance) para luego colocarla y editarla en el resto de los vanos si es necesario.

imuminacionmr_17b

Aplicación de mr Sky Portal en un ejemplo concreto.

Ajustando el render mediante Final Gather

Una vez que tengamos los mr Sky colocados aplicaremos materiales. en el archivo del tutorial esto es fácil ya que estos ya vienen predefinidos al activar el editor de materiales (M), por ello es cosa de ver los nombres de estos y luego arrastrarlos a los elementos. Una vez terminada la materialización realizamos un render:

imuminacionmr_17

Nuestro render ya se ve de una manera más creíble y realista pero tendrá granos en la imagen. Podremos editar el render en cualquier momento modificando los materiales, las luces, los mr Sky Portals y las configuraciones en Exposure Control. También podremos mejorar nuestro render yendo a Indirect Ilumination >> final gathering y modificando los parámetros generales de Final Gather:

imuminacionmr_18

Los parámetros que podremos modificar son:

Enable Final Gather: activa la opción Final Gather la cual permite que la escena se ilumine debido a la luz directa y también al efecto del rebote de los rayos, mejorando la calidad de la solución de iluminación global o GI. Debemos tener cuidado con esta opción pues si tenemos uno o más mr Sky Portals colocados, GI activado y desactivamos Final Gather nos arrojará error en la iluminación de los mr Sky Portals.

imuminacionmr_20e

Render de la escena sin GI ni Final Gather, con un mr Sky Portal colocado.

imuminacionmr_20f

Render de la escena sin GI pero con Final Gather activado, con un mr Sky Portal colocado.

imuminacionmr_20d

Render de la escena con GI activado, mr Sky Portal colocado y Final Gather desactivado, mostrando un error en la iluminación del mr Sky Portal.

Multiplier: controla la intensidad de la luz de final Gather (por defecto es 1). Mientras más alto es el valor mayor es la iluminación dada por Final Gather.

imuminacionmr_20g

Render de la escena con Multiplier de Final Gather en 5.

FG Precision Presets: esta opción ajunta automáticamente los valores inferiores del cuadro, y permite configurar diversas calidades de render desde Draft (borrador) a Hery High (muy alta). A mayor calidad de Final Gather mayor será el tiempo de render. Si modificamos de forma arbitraria los valores, FG Precision Presets pasará al modo Custom.

imuminacionmr_21c

imuminacionmr_21a

Render de la escena en calidad Draft.

imuminacionmr_21d

imuminacionmr_21b

Render de la escena en calidad High.

Los parámetros inferiores de Final Gather que podemos editar son los siguientes:

Initial FG Point Density: se refiere a la densidad de la trama de puntos de medición de la luz del render (por defecto es 0,8). Un número mayor de puntos reducirá la cantidad de ruido (noise) de la imagen dándole a esta más detalle. Sin embargo en esta opción lo ideal es colocar valores menores a 10 pues valores mayores generarán mucho tiempo de render.
Rays per FG Point: al igual que en el parámetro anterior, a mayor cantidad de rayos por punto menos noise (ruido) y mayor detalle en la imagen final (por defecto es 250). Sin embargo, debemos tener cuidado con los valores que asignemos para no aumentar innecesariamente el tiempo de render. Los valores aconsejables para este parámetro son:
– Cuando sólo hay un punto de luz: de 100 a 500 rays (aunque se puede llegar a 1.000 o incluso 10.000).
– Si la escena tiene varios puntos de luz: 50 rays.
Interpolate Over Num. FG Points: esta opción hace que Final Gather coloque puntos en la escena que recojan información de la luz y la envíen a la cámara (por defecto es 30). Si subimos el valor disminuirá el ruido o noise. Interpolate se define como los pasos para llegar de un píxel a otro de la imagen. Por ende a mayor valor de interpolate, habrá mayor suavidad en la imagen. Debemos tener en cuenta que si aplicamos valores muy altos el suevizado será demasiado y por ende se perderá detalle (el efecto será similar al desenfoque o blur). Sin embargo, un mayor valor de interpolate Over Num. FG Points no aumenta el tiempo de render. Por ello se recomiendan valores menores a 200.
Diffuse Bounces: asigna el número de rebotes de luz difusa. Mientras tengamos valores más altos más se iluminará nuestra escena, como consecuencia de la luz indirecta. Los rebotes no afectrán al noise ni al suavizado, pero aumentan el tiempo de render.  Usualmente los valores de este están entre 2 y 5, sin embargo no se recomiendan valores mayores a 10.
Tip: si a pesar de aumentar el número de Diffuse Bounces seguimos necesitando aumentar el brillo de nuestra escena podemos hacerlo manejando los valores de EV en mr Photographic exposure Control.
También podemos ajustar el parámetro Noise Filtering a fin de reducir la cantidad de ruido y la granulometría que tenga el render, seleccionando las opciones High, Very High o Extremely High (aunque esto aumentará el tiempo de render).

imuminacionmr_18b

imuminacionmr_17c

El render anterior pero con Noise filtering en High.

Otro cambio que podemos hacer y que ayudará mucho a la calidad del render es ajustar la opción Image Precision (Antialiasing) al valor Min 1, Max 16 o superior, ya que esto hará que los granulos iniciales desaparezcan aunque evidentemente esto aumentará significativamente el tiempo de render. Esta opción puede ser modificada en los parámetros de la imagen que se ubican debajo de la imagen renderizada, tal como se muestra en la imagen:

imuminacionmr_19

O también en la persiana Render Setup >>> Renderer >>> Sampling Quality, donde modificaremos loa valores de Minimun y Maximum:

imuminacionmr_21e

imuminacionmr_19b

El render anterior pero con Shadow Samples de mr Sky Portal en 64 y Noise filtering en Standard. En este caso el valor de Image Precision es de Min 1, Max 16 y FG Bounces (Diffuse bounces) en 2.

A pesar de este tutorial es bueno recordar que la iluminación de escenas requiere muchísima práctica y sobre todo realizar muchas pruebas de iluminación y render, además que debemos tomar en cuenta la adecuada colocación de materiales en nuestra escena.

imuminacionmr_22

Render realizado con Image Precision (Antialiasing) en 1/16, FG Precision Presets en medium, con el valor de EV=11 y con el valor de multiplier de Photon Mapping (GI) en 2.

imuminacionmr_22b

Render realizado con Image Precision (Antialiasing) en 1/16, FG Precision Presets en medium y con el valor de EV=11, pero se han cambiado los materiales de las lámparas y el apliqué por un material standard, a excepción del material del plafón.

imuminacionmr_22c

El mismo render pero esta vez es de carácter nocturno, realizado con Image Precision (Antialiasing) en 1/16, FG Precision Presets en medium y con el valor de EV=5, se ha desactivado el fondo mr Physical Sky y la luz de relleno, además que se le ha cambiado el material de los marcos de la ventana.

Este es el fin de este tutorial.

Bibliografía utilizada:

Blog de Roberto Ortiz, tutoriales de Mental Ray y V-Ray.

http://robertortizrobertuz.blogspot.cl/2014/10/3ds-max-mental-ray-vray-varios-trucos-y.html

 

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

3dsmaxmr_arch_design1Un 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

3dsmax_msoUn 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.