Tutoriales 3D

Tutorial 03a: Spacing Tool (espaciado)

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

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

Aplicando Spacing Tool:

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

Radius: 5, Height: 100.

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

sptool00

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

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

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

sptool01b_pickpoints

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

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

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

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

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

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

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

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

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

Las opciones de este menú son:

Free Center: centro libre.

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

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

End Offset: especificar final de recorrido.

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

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

Start Offset: especificar inicio de recorrido.

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

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

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

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

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

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

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

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

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

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

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

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

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

spacing001a

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

spacing001

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

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

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

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

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

sptool04c

sptool04d

Este es el fin del tutorial 03a.

Tutorial 10: Animación básica

3dsmax_animacionDesde los tiempos primitivos el hombre ha intentado representar el movimiento, pasando por inventos como el zootropo hasta llegar a los dibujos animados modernos. Valiéndose del principio físico de la persistencia de la visión, en la que el cerebro humano retiene durante unas fracciones de segundo la imagen que captan sus ojos, los cineastas descubrieron que el cerebro, al ver una secuencia de imágenes a gran velocidad no es capaz de individualizarlas y por ende, este crea la ilusión de movimiento continuo. Esta secuencia de imágenes a gran velocidad es lo que se conoce como animación.

En animación cada una de estas imágenes se denomina cuadro o frame y la fluidez de la animación dependerá de la cantidad de cuadros “por segundo” que pasen ante nuestros ojos. Básicamente la cantidad de “cuadros por segundo” nos indica el número de imágenes que se muestran en un segundo de tiempo y se simboliza fps. Este formato se utiliza en cine y en televisión, y son los siguientes:

NTSC (El formato de TV que usamos en Chile): 30 fps.
PAL (El formato de TV que se usa comúnmente en Europa y Argentina): 25 fps.
Cine: 24 fps.

Concepto de cuadro clave

En las primeras décadas del siglo XX (y aún hoy) los dibujos animados eran realizados dibujando el o los personajes “cuadro por cuadro”. Al ser esta una tarea titánica (por ejemplo, para realizar 5 minutos de animación debemos dibujar unos 7.200 cuadros) los animadores se encargaban de dibujar las poses principales de los personajes para que luego animadores secundarios o asistentes dibujaran los cuadros intermedios. A partir de esto nace el concepto de cuadro clave o keyframe. A diferencia de la animación 2D tradicional, en 3DSMAX tenemos la ventaja que el programa dibuja los cuadros intermedios (interpolación) de forma automática mientras nosotros sólo definimos los cuadros clave. Entender perfectamente cómo crear y editar keyframes es necesario para crear animaciones realmente convincentes.

Podemos ver el tiempo total (en frames) de la animación en la línea de tiempo, la cual se ubica en la parte inferior del programa (imagen de abajo). El cuadro que nos indica un frame en la línea (en la imagen de abajo nos indica el frame 87/100) que posee una línea celeste y que podemos mover libremente se denomina regulador de tiempo.

Barra de controles de animación

La barra de controles de animación se encuentra en el lado inferior derecho del programa, y que podemos ver en la imagen de arriba.

En el cuadro de controles de animación encontraremos dos tipos de creación de keyframes, denominados Auto Key y Set Key. El ícono de la llave nos permite crear un keyframe de forma manual, que veremos más adelante.

En el cuadro de control vemos los controles de reproducción de la animación, los cuales funcionan igual que un equipo de música (rew, play, fast forward o ff) además que encontramos la función de play/pause, que nos permite ver a animación cuadro a cuadro. Si presionamos y mantenemos el botón play, podremos elegir Play Selected el cual nos permitirá reproducir la animación sólo de objetos que seleccionemos (seleccionando uno o más objetos que estén animados).

Otro elemento importante del panel de control es la configuración de tiempo o Time Configuration (el cuadro con el reloj de la imagen del lado). Además de este podemos encontrar otro menú en el cual podremos ver cada frame, de la misma forma que con play/pause.

Si activamos la configuración de tiempo accederemos al siguiente cuadro de la imagen derecha. En Frame Rate podemos definir la velocidad de los fps de acuerdo a los siguientes tipos:

– NTSC
– PAL
– Film (cine)
– Custom (fps personalizados).

En Time Display podemos establecer el método para mostrar el tiempo en el regulador de tiempo y en el programa. Esto puede ser en frames (por defecto), SMPTE, cuadros e impulsos o minutos, segundos e impulsos. Internamente 3DSMAX fracciona el tiempo en impulsos (1 impulso equivale a 1/4800 partes de 1 segundo).

En Playback podemos establecer el tipo de reproducción que queramos: en tiempo real (Real Time) el cual dependerá de la capacidad de nuestro PC, 5 velocidades de reproducción (1/4x, 1/2x, 1x, 2x, 4x), si queremos reproducir la animación sólo en la vista seleccionada (Active Viewport Only) o si queremos desactivar la repetición de la animación (Loop). Esto será válido sólo en la viewport de trabajo, pues en el render será siempre de 1X:

Animación reproducida en 1/4X

Animación reproducida en 1X (velocidad normal)

Animación reproducida en 1X (Render)

En Animation podemos determinar la duración de nuestra escena, en frames.

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

En End Time podemos definir el final del último cuadro de nuestro segmento de tiempo.

Lenght se relaciona con las anteriores y representa la cantidad de tiempo total.

Frame Count se relaciona con las anteriores, y nos indica el cuadro de conteo.

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

Re-scale Time nos permite reescalar el segmento de animación activo, con esto los cuadros clave son reescalados también lo cual nos permite acelerar o desacelerar una animación.

Métodos de creación de animación

Para crear animaciones existen dos caminos básicos que son:

–       Transformar un objeto mediante operaciones como mover, rotar o escalar.

–       Transformar un objeto mediante modificadores u otros, o editar algún parámetro en el tiempo.

Cuando animamos en 3DSMAX, cada cuadro en el cual hagamos un cambio se transforma en un keyframe y el programa realiza la interpolación de los frames intermedios hasta llegar al keyframe anterior.  Para animar en 3DSMAX podemos elegir el modo automático (Auto Key) o manual (Set Key). Para entender esto haremos un pequeño ejercicio de animación:

tu10_04

Para animar de forma automática, primero dibujaremos una tetera (teapot) y luego presionaremos el botón Auto Key. Notaremos que la línea de tiempo se vuelve roja lo cual nos indica que está en modo de animación. Ahora movemos el regulador de tiempo a la posición 30 y movemos un poco la tetera en X. Una vez que la movamos notaremos que en 0 y en 30 se han creado 2 cuadros rojos. Estos son los cuadros claves que ha creado el programa y que vemos en la imagen de la derecha. Si tomamos el primer cuadro y lo seleccionamos con un click, este se pondrá de color blanco. Los keyframes pueden ser movidos simplemente cambiándolos de posición en la línea de tiempo.

En este caso, movamos este frame hasta la posición 15 en la línea de tiempo y reproduzcamos la animación. Notaremos que esta parte recién en 15 y termina en 30. De la misma forma en que este keyframe puede ser movido, puede ser copiarlo si al moverlo presionamos y mantenemos Shift. En el caso de nuestro ejercicio, copiamos el primer frame a la posición 50 de la línea de tiempo. Intentemos ahora copiar el segundo frame a la posición 70 en la línea de tiempo y reproducimos la animación. Notaremos que la tetera se mueve hacia la derecha, luego a la izquierda y finalmente vuelve a moverse a la derecha. Como se ve en el ejercicio, los keyframes pueden ser movidos y copiados si lo necesitamos, incluso si no tenemos Auto Key activado. Para eliminar un keyframe, simplemente lo seleccionamos y presionamos Suprimir (Supr).

tu10_04b

Si queremos animar la tetera del ejercicio en el modo manual, debemos activar Set Key y luego presionar el ícono de la llave para establecer el primer keyframe en 0, luego movemos el regulador de tiempo a la posición 30, movemos nuestra tetera y una vez que lo hagamos presionamos nuevamente el ícono de la llave, para definir el segundo cuadro clave en 30. Al igual que en el modo automático, podemos mover, copiar o suprimir los keyframes. El modo manual es evidentemente más lento que el modo automático, pero a la larga es el más ventajoso puesto que se tiene mayor control de la animación.

Métodos de edición de keyframe

Sabemos que podemos mover, copiar o suprimir un cuadro clave. Sin embargo, si vemos el ejercicio anterior notaremos que la animación nos queda algo tosca ya que la transformación que le apliquemos será uniforme en todo el objeto. Para resolver esto podemos editar la animación mediante el Curve Editor, el cual nos permitirá editar la forma en que se animan las trayectorias.

Curve Editor: edita las trayectorias de la animación, basándose en los keyframes.

tu10_06

Al abrir Curve Editor, nos aparece el cuadro de arriba. Debemos tener seleccionado el objeto animado para poder ver las trayectorias de la animación. En el caso de nuestra tetera, vemos la curva que representa la animación (curvas rojas) que corresponde al movimiento de la tetera en X:

tu10_06ctu10_06b

Podemos editar esta curva tomando los cuadros clave (en plomo) y seleccionándolos mediante un click. Al igual que en la línea de tiempo, este se pondrá blanco y además aparecerá una línea discontinua con un punto celeste (asa), esta nos permitirá editarlas mediante cuevas bezier si seleccionamos y movemos el punto celeste. Podemos moverlas para ir probando nuestra animación y ver distintos resultados. Si presionamos el botón secundario en el keyframe, podemos acceder al cuadro de la derecha donde podremos definir la posición del keyframe, el value (amplitud de la curva) y el tipo de curvatura que veremos ahora:


     1         2         3      4      5        6        7

1.- Set tangents to Auto: Seleccione keys y elija esta opción en la barra de herramientas Tangentes de key de Track View para definir las tangentes en Auto de forma automática. Un icono desplegable también permite definir en Auto de forma individual las tangentes internas y externas. Mediante la selección de las asas de tangentes Auto, éstas se convierten automáticamente en personalizadas y pueden editarse.

2.- Set tangents to Custom: Define la keyframe en tangentes personalizadas. Seleccionamos la keyframe y luego presionamos este botón si quiere que editar las asas del keyframe. Definimos el tipo de tangente Dentro y fuera por separado utilizando el icono desplegable. Cuando empleamos las asas, utilizamos la tecla MAYÚS para romper la continuidad.

3.- Set tangents to Fast: Define la tangencia de la keyframe en rápido dentro, rápido fuera o ambos, dependiendo de lo que se haya elegido en el icono desplegable.

4.- Set tangents to Slow: Define la tangencia de la keyframe en lento dentro, lento fuera o ambos, dependiendo de lo que se haya elegido en el icono desplegable.

5.- Set tangents to step: Define la tangencia de la keyframe en pasos (steps) dentro, step fuera o ambos, dependiendo de lo que se haya elegido en el icono desplegable. Utilizamos Step para congelar el movimiento de una key a la siguiente.

6.- Set tangents to linear: Define la tangencia de la keyframe en línea dentro, fuera o ambos, dependiendo de lo que se haya elegido en el icono desplegable.

7.- Set tangents to smooth: Define la tangencia de la keyframe en suavizado. Utilizamos esta opción para uniformar el movimiento discontinuo.

Jerarquía y cinemática

En el mundo real los movimientos o rotaciones de muchos objetos dependen de otros a los que están subordinados. Por ejemplo, las ruedas de un auto giran gracias a la rotación del eje a la que están unidas y a su vez este eje puede rotar gracias al motor, etc. Esta relación se conoce como Jerarquía. 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. Si este 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.

Para crear una jerarquía simplemente presionamos el botón Select and Link (imagen izquierda). Esto nos permitirá crear una jerarquía entre 2 o más objetos.

tu10_08

Seleccionamos el objeto hijo, luego presionamos y mantenemos el botón primario del mouse y arrastramos hasta el objeto padre.

tu10_08b

Así creamos la jerarquía y podemos probarla moviendo o rotando el objeto padre (en el caso de las imágenes del lado derecho el objeto padre es la tetera) y notaremos que la caja también es afectada por la transformación, y esta está subordinada a lo que se haga con la tetera.

Si tenemos seleccionado cualquier objeto que pertenezca a la jerarquía, podemos seleccionar y ver los objetos hijos si presionamos la tecla Av Pag (izquierda), y el objeto padre lo veremos si presionamos Re Pag.

tu10_08c

Si queremos eliminar la jerarquía, simplemente seleccionamos el objeto a desvincular y presionamos el botón Unlink Selection que está al lado del botón Select and Link.

Otra cosa importante es que además tenemos el panel de Hierarchy (izquierda), donde podremos editar los puntos de pivote de los objetos. Esto es importante si queremos, por ejemplo, cambiar el punto de pivote de una primitiva o un modelo 3D para animarlo (por ejemplo, una puerta). Tenemos 3 funciones importantes:

Affect Pivot Only: podremos transformar el punto de pivote del objeto, lo cual nos permitirá ponerlo en cualquier posición y desde ahí transformar el objeto.

tu10_10

Affect Object Only: podremos transformar el objeto sin afectar el punto de pivote original de este.

tu10_10b

Affect Hierarchy Only: podremos transformar la relación jerárquica de ese objeto sin afectar su punto de pivote ni al objeto en sí.

tu10_10c

Podemos activar o desactivar estas funciones simplemente presionando y luego volviendo a presionar el botón correspondiente

En el caso de la Cinemática, esta se divide en 2 partes: Cinemática Directa (Foward Kinematics) y Cinemática Inversa (Inverse Kinematics). La Cinemática Directa es simplemente la forma predeterminada de manipulación de las jerarquías. La Cinemática Inversa es un método de animación que invierte la dirección de manipulación de la relación jerárquica, es decir, si se transforma a los hijos se transforma el objeto padre. Este tipo de cinemática es muy útil para animar seres personajes o complejas jerarquías de huesos, como puede ser el caso de un ser humano.

Gracias a la cinemática y a la jerarquía, podemos por ejemplo animar objetos mediante cámaras simplemente enlazando el target o esta misma a los objetos.

Constraints o Restrictores de animación

Todo lo que se mueve, rota o escala, es decir, todo lo que es posible de animar está manejado por un controlador. Un controlador es un plugin que controla el almacenamiento y la interpolación de todos los valores animados, es decir, gestiona las tareas de animación.

Hay tres tipos de controladores predeterminados y estos son:

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

Además contamos con un tipo especial de controlador llamado Restrictor (Constraints) que facilita bastante el proceso de animación. Con los constraints se puede controlar la posición, rotación, y escala de un objeto. Dependiendo de la animación que deseemos realizar dependerá la cantidad de objetos que necesitemos para aplicar un constraint. Hay siete tipos que son:

Attachment Constraint: Asocia la posición de un objeto a la cara de otro:

Surface Constraint: Limita la posición de una superficie 2D a la superficie de otro elemento 3D:

Path constraint: Limita el movimiento de un objeto a lo largo de un recorrido.

Position constraint: Limita la posición de un objeto a la posición de otro:

Link Constraint: Genera uno o más vinculos entre el objeto que tiene la restricción y otros:

LookAt constraint: Limita la orientación de un objeto a la posición de otro:

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 constraint que aplicaremos. Por ejemplo, si queremos animar el recorrido de un automóvil a través de una carretera entonces debemos aplicar Path Constraint ya que este nos permite animar el objeto en torno a un recorrido 2D. En el caso de la Arquitectura, bastará con Path Constraint para animar un recorrido. Realizaremos un sencillo ejercicio donde aplicaremos Path Constraint.

Animando con Path Constaint

tu10_12

Lo primero que haremos es dibujar en la vista top una tetera y un círculo 2D de modo que ambos queden centrados en el origen y que el radio del círculo sea mucho mayor que el tamaño de la tetera. Ahora en la misma vista colocaremos una cámara de tipo target, de tal forma que el objetivo de la cámara esté centrado en el origen. La idea es que todo esto se vea como la imagen:

tu10_12b

Podemos elevar un poco el círculo de tal forma que la altura sea más o menos la mitad de la tetera. Ahora seleccionaremos la cámara e iremos a Animation >> Constraints >> Path Constraint y nos aparecerá una línea discontinua, ahora todo es cosa de seleccionar el círculo y hacer click para aplicar el restrictor.

Notaremos que la cámara está alineada con el círculo, que se han creado 2 keyframes en 0 y 100 y que si reproducimos, notaremos que la cámara ahora orbita en torno a la tetera utilizando el círculo 2D como recorrido. Si queremos, podemos editar el radio del círculo y podemos transformarlo para mejorar la animación de la cámara, o también podemos mover los keyframes creados en la línea de tiempo.

Para ver la animación desde la cámara simplemente tecleamos C en cualquier vista y reproducimos.

Podemos repetir el ejercicio pero esta vez modelando un sencillo vehículo y realizamos los mismos pasos, aunque en ese caso posiblemente el objeto no nos quede bien alineado en el recorrido como podemos ver en la imagen de abajo:

animation001

Podemos resolver esto yendo al cuadro de animación mostrado más arriba y activar las opciones de Follow (seguir) y para que nuestra nave vuele de forma más realista podemos activar Bank (girar en su eje). Esto hará que el objeto siga al recorrido y podremos orientarlo utilizando los Axis X, Y y Z (si la nave nos queda de forma invertida al recorrido podremos invertirla con Flip). En la imagen de abajo, la nave se ha volteado activando follow y luego bank, el Axis se ha modificado a X y luego se ha activado flip para ajustar a la posición correcta:

animation001b

Ahora todo es cosa de reproducir la animación para ver el resultado final:

Los ayudantes o helpers

Los ayudantes son esenciales para la animación de formas complejas ya que son objetos “ficticios” en los cuales podremos aplicarles cualquier relación de jerarquía o algún constraint de animación. Estos son muy utilizados por los animadores cuando queremos no comprometer a los objetos originales con las relaciones o las animaciones o para no crear formas 3D que dificultarían la labor de animación. Los ayudantes se crean en el panel de helpers (imagen derecha) y los más populares son: Dummy, Tape y Point.

Dummy: es un cubo virtual que cumple la función de ser un receptor ya que allí podremos aplicar las restricciones o los vínculos necesarios sin aplicarlos al objeto ya que este pasa a ser el elemento hijo del Dummy. Un Dummy no tiene parámetros modificables.

Point: similar al Dummy pero nos genera una cruz virtual que indica la posición de un punto. Podemos editar el tamaño, o desplegar los ejes del punto.

Tape: es una cinta virtual que nos permitirá acotar los objetos.

Representando la animación

Representar o renderear la animación es tarea sencilla en 3DSMAX, para ello deberemos ir a la opción de Render Setup y en Common nos daremos cuenta que está activada la opción Single. Esto significa que cuando presionemos el botón de render se representará una sola imagen, la cual podremos guardar como imagen de tipo jpg o similar. Esta imagen está por defecto en el frame 0, pero podemos renderear cualquier frame que queramos si antes lo seleccionamos en la línea de tiempo. Para elegir una secuencia de imágenes, tenemos las siguientes opciones:

Active time Segment: selecciona toda la línea de tiempo.

Range: nos permite establecer un rango de animación en la línea de tiempo.

Frames: podemos elegir la cantidad de frames que queramos, de forma similar a cómo elegimos las páginas a imprimir en Word.

En Area to Render podemos elegir el área que se rendereará: View (renderea toda la ventana), select (objeto seleccionado), Region, Crop (área de recorte de la ventana) y Blowup (similar a Crop pero el render utiliza todo el tamaño de imagen).

En la opción Output Size tenemos los diferentes formatos de pantalla, además de los cuadros con los formatos 320 x 240, 720 x 486, 640 x 480 y 800 x 600. El tamaño de la película dependerá de la presentación que queremos realizar, por ejemplo 320 x 240 es ideal para testear la animación de prueba mientras que deberemos renderear en NTSC DV para la animación final si es que queremos presentar una animación que será transmitida por TV, ya que este nos presenta la calidad de DVD.

Si realizamos el render eligiendo una secuencia de imágenes, nos aparecerá un cuadro que nos advertirá que los frames se perderán pues no han sido asignados a un archivo. Esto ocurre porque debemos guardar el archivo antes de realizar el render, pues de otra manera no podremos verlo en el PC una vez rendereados todos los frames. Por ello debemos bajar por la persiana de Common hasta llegar a Render Output y allí presionamos el botón files:

tu10_19

Nos aparecerá un cuadro donde nos pedirá el nombre del archivo a guardar y en el menú de abajo aparecerán los formatos con los que guardaremos la película. Los formatos de Video más populares son AVI y MOV.

tu10_20

Esta opción nos permitirá además guardar la secuencia de imágenes en formatos de imagen como JPG, TIFF o TGA, aunque si lo hacemos nos guardará tantas imágenes como frames tenga la animación. Por ejemplo, si tenemos una animación de 100 frames y guardamos toda la secuencia como jpg y con el nombre de animacion, nos guardará en la carpeta 100 imágenes renombradas como animacion0001.jpg, animacion0002.jpg, etc. Por ello deberemos guardar la película en AVI para que nos cree el archivo de Video.

tu10_21

Una vez que hemos asignado un nombre y el tipo de archivo como AVI, nos aparecerá un cuadro donde elegiremos el compresor para el video. DV video encoder es el mejor para el formato de TV, mientras que Cinepak Codec es ideal para archivos pequeños. Una vez que elegimos el compresor (usualmente Cinepak Codec) damos OK y con esto finalizamos la configuración.

Una vez que creamos nuestro archivo, en Render Output ahora está disponible la opción Save File. Podemos activarlo o desactivarlo si por ejemplo, queremos ver un frame específico y necesitamos renderizar una sola imagen sin que guarde todo el archivo.

Ahora todo es cosa de ejecutar el render y esperar que el programa termine de representar todas las imágenes. Una vez que finalice, vamos a la carpeta donde guardamos el archivo y ya podremos verlo con el reproductor de Windows.

Una cosa importante: el tiempo que demore nuestro render dependerá de la complejidad de la escena y de cómo hayamos aplicado las soluciones de texturizado e iluminación en los modelos. En el caso de escenas 3D muy complejas el tiempo de render será inevitablemente muy largo, por lo que se recomienda renderizar de noche, dejando al PC trabajando “toda la noche” o incluso por algunos días si es necesario.

Este es el fin de este tutorial.

Bibliografía utilizada:

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

– 3DSMAX User Guide reference.

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

Tutorial 09: Importación de archivos CAD (parte 2)

3dsmax_importacionA lo largo de este semestre ya hemos aprendido a modelar en 3DSMAX mediante diversas técnicas, además de crear y aplicar materiales y terminando con los distintos tipos de iluminación tanto Standard como fotométricas, además de calcular iluminación global y realizar estudios de asoleo. Nuestra gran interrogante ahora es ¿se pueden importar archivos 2D y 3D desde otras plataformas como AutoCAD? ¿Podemos configurar las unidades de medida y ajustar el archivo original de AutoCAD, por ejemplo, a metros? La respuesta es sí: 3DSMAX nos permite importar y trabajar tanto con archivos 2D como 3D, ya que los convierte en Splines en el caso de las líneas 2D, y el modo editable Mesh en el caso de las formas 3D.

En este tutorial continuaremos con lo estudoiado en el tutorial 09 donde importamos un archivo de AutoCAD en 3DSMAX y modelamos la estructura en 3D de una casa la cual está basada en un plano 2D dado. Para la correcta realización de este tutorial, al final de este se incluye el archivo tutorial09_casa.dwg.

Modelando las puertas y ventanas en 3DSMAX

Una vez que tengamos listos los pisos, procederemos a modelar las ventanas y las puertas. Pero no lo haremos del modo tradicional pues sería demasiado trabajo. Por suerte 3DSMAX nos incluye puertas y ventanas la predeterminadas las cuales podremos crear como si fueran objetos 3D. Para modelar las puertas y ventanas, nos vamos al panel crear y en el menú de geometrías 3D seleccionamos la opción Doors para las puertas o Windows para las ventanas. Para nuestra casa comenzaremos dibujando las puertas mediante Doors, la que nos permitirá crear 3 opciones de puertas que son:

Pivot, que es la puerta tradicional la cual rota en un punto de pivote vertical:

3dsmaxtut09_21b

Sliding, que es la puerta corrediza o de corredera:

3dsmaxtut09_21c

BiFold, que corresponde a la puerta plegable utilizada sobre todo en clósets:

3dsmaxtut09_21d

En nuestro caso presionaremos Pivot para crear una puerta de pivote standard. Primero nos pedirá el grosor del marco y la puerta, luego el largo y finalmente determinamos la altura.

Nota: para dibujar una puerta debemos utilizar snaps (de preferencia Vertex) y realizar el primer click, luego mantendremos el botón del mouse presionado y arrastraremos al siguiente punto, daremos click y luego indicaremos el grosor con otro click, luego movemos el mouse para definir la altura y haremos click en el inicio del vano para definir la altura de esta (ver más abajo). 

puertas00Ahora veremos sus principales propiedades (Parameters) en el panel modificar:

Height: altura de puerta.
Width: ancho de la puerta.
Depth: grosor de marcos y la puerta.

Es importante destacar que estas tres dimensiones principales nos definirán el tamaño de la puerta misma sin incluir el marco que la rodea, ya que este puede o no colocarse como anexo.

Double Doors: si lo activamos, definiremos dos puertas en lugar de una.

puertas01

Flip swing: al activar esta opción cambiamos el sentido de la apertura de la puerta (adentro o afuera).

puertas01 puertas02

Flip Hinge: sólo funciona cuando tenemos una sola puerta, y cambia el punto de pivote la puerta (izquierda o derecha).

puertas03 puertas03b

Open: podemos definir el ángulo de apertura en grados (esto lo podremos animar usando la opción Auto Key).
Create frame: definimos o no la creación del marco, y sus parámetros. En este podremos definir el largo (Width), el ancho o Depth (si lo dejamos en 0, el ancho por defecto es el mismo de la puerta) y el desplazamiento de la puerta respecto del marco mediante Door Offset. Cabe destacar que si dejamos este en 0, el punto de pivote es el mismo donde comienza el marco. Si lo aumentamos la puerta tenderá a ditigirse hacia el interior del marco.

puertas04

Door Offset en valor 0.

puertas04b

Door Offset en valor 4,9.

Leaf Parameters

Thickness: define el grosor de la puerta.
Stiles/Top Rail:
define las dimensiones del panel central si lo activamos.
Bottom Rail:
define la altura de comienzo del panel central en la parte inferior.
#Panels Horiz/Vert:
establece el número de divisiones del panel central.
Muntin:
define las dimensiones de las divisiones de los paneles.
Panels none/Glass/Beveled:
podemos elegir el tipo de panel que queremos: none es sin panel central, Glass es el panel central simple donde podremos definir el grosor (Thickness) y Beveled es un panel central pero con bisel. En este último caso podemos configurar los parámetros del Bevel tales como ángulo, grosores y largos.

Volviendo a nuestra casa, para crear la puerta de la entrada principal nos guiaremos por el rectángulo del plano y con un click procedemos a definir el largo:

3dsmaxtut09_23

Ahora arrastramos el mouse con el botón apretado y realizamos otro click para definir el grosor:

3dsmaxtut09_23b

Y luego repetimos lo mismo para la altura:

3dsmaxtut09_23c

Crear la puerta de forma precisa es algo difícil por lo que recomienda crearla y luego ajustar sus dimensiones en el panel modificar. La puerta de la entrada principal tendrá los siguientes parámetros:

Height: 2,35 mt. Width: 1,1 mt. Depth: 0,2 mt. El marco tendrá por Width: 0,05 mt.

Una vez terminada, procedemos a ajustarla (moviéndola) en la entrada principal. Podemos cambiar su ángulo de abertura y el sentido de esta, además de configurar su apertura hacia adentro siguiendo las instrucciones del plano.

3dsmaxtut09_24

Para definir las siguientes puertas, basta copiar (como copy) en la vista top la ya creada y modificar el atributo de Width o Depth para definir las siguientes, además de ajustar los sentidos de apertura, de puerta y la abertura. Si queremos, podemos definir o no el panel central o configurar las divisiones de estos en el caso de la puerta de entrada. En el caso de la puerta trasera, ajustaremos Depth a 0,1. En el caso de la puerta del dormitorio ajustamos Width a 0,9 y depth a 0,1. Finalmente la puerta del baño tendrá como valores Width: 0,6 y Depth: 0,1. Con esto ya definimos todas las puertas del primer piso.

3dsmaxtut09_25

Para el caso del segundo, volvamos a copiar las puertas para adaptarlas al piso 2, solo que estas las elevaremos 0,10 mts en el eje Z. Los valores de las puertas del segundo piso son los siguientes:

Todos los dormitorios: Height: 2,35, Width: 0,9, Depth: 0,1. Todos los Baños: Height: 2,35, Width: 0,7, Depth: 0,1.

Con esto ya tenemos definidas todas las puertas de nuestra casa. Una de las ventajas de las puertas de 3DSMAX es que son animables, por lo que podremos crear animaciones abriendo o cerrando puertas mientras configuramos un recorrido predeterminado.

Creación de ventanas

Para el caso de las ventanas, las realizamos de forma similar a las puertas pero en lugar de Doors elegiremos la opción Windows en el panel crear. Las opciones de edición de las ventanas son muy parecidas a las estudiadas en las puertas, pero con la ventaja que una vez dibujadas no es necesario que se ajusten las dimensiones principales puesto que estas abarcan toda la ventana (marcos y cristales), además que quedan centradas de manera automática aunque disminuyamos su grosor una vez colocadas. En este caso tenemos los siguientes tipos de ventanas:

Awning: es una ventana que abre hacia arriba. Podemos definir parámetros tales como el grosor del cristal (Glazing >> thickness), parámetros del marco, grosor del marco del vidrio, cantidad de paneles, y grado de abertura.

3dsmaxtut09_26

Casement: es la ventana tradicional. Podemos definir parámetros tales como el grosor del cristal (Glazing >> thickness), parámetros del marco, grosor del marco del vidrio, cantidad de ventanas (1 o 2), grado de abertura y podremos invertir el sentido de la apertura.

3dsmaxtut09_26b

Fixed: es una ventana fija. Podemos definir parámetros tales como el grosor del cristal (Glazing >> thickness), parámetros del marco, grosor del marco del vidrio, cantidad de paneles y podremos biselar las divisiones entre los paneles.

3dsmaxtut09_26c

Pivot (derecha): es una ventana que pivotea al abrirse. Podemos definir parámetros tales como el grosor del cristal (Glazing >> thickness), parámetros del marco, grosor del marco del vidrio, grado de abertura y podremos invertir el sentido del pivoteo (horizontal o vertical).

3dsmaxtut09_26d

Projected (izquierda): es una ventana similar a pivot pero que se abre en dos puntos de pivote. Podemos definir parámetros tales como el grosor del cristal (Glazing >> thickness), parámetros del marco, grosor del marco del vidrio, grado de abertura y podremos definir la altura de la proyección del medio o de abajo.

3dsmaxtut09_26e

Sliding (derecha): es una ventana deslizable. Podemos definir parámetros tales como el grosor del cristal (Glazing >> thickness), parámetros del marco, grosor del marco del vidrio, cantidad de paneles y el sentido del deslizamiento de la hoja (vertical u horizontal) mediante el parámetro Hung.

3dsmaxtut09_26f

Para el caso de nuestra casa utilizaremos ventanas de tipo Awning para las pequeñas del segundo piso y Sliding para el resto de las ventanas. Los parámetros son los siguientes:

Piso 2 Ventanas pequeñas: Height: 0,3, Width: 0,3, Depth: 0,15. Frame: Horiz./Vert. y Width: 0,02. Thickness: 0,1. Glazing Thickness: 0,02. Rails Width: 0,0.

3dsmaxtut09_27

Las ventanas traseras son sencillas de dibujar pues sólo basta seguir las dimensiones del marco, pero de todas maneras sus parámetros son:

Piso 2 Ventanas traseras: Height: 1,35, Width: 1,2, Depth: 0,15. Frame: Horiz./Vert. y Width: 0,051. Thickness: 0,013. Glazing Thickness: 0,006. Rails Width: 0,025.

Ahora dibujamos las ventanas en L. Para ello haremos dos ventanas tipo sliding de modo que el resultado sea el de la foto de abajo. De todas maneras los parámetros de ambas son:

Piso 2 Ventanas en L: Height: 1,35, Width: 1,35, Depth: 0,15. Frame: Horiz./Vert. y Width: 0,051. Thickness: 0,013. Glazing Thickness: 0,006. Rails Width: 0,025.

3dsmaxtut09_28

Una vez que tengamos todas las ventanas correderas dibujadas del segundo piso, procedemos a cambiar el valor de Depth a 0,08 para así finalizar la configuración de las ventanas. En el caso de las pequeñas, procedemos a cambiarlas a 0.1. Así terminamos de configurar las puertas y ventanas del segundo piso. Notaremos que hay un espacio entre las ventanas en L, para llenarlo sólo bastará que dibujemos una box la cual irá entre los vértices iniciales de las ventanas y así lograremos generar la esquina de encuentro entre las ventanas. El resultado de esto lo vemos en la imagen:

3dsmaxtut09_28b

Para el caso del primer piso, repetimos el mismo procedimiento para dibujar las ventanas con los mismo valores anteriores ya que todas las ventanas son de tipo sliding a excepción de la ventana del frente. Una vez que las terminemos, cambiamos el valor de Depth de la misma forma que con el segundo piso y ya están listas nuestras ventanas. En el caso de la ventana del frente, la dibujaremos con una ventana de tipo fixed. De todas maneras los parámetros de las ventanas son los siguientes:

Piso 1 Ventana frontal: Height: 1,8, Width: 2,45, Depth: 0,15. Frame: Horiz./Vert. y Width: 0,051. Thickness: 0,013. Glazing Thickness: 0,006. Rails Width: 0,025. #Panels Horiz.: 3 y activamos chamfered profile.

Piso 1 Ventanas traseras: Height: 1,35, Width: 1,2, Depth: 0,15. Frame: Horiz./Vert. y Width: 0,051. Thickness: 0,013. Glazing Thickness: 0,006. Rails Width: 0,025.

Este es el resultado de lo modelado hasta ahora:

Ahora procederemos a modelar la escalera de la casa. Afortunadamente realizarla en 3DSMAX resulta muy fácil, ya que al igual que en el caso de las puertas y ventanas el programa ya viene con escaleras predefinidas para ello, y se dibujan de igual manera que en el caso de las puertas (definiendo largo, ancho y altura). Nos vamos al panel crear y en el menú seleccionamos la opción Stairs, el cual contiene las escaleras. Las escaleras que tenemos a disposición son las siguientes:

LtypeStair: corresponde a la escalera en L.

3dsmaxtut09b_02

Spiral stair: corresponde a la escalera caracol.

3dsmaxtut09b_03

Straight stair: corresponde a la escalera lineal tradicional.

3dsmaxtut09b_04

Utype stair: corresponde a la escalera en U.

3dsmaxtut09b_05

Entre los parámetros que encontraremos en las escaleras están los siguientes:

escalas00Parámetros comunes a todas las escaleras:

Type: permite cambiar el tipo de escalera. Esta puede ser abierta (con o sin soportes), cerrada (tipo prefabricada) o tipo caja (bloque).

Stringers: activa o no la opción del larguero de la escalera. Handrail activa los pasamanos y Railpath muestra el recorrido de este.

Layout Length 1 (
y 2): define las medidas básicas de la escalera, estas pueden ser 1 o 2 según el tipo de escalera.

Width:
ancho de escalera.

Parámetros de layout de cada tipo en particular:

Left/Right: invierte el sentido de asecnso de los tramos de la escalera (sólo en Utype).

Offset: aumenta el desplazamiento (ancho) del espacio entre los tramos (sólo en Ltype y Utype).

Angle:
modifica el ángulo de giro de la “L” de la escalera (sólo en el caso de Ltype).

CCW/CW:
indica el sentido del giro de la escalera (sólo en Spiral).

Radius:
define el radio de la escalera (sólo en Spiral).

Revs: define el número de vueltas o revoluciones de la escalera, por defecto es 0,75 (sólo en Spiral).

Parámetros exclusivos de cada tipo:

Center pole:
activa el pilar central de una escalera caracol (sólo en Spiral).

Carriage: sólo disponible en escalas abiertas u Open, nos permite mostrar el o los soportes centrales de esta. Estos pueden ser editados en el panel Carriage.

Además de estos parámetros tenemos un cuadro muy importante para la creación de las escaleras. Este cuadro es Rise (derecha) el cual nos permitirá definir la altura de la escalera (Overall), la cantidad de peldaños (Riser Ct) y la medida de la contrahuella (Riser Ht). Podemos bloquear uno de ellos y editar cualquiera de los otros dos hasta definir los valores correspondientes, ya que al editar uno el otro cuadro sin bloquear automáticamente se ajustará al valor.

Podemos editar los parámetros de Railing, Carriage, Stringers y otros como Center pole en cuadros especializados según el tipo de escalera que creemos, o el tipo de elementos que dejaremos habilitados en ella. En estos cuadros editaremos sus dimensiones además de otros parámetros especiales.

Para colocar la escalera en nuestra casa, lo primero que haremos será eliminar el muro que está en la zona de las escaleras. Mediante operaciones de editable poly eliminamos las caras y luego tapamos los espacios con la opción cap o crearemos polígonos. El resultado es el de la imagen de abajo:

3dsmaxtut09b_09

Si bien la escalera es algo diferente en el plano original, para este caso sólo nos bastará insertar la escalera tipo Ltype Stair. Para dibujarla, nos ponemos en el segundo piso de la casa y activamos el modo alámbrico. Ahora definiremos el primer punto en el inicio de la escalera, arrastrando el mouse y con el botón presionado definimos el siguiente que estará en el final del lado más largo (imagen izquierda),

3dsmaxtut09b_10

el siguiente estará en el final de la L y el punto final lo ubicamos en la altura del piso. El resultado es el de la imagen de abajo:

3dsmaxtut09b_10b

Ahora deberemos ajustar los siguientes parámetros para ajustarla:

Type: open.
Offset:
0,15 m.
Overall:
2.925 m.
Riser Ct:
13 (luego debe ser bloqueado).
Carriage:
Depth: 0,05 m; Width: 1,2 m.

Ahora todo es cuestión de moverla hacia el primer piso y con esto terminamos la escalera. Simplemente dibujamos una caja de 1,2 x 0,15 x -0,2 mt y la movemos hacia la escalera de tal forma de taparla y delimitar la zona de la ducha, de tal modo que el resultado sea el de la imagen izquierda. Si queremos, podemos fusionar esta caja mediante boolean para definir de forma definitiva la estructura.

3dsmaxtut09b_11

Eso sí, es importante no fusionar la escalera para que podamos aplicar materiales y editarla sin problemas después.

Definiendo losas y terminando el modelado

3dsmaxtut09b_13

Modelar las losas es sencillo, seleccionamos el segundo piso y trabajaremos de forma aislada (isolate selection). Ahora dibujaremos una Spline en el contorno interior de la altura del piso de tal forma de definir una losa de tipo interior.

3dsmaxtut09b_12

Ahora simplemente realizamos operaciones de líneas (refine, trim, etc.) para definir la forma de la losa, la cual será la de la imagen de abajo:

3dsmaxtut09b_14

Ahora todo es cuestión de aplicar el modificador Extrude con Amount: 0,1 mt para definir la losa. Ahora simplemente la dejamos en Z=0 para dejarla junto al segundo piso.

Definir las alturas del cielo falso y la losa de techo es fácil, ya que repetiremos el mismo procedimiento que con la losa pero las líneas serán a partir del contorno externo del segundo piso lo cual hará mucho más fácil el modelado. En el caso de estas líneas, nos conviene realizar una copia de estas para definir las alturas de cielo mediante extrude. A ambas líneas en el subobjeto Spline le haremos un Outline de 0,15 mt. De tal modo que se vean como la foto izquierda. Ahora todo es cuestión de aplicarles extrude a ambas. En la primera copia eliminaremos las líneas exteriores para dejar sólo las interiores y aplicaremos un extrude de 0,10 m y la segunda la dejamos tal cual y aplicaremos un extrude de 0,9 m.

3dsmaxtut09b_14b

Ahora movemos la forma del cielo falso a la losa tomando como punto base uno de los interiores de esta forma y conectándolo con el de la losa.

3dsmaxtut09b_15

Para modelar el techo de la casa, simplemente seleccionamos la losa superior y realizamos una copia hacia arriba. Ahora la trabajamos en forma aislada y quitamos el modificador extrude ya que sólo nos interesan las líneas. Dibujamos 2 cajas de tal forma que los extremos coincidan con las líneas y con las divisiones que indica la foto derecha. La altura de ambas será de 0,6 mt.

3dsmaxtut09b_16

Convertimos ambas a editable poly y ponemos la ventana en modo alámbrico. Ahora simplemente tomamos los vértices superiores de la caja pequeña y realizamos un target Weld hacia su contraparte de abajo, de modo que nos quede como la imagen de abajo:

3dsmaxtut09b_17

Antes de repetir el procedimiento con la caja mayor, nos vamos a la vista top y alineamos los vértices del centro con la otra caja (imagen de abajo). La idea de esto es generar el punto donde la caja pequeña hará contacto.

3dsmaxtut09b_18

Repetimos ahora el procedimiento anterior con la segunda caja, y procedemos a ejecutar target Weld en todos los puntos superiores para generar la forma del techo. El resultado es el de la imagen de abajo.

3dsmaxtut09b_19

Para terminar el modelado del techo, debemos tomar sólo el punto que se ve en la imagen izquierda y moverlo hacia el punto superior del otro techo.

3dsmaxtut09b_20

Con esto ya está terminado el modelado del techo y si queremos, podemos atachar ambas cajas y fusionarlas en una sola malla mediante operaciones de edición de editable poly (cut, remove polygons y Weld). El resultado del modelado del techo es el de la imagen de abajo:

Ahora nos salimos del modo Isolated, borramos las líneas de referencia de la copia de la losa y movemos el techo hacia la losa superior para definirlo y terminar el modelado.

3dsmaxtut09b_22

Para terminar el modelado de la casa sólo nos falta definir los muros perimetrales y la losa del piso inferior, pero esto es bastante fácil de realizar mediante cajas (boxes) siguiendo las líneas en el plano y ayudándonos seleccionando el layer llamada MUROS PERIMETRALES. Los parámetros de altura son los siguientes:

Muros perimetrales primer piso: 2,6 mt.
Muro perimetral segundo piso: 4,5 mt.
Losa inferior: -0,1 mt.

Una vez que tenemos definidos estos elementos, simplemente seleccionamos todo el segundo piso y lo montamos sobre el primero. Podemos dejar todos estos elementos en un nuevo layer para separarlo de los layers del plano de AutoCAD, y con esto ya tenemos terminado el modelado básico de la casa. Si queremos, podemos modelar muebles y otros anexos al proyecto. Podemos también atachar las formas y convertir otras a editable poly para que sea más fácil aplicar materiales. Además podemos aplicar materiales para realzarla e iluminarla con GI u otra técnica.

Para el caso de las ventanas y puertas, las materializaremos mediante el material Multi/Sub-Object ya que debido a sus propiedades es el más apto para este tipo de elementos. Si queremos ver mayores detalles sobre este tipo de material, consultaremos el tutorial 06b.

Una vez terminada la materialización base de nuestro proyecto, realizamos un render (F9) para ver el resultado:

Este es el final de este tutorial.

Descargar Tutorial (PDF) y Archivo Base (MAX 2013):

3dsmax_download

Tutorial 09: Importación de archivos CAD (parte 1)

3dsmax_importacion2A lo largo de este semestre ya hemos aprendido a modelar en 3DSMAX mediante diversas técnicas, además de crear y aplicar materiales y terminando con los distintos tipos de iluminación tanto Standard como fotométricas, además de calcular iluminación global (GI) y realizar estudios de asoleo. Nuestra gran interrogante ahora es ¿se pueden importar archivos 2D y 3D desde otras plataformas como AutoCAD? ¿Podemos configurar las unidades de medida y ajustar el archivo original de AutoCAD, por ejemplo, a metros? La respuesta es sí: 3DSMAX nos permite importar y trabajar tanto con archivos 2D como 3D ya que los convierte en Splines en el caso de las líneas 2D, y al modo editable Mesh en el caso de los elementos 3D.

En este tutorial importaremos un archivo de AutoCAD en 3DSMAX y modelaremos una casa en 3D basándonos en un plano 2D dado. Para la correcta realización de este tutorial, se incluye el archivo tutorial09_casa.dwg el cual es un plano 2D de una vivienda la cyual está trabajada en la unidad de Metros:

3dsmaxtut09_01

Preparando el archivo en AutoCAD

En este tutorial tenemos una vivienda de 2 pisos con sus cuatro fachadas y la planta de sus dos pisos. Para facilitar la labor de modelado, es importante establecer una serie de condiciones previas para el dibujo 2D antes de importar el archivo a 3DSMAX.

1) El dibujo debe estar bien trazado: Esto quiere decir que hay que tratar que las líneas sean lo más continuas posibles, evitando unir dos líneas a la mitad de un trazo. Al estar bien trazado evitaremos problemas derivados del uso de las herramientas de modelado 3D. Cuando alguna de estas no funciona, lo lógico es que sea por una falla del dibujo 2D.

2) Los elementos deben estar alineados en el mismo plano 2D: Esto quiere decir que no debe haber elementos sueltos “elevados” en el eje Z o en la altura. De lo contrario no podremos extruir las formas puesto que esta función sólo se realiza si las líneas o formas cerradas están contenidas en el mismo plano.

3) Asegurarse que las formas cerradas estén bien “cerradas”: Otra de las causas que la extrusión falle es que las líneas no se intersecten en un punto o arista (lo mismo en el caso que las líneas se traslapen). Esto es importante en elementos como muros o muebles, ya que a veces suelen estar separadas pero no se aprecian a simple vista ni al hacer Zoom.

4) Borrar las líneas sobrantes: hay veces que en AutoCAD se dibujan más líneas que se sobrescriben entre sí, lo ideal es borrar todas y dejar sólo la definitiva. Esto hará más liviano el archivo y nos evitará problemas de dibujo y por ende, de modelado 3D.

5) Establecer criterios de trabajo con capas o layers: lo ideal es trabajar con capas dividiendo el dibujo según cada elemento como por ejemplo muros estructurales, tabiques, mobiliario, etc.

En el caso que queramos importar un modelo 3D desde AutoCAD, lo ideal es realizar en este programa la parte estructural de este (muros, pilare,s vigas, vanos, etc.) y luego completar lo faltante (puertas, ventanas, escaleras standars, árboles 3D) en 3DSMAX. Para las condiciones previas del dibujo 3D se recomienda leer el tutorial sobre consejos para un buen modelado 3D.

Importando el archivo CAD

Para poder trabajar de forma definitiva y sin sobresaltos con nuestro modelo, el criterio básico de importación que tomaremos en cuenta es el siguiente: La unidad de trabajo en CAD debe ser la misma en el espacio model de 3DSMAX. Esto significa que si trabajamos el archivo DWG en “Metros” en AutoCAD, debemos colocar la misma unidad en 3DSMAX para asegurarnos que cada forma 3D que creemos en 3DSMAX quedará en perfecta escala con nuestro plano 2D y/o modelo 3D recién importado.

Para ajustar la unidad de medida debemos ir a Customize >> Units Setup y allí cambiamos la unidad de medida a Meters (Metros) tal como se ve en el cuadro de la imagen derecha. También podremos elegir entre las distintas unidades métricas como Kilómetros, Centímetros y Milímetros. Para el caso de nuestro ejercicio (el plano 2D llamado tutorial09_casa.dwg) debemos configurar la unidad en Metros (Meters) ya que el plano está dibujado en esa unidad. Con esto nos aseguraremos que el proyecto se convierta de forma definitiva al importarlo.

Para comenzar la importación propiamente tal, debemos ir a la opción import >> import del menú inicial de 3DSMAX. Al hacerlo, debemos seleccionar la ruta donde está nuestro archivo a importar. Cabe destacar que 3DSMAX acepta diversos formatos de archivo, los más populares son:

– AutoCAD Drawing (DWG/DXF).
– 3DStudio Mesh (3DS).
– ZBrush file (OBJ).
– Adobe illustrator (AI).
– VIZ Material (XML).

Seleccionamos el archivo tutorial09_casa.dwg y lo abrimos. Al hacerlo nos aparece el cuadro del lado derecho. Notaremos que en Model Scale nos aparece la opción Milimeters. Como nuestro proyecto está expresado en metros, debemos activar la opción Rescale para re-escalar el archivo, ahora elegiremos la opción meters para así trasladar el dibujo a metros.

En resumen, lo que haremos durante el proceso de importación será lo siguiente:

– Antes de importar el archivo y en el espacio de 3DSMAX elegiremos la misma unidad del dibujo de AutoCAD en la opción Units Setup.

– En el proceso mismo de importación debemos re-escalar el archivo eligiendo la misma unidad de nuestro dibujo, en la opción Rescale.

Recomendaciones al importar y opciones de importación

Si importamos formas curvas 2D y/o 3D, debemos tener cuidado pues si lo hacemos de manera regular los cuerpos redondos nos aparecerán de esta forma, tal como se ve en el siguiente ejemplo:

3dsmax_import01

Como se puede ver, las formas 2D curvas aparecen relativamente bien redondeadas pero los cuerpos redondos aparecen facetados por lo cual no quedan con la redondez que poseían en AutoCAD. Podremos mejorar estas curvas si en el cuadro de importación modificamos los parámetros Curve Steps y Maximun Surface deviation for 3D solids:

3dsmax_import02

En Curve Steps daremos más curvatura a las curvas 2D al aumentar su valor, mientras que en el segundo parámetro redondearemos mejor las geometrías 3D curvas al disminuir su valor, tal como se ve en las siguientes imágenes:

3dsmax_import01b

El mismo ejemplo anterior donde la geometría curva importada posee los valores de Curve Steps en 1 y Maximun Surface deviation for 3D solids en 1.

3dsmax_import01c

En este caso la geometría curva importada posee los valores de Curve Steps en 12 y Maximun Surface deviation for 3D solids en 0,1. Notamos claramente la diferencia en la redondez de las formas.

Así que antes de importar las formas 3D debemos considerar esta opción si tenemos geometría 3D curva o cuerpos redondos. Un buen valor de redondeo de curvatura es el que muestra la imagen de arriba (Maximun Surface deviation for 3D solids = 0,1).

Para todos los casos se recomienda dejar activada la opción Auto Smooth adjacement faces Smooth-angle, ya que en el caso de unidades de medida pequeñas (milímetros por ejemplo) aún cuando modifiquemos los valores se verán igual de facetadas, y esta opción suavizará todas las caras de forma definitiva.

3dsmax_import06

Entre las muchas opciones de importación, podemos definir si queremos soldar los vértices cercanos (Weld nearby vertices), tapar líneas cerradas (Cap Closed Splines), opciones de inclusión de elementos (hatches, points, Lights, views and cameras, etc.) o como derivamos las primitivas de AutoCAD. Si vamos a las persianas Layers y Spline Rendering tendremos acceso a más opciones. En Layers podremos elegir si queremos tomar todos los layers del archivo DWG (Skip all frozen Layers) o elegir los que queramos (Select from list).

3dsmax_import03

En la persiana Spline Rendering podremos elegir si queremos que las líneas se rendereen o se reproduzcan en la vista con los parámetros de las Splines ya conocidas de 3DSMAX (radial, lineal, Enable in renderer, etc.).

3dsmax_import04

Con esto podremos aplicar los parámetros de las líneas en nuestras formas 2D importadas:

3dsmax_import01d

Una vez que tenemos lista nuestra configuración, al presionar OK importamos de manera definitiva el archivo Automáticamente las formas 2D y/o 3D serán visibles en todas las vistas de 3DSMAX. Nuestras formas 3D aparecen en negro y si la rendereamos, no aparecerá nada pero no hay que preocuparse ya que basta insertar algún material para que el render sea visible. Si queremos que se vea en la viewport, basta que escojamos el modo “clay” o hagamos visibles sus aristas mediante F4:

3dsmax_import01e

Archivo importado de forma normal.

3dsmax_import01f

Archivo importado en el que se aplica el modo “clay” para verlo en la Viewport.

3dsmax_import01g

Archivo importado con un material aplicado, y por lo tanto ya es visible en render.

Volviendo a nuestro archivo 2D, en este caso sólo debemos re-escalar a metros ya que no es necesaria ninguna otra acción. Al importar el plano de forma definitiva notaremos que la grilla en la vista perspective es mucho más pequeña que las que están en el resto de las vistas, esto indica que la conversión de escala ha resultado:

3dsmax_import05

Importación correcta del archivo 2D del tutorial, donde notamos la diferencia de tamaño entre el plano y la grilla de 3DSMAX.

Notaremos que el proyecto está ordenado en base a una estructura de capas (layers) pero aparentemente no podemos verlo, sin embargo 3DSMAX posee la opción de layers que funciona de forma similar a las capas de AutoCAD.

Layers en 3DSMAX

Para activar los layers en 3DSMAX; clickeamos en el botón manage layers:

Manage Layers: maneja las capas en 3DSMAX.

Al activar los layers nos aparece el cuadro de la derecha. Aquí podremos ver la estructura completa de los layers del proyecto 2D y obviamente podremos crearlos y administrarlos en una escena 3D de la misma forma que lo hacemos con AutoCAD. Entre las herramientas más importantes tenemos:

Hide: oculta el layer de la misma forma que en AutoCAD. Podremos dibujar en él pero la forma no se verá hasta que lo hagamos visible.

Freeze: congela los objetos de la misma forma que el freeze tradicional. Podremos dibujar objetos pero estos se congelarán y no podremos editarlos hasta descongelar el layer.

Render: determina si el layers lo rendereamos o no.

Color: color del layer.

Radiosity: con esta opción definimos si la radiosidad se calcula en los objetos del layer o no.

Active: si clickeamos en el cuadrado del layer, lo dejaremos activo. Esto se indica con la flecha de visto bueno.

Rename: podemos renombrar el layer haciendo doble click en el nombre de este. También lo podremos realizar con el botón secundario y activando la opción Rename.

Opciones del menú de layers (ordenados de izquierda a derecha y de arriba hacia abajo)

New layer: crea un nuevo layer.

Erase layer (X): borra un layer siempre y cuando este esté vacío y no esté activo.

Add object to layer (+): si tenemos un objeto seleccionado en cualquier vista y un layer que no es el del objeto, podemos cambiarlo a ese layer presionando esta opción.

Select Objects: selecciona todos los objetos de un layer, seleccionando previamente este.

Highlight Select Objects layer: vuelve al layer posterior a layer 0.

Hide all layers: oculta todos los layers.

Freeze all layers: congela todos los layers.

Comenzando el modelado en 3DSMAX

Trabajar con la selección de layers es la mejor opción ya que el dibujo está ordenado según la estructura de cada uno de sus elementos estructurales y secundarios. Para modelar los muros podemos seleccionar los elementos del layer llamado MUROS ESTRUCTURALES y luego aplicar la opción isolate selection para editar las líneas de los muros.

3dsmaxtut09_07

Notaremos que las líneas se convierten en Editable Spline. Por lo tanto podremos ejecutar las operaciones de edición de vértices como por ejemplo, Weld (soldar). Vamos al subobjeto vertex y procedemos a soldar todos los vértices y luego aplicaremos el modificador extrude para ver el resultado. Modificamos el valor de Amount a 2,6 y notaremos que los muros son negros. Para resolver el problema bastará con agregar un material standard y ya podremos ver los muros del color que queramos.

3dsmaxtut09_08

En el caso de la casa el segundo piso es un poco más alto (2,7 mts), así que antes de trabajar con el primer piso nos conviene ir al subobjeto Spline, seleccionar todas las líneas del segundo piso y luego presionar el botón detach, así estas líneas se separarán del primer piso y podremos aplicarles nuevamente el modificador extrude, esta vez cambiando su altura a 2,7 mts. El resultado es el de la imagen de abajo:

3dsmaxtut09_09

Para modelar los vanos de las puertas del primer piso, simplemente dibujamos cajas (box) de tal modo que las esquinas opuestas sean las de los vanos, así definiremos la altura de la caja en -0.2.

3dsmaxtut09_10

Es importante que nos ayudemos con los snaps y activemos la opción vertex. Si queremos, dejamos activo el layer MUROS PERIMETRALES para trabajar sin problemas. Repetimos esto para modelar todos los vanos del primer piso.

3dsmaxtut09_10b

Para el caso de la puerta de acceso, nos guiamos por el rectángulo que está en el plano y lo dibujamos, luego movemos esta caja recién creada hacia arriba de tal modo que su parte superior coincida con los vanos:

3dsmaxtut09_10c

Para los vanos de las ventanas realizamos lo mismo que con las puertas, sólo que estas cajas partirán desde abajo y definiremos una altura.

3dsmaxtut09_11

Nos conviene ver la vista en modo alámbrico (F3) y dibujar tomando los puntos guía de las ventanas que nos dan las líneas de extrusión. Definiremos las siguientes alturas para las ventanas:

1.35 para las dos ventanas traseras.
1.8 para la ventana del frente.
1.8 para el rectángulo más pequeño (vano de fachada).

Una vez que tengamos las cajas de las ventanas listas, lo único que debemos hacer es seleccionarlas y moverlas en torno al eje Z. Para ello simplemente seleccionamos la caja, presionamos el botón secundario del mouse en el ícono de mover y allí podremos asignar la nueva posición del objeto en el eje Z. Los valores son:

1.05 para las ventanas traseras.
0.5 para la ventana del frente.
0.5 para el sólido más pequeño (vano de fachada).

El resultado es el de la imagen de abajo, donde podemos ver una de las ventanas traseras en Z=1,05 mts.

3dsmaxtut09_12

Ya tenemos lista nuestra estructura del primer piso. Lo que debemos hacer ahora es generar los vanos de las ventanas y para eso vamos al panel create y elegimos la opción compound objects. Entre las operaciones disponibles nos aparece la opción boolean. Antes de esto nos conviene aumentar el valor de lenght (o Width) si este está en 0.15 para asegurarnos que la resta del volumen se haga de manera correcta (imagen de abajo).

3dsmaxtut09_13

Seleccionamos los muros y ya en boolean, seleccionamos la opción Substraction (A-B) (imagen derecha) y luego presionamos el botón Pick Operand B, seleccionamos cualquiera de las ventanas y notaremos que ha sido sustraída, definiendo el vano. Nos conviene cancelar con esc, luego volver a presionar boolean y repetir el proceso, ya que si intentamos restar los vanos dentro de boolean sólo nos permitirá restar de a uno. Una vez que tenemos nuestros vanos restados, repetiremos los procesos pero esta vez seleccionaremos union en lugar de substraction. La idea es unir los vanos creados con los muros y terminar así la estructura del primer piso de la casa.

El resultado de nuestras operaciones es el de la imagen de abajo:

3dsmaxtut09_15

Ya tenemos el primer piso listo y ahora nos corresponderá definir el segundo. Para dibujar los vanos de las puertas, lo haremos de la misma forma que con el primer piso (valor 0.2). En el caso del vano de la última pieza, realizaremos una caja que mida 0,15 de lenght y de Height: 0,2. Luego la convertimos a editable poly y la movemos para hacerla calzar con los vanos. Finamente, nos vamos al subobjeto vertex de edit poly y movemos sus vértices para que estos coincidan con el muro:

3dsmaxtut09_16

En el caso de las ventanas repetiremos el proceso realizado con el primer piso, pero esta vez las alturas serán las siguientes:

1.35 para todas las ventanas.
0.3 para las ventanas pequeñas.

Para el caso de la ventana en L, dibujaremos una especie de cubo tomando las esquinas como puntos de superficie de este:

3dsmaxtut09_17

Y volvemos a desplazar las cajas de los vanos en el eje Z. Los valores son:

1.1 para las ventanas grandes
2.15 para las ventanas pequeñas.

Ejecutamos boolean y recortamos los vanos de las ventanas (excepto la pequeña del frente) además de unir los de las puertas a la estructura. Con esto casi terminamos la estructura del segundo piso.

Ya tenemos el segundo piso casi terminado. Ahora lo que debemos hacer es formar la secuencia de ventanas verticales del frente de la casa, para ello utilizaremos Array. En array definimos los siguientes valores:

Move, en eje Z escribimos -2,25 (5 x 0,45).
1D Count: 5.

Realizamos un preview para ver el resultado, el que debe ser similar al de la imagen de abajo. Presionamos OK y ya tenemos listo nuestro juego de ventanas.

3dsmaxtut09_18

Procedemos a ejecutar boolean para restarlas de los muros y ya tenemos lista la estructura del segundo piso.

Si tenemos algún problema con la malla, podemos convertir la estructura a editable poly y allí arreglarla mediante operaciones de edición de Subobjetos.

Este es el resultado de las operaciones realizadas hasta el momento:

Lo que haremos ahora será mejorar el modelo convirtiendo los muros al modo edit poly. Esto lo hacemos porque desafortunadamente las operaciones booleanas no son la especialidad de 3DSMAX y a menudo la malla resultante trae errores como se ve en la foto:

3dsmaxtut09_20

La idea de esta limpieza de malla es quitarle vértices innecesarios, líneas que estén de más, polígonos o errores producto de las operaciones booleanas. Para ello seleccionamos el modelo y presionamos el botón secundario y vamos a convert to >> convert to edit poly.

En la imagen de arriba vemos la malla que deja por defecto después de las operaciones booleanas, la de abajo corresponde a la mejora. Repetiremos lo mismo en caso del primer piso, si fuera necesario.

3dsmaxtut09_20b

Este es el fin de la primera parte del tutorial.

Descargar Tutorial (PDF) y Archivo Base (DWG):

Descargar DWG

Tutorial 08: Iluminación GI

3dsmax_gibCuando hablamos de una escena con iluminación tipo GI (Global Ilumination) lo que en realidad tenemos es Iluminación Indirecta, esto es, el rebote de la luz entre las diferentes superficies y por consiguiente la mezcla de colores entre ambas. Este efecto es un tanto difícil de conseguir mediante la iluminación de tipo tradicional (comparándolo con los nuevos métodos de GI) ya que debemos colocar luces de tipo Spotlight en las zonas donde queremos que se produzca el rebote de luz. También se puede crear un “domo” de luces que genere toda la GI, y para aumentar el realismo podemos atenuarlas. Si todo lo anterior resulta demasiado difícil, podemos utilizar una luz de tipo Skylight y renderizar la escena con el plugin light tracer, eso sí a costa de tiempo de render.

Con la aparición de una gran cantidad de avanzados motores de render hablar de Iluminación Global ya dejó de ser un tema difícil, incluso en algunos motores de render (como Mental Ray) sólo basta colocar una luz de tipo Spot light, luego activar la iluminación global (GI) y obtenemos una escena realística, pero este tipo de iluminación tiene un precio caro y ese es el tiempo.

Ahora sólo nos asalta una duda, ¿Cómo en años pasados los animadores 3D generaban GI? Ya que no existía la cantidad de motores de render que hay ahora y su precio estaba fuera del alcance de cualquier bolsillo. La respuesta a este dilema es “pintar con luces”.

Ahora bien, la decisión de usar la GI automática o configurar un sistema propio de luces dependerá de cada uno, debemos poner en una balanza las ventajas y desventajas de cada sistema, tal vez en una escena sea mucho más rápido configurar un sistema de GI personalizado que uno automático o puede que no. Sin embargo configurar un sistema personalizado de luces tiene grandes ventajas ya que se tiene un control absoluto sobre la iluminación de la escena y puede brindar los mismos resultados y en un menor tiempo de configuración que en los sistemas GI automáticos.

Los sistemas de GI básicos que podremos usar en 3DSMAX son los siguientes:

1 – Crear un sistema personalizado de luces mediante un “domo” de luces Standard y luego aplicando un sistema llamado Sunlight para la luz solar (usando el motor de render que queramos).

2 – Creando un sistema llamado Sunlight e insertando en la escena una luz llamada Skylight, para luego configurar el GI.

3 – Creando un sistema llamado Daylight y configurando el GI.

Para las alternativas 2 y 3 podremos configurar GI usando lo siguiente:

– Aplicando los plugins Light Tracer (para escenas exteriores) o Radiosity (preferentemente para escenas interiores) en la persiana Advanced Lightning, en el caso que ocupemos el motor de render Default Scanline Render. Además debemos ajustar el control de exposición para mejorar el render. Este sistema funciona mejor con la alternativa 2.

– Configurando y aplicando Final Gather junto con GI en la persiana Indirect Ilumination, en el caso que usemos el motor de render Mental Ray. Además debemos ajustar el control de exposición para mejorar el render. Este sistema funciona mejor con la alternativa 3.

En este tutorial se irán viendo una a una estas 3 alternativas.

1- Creando un sistema personalizado de luces

Para crearlo, lo primero que haremos será colocar una luz de tipo Spotlight en el objeto a iluminar. La idea es que este apunte hacia el objeto y su target esté centrado en el punto de origen:

tut08_02

Ahora copiaremos mediante la herramienta array (Tools >> Array) teniendo en cuanta que el punto de pivote esté en Word y en la posición 0,0. Seleccionamos la luz y procedemos a ejecutar array.

En array nos aparecerá un cuadro donde deberemos colocar los siguientes valores:

Rotate: debemos presionar la flecha de la derecha y colocar el valor 360 en el eje Z, en type of object colocamos instance y en 1D colocamos el valor 10. Podemos ver una vista previa de las copias si presionamos el botón preview:

3dsmax_gi001

Una vez que tengamos nuestras copias, presionamos ok para crearlas.

tut08_03

Ahora hemos creado una serie de 10 luces que apuntan directamente hacia la casa. Ahora procederemos a copiar las luces en la vista left (tomándolas todas y presionando y manteniendo el botón shift) y luego las escalamos. La idea de esto es formar un “domo” de luces que envuelvan la casa, tal como se ve en la imagen:

tut08_04

Realizamos dos o tres copias más y volvemos a escalar para así completar el domo. El mínimo de luces que necesitamos son 50 aunque lo ideal es tener al menos, unas 150 para apreciar mejor el efecto.

Nota: no debemos olvidar que las luces siempre se deben copiar como instance, pues si las realizamos como copia (copy) no podremos modificarlas todas al mismo tiempo.

Si realizamos un render en este paso,  notaremos que la casa está de color banco y por ende la escena se “quema”:

3dsmax_gi002

Lo que debemos hacer ahora es configurar la intensidad de las luces y la atenuación de estas para así lograr el efecto. Seleccionamos una de las luces y procedemos a configurar la intensidad para bajarla (0,05) y lograr la iluminación adecuada de la casa:

3dsmax_gi003

Realizamos un render y el resultado es el de la imagen de arriba. Ahora mejoraremos la iluminación activando en las luces del domo la sombra de tipo shadow map:

3dsmax_gi004

Render realizado con 50 luces con intensidad 0,05 y aplicandoles el tipo de sombra Shadow Map.

Ahora pondremos una luz extra (de tipo direct) que arrojará la sombra general del sol (también podremos colocar el sistema Sunlight). El resultado es el siguiente:

3dsmax_gi005

Ahora procedemos a ocultar las luces del domo y configuramos la luz que proyecta la sombra. Podremos mejorar el resultado aumentando el número de luces en el domo, bajando la intensidad de estas y ajustando la intensidad de la luz que arroja la sombra del sol.

3dsmax_gi005b

Sistema de luces creado en el ejemplo anterior (total: 50 luces).

3dsmax_gi005d

Sistema creado con 150 luces. y una luz direct para el Sol. Abajo: el render resultante de este sistema.

3dsmax_gi005c

Podremos ajustar o mejorar el render mediante el panel Exposure Control donde podremos elegir distintos tipos de control de exposición de cámara. Exposure control se reseñará más abajo.

3dsmax_gi005e

El render anterior ajustado mediante Logarithmic Exposure Control.

2- Creando un sistema automático de luces

En este caso crearemos un sistema automático mediante la luz de tipo Skylight y una luz de tipo directa, o en su reemplazo el sistema Sunlight. Para crearlo, lo primero que haremos será abrir la escena llamada tutorial08.max y allí colocar una luz de tipo Direct (o insertar el sistema Sunlight) ya que esta será la que arroje sombras. Ahora deberemos crear una luz de tipo Skylight que se encuentra en el panel de las luces standard. Bastará colocar sólo una luz, ya que esta representa el “domo” de luces y por ende puede ir en cualquier parte de la escena:

tut08_06

Si realizamos un render el resultado será el siguiente:

3dsmax_gi006

Como vemos en la imagen, la iluminación se ve sobreexpuesta ya que para que funcione el GI debemos habilitar el plugin llamado Light Tracer, el cual se encuentra en la persiana Advanced Lightning del cuadro Render Setup.

Al llegar al cuadro Render Setup, en la persiana Advanced Lightning debemos habilitar el plugin Light Tracer. Es importante que esté activada la casilla Active, de otra forma el plugin no funcionará. También cambiaremos el valor de bounces de 0 a 1, esto hará más notorio el rebote de luz y por ello más claro el GI en el momento del render. El resultado es el siguiente:

3dsmax_gi007

El resultado es el de la imagen de arriba. Si el render se demora mucho, podremos reducir la cantidad de Ray/sample (cantidad de rayos) que viene por defecto (250) aunque esto implicará una pérdida de calidad en la imagen:

3dsmax_gi007b

Render realizado con Ray/sample en 50.

3dsmax_gi007c

Render realizado con Ray/sample en 20.

3dsmax_gi007d

Render realizado con Ray/sample en 5.

Por el contrario, si aumentamos la cantidad de rayos ganaremos mayor calidad aunque evidentemente, tendremos un largo tiempo de render:

3dsmax_gi007e

Render realizado con Ray/sample en 500.

Podremos ajustar o mejorar el render mediante el panel Exposure Control donde podremos elegir distintos tipos de control de exposición de cámara. Exposure control se reseñará más abajo.

3dsmax_gi007f

El render anterior ajustado mediante Logarithmic Exposure Control.

2a- Radiosidad o Radiosity

tut08_09

Radiosidad es una forma de iluminación indirecta en la cual la luz es transmitida entre las superficies por la reflexión difusa del color de la superficie. Este tipo de iluminación se obtiene mediante el rebote de la luz entre las superficies. Mientras más rebote haya, mucho más precisa será la solución de radiosidad la cual sólo está limitada por la cantidad de RAM que posea nuestra PC, ya que mientras más RAM tengamos mucho menos se demorarán los cálculos. Una vez calculada la radiosidad esta almacena información de sombreado en cada vértice de los objetos que estén en la escena, esto implica que la calidad de la radiosidad va a depender de la cantidad de vértices que contengan los objetos de la escena. Lo anterior puede considerarse una desventaja ya que mientras más compleja sea una escena, mucho más se va a prolongar el tiempo de cálculo.

Cuando modelamos una escena en la cual vamos a utilizar luces fotométricas debemos tener el cuidado de modelar bien y de hacerlo a escala, ya que un mal modelado podría provocar fugas de luz y las dimensiones erróneas de los objetos causaría que la escena se renderizará sobreexpuesta o con muy baja exposición.

En 3DSMAX hay dos formas de utilizar Radiosidad:

– La primera es utilizar luces fotométricas o de tipo Photometric, las cuales son muy utilizadas en iluminación de interiores para arquitectura. Esta es ideal para iluminar espacios interiores o utilizar GI del motor de render Mental Ray. Estas luces son reseñadas en este tutorial.

– La segunda consiste en utilizar un sistema de iluminación que se llama Daylight, el cual es generalmente usado para iluminación de exteriores. Con este sistema podemos separar los dos componentes de la luz exterior que son sol y cielo (Sun and Sky).

2b- Generando radiosidad para interiores

Este sistema utiliza el motor de Render por defecto de 3DSMAX llamado Default Scanline Render. Este sistema es ideal para configurar espacios interiores ya que Radiosity calculará el rebote de luz según la superficie y la cantidad de malla que posea nuestro modelo. Lo primero que haremos será modelar o definir una escena de interiores, o abrir la escena llamada tutorial08b.max que se incluye al final del artículo. Debemos modelar este espacio en unidades métricas y utilizando medidas reales para hacer más real la iluminación y para que el cálculo de las superficies sea más preciso. en esta escena aplicaremos 4 luces fotométricas (también funciona con luces standard) y luego realizaremos un render para ver la escena. Si colocamos luces fotométricas, cambiamos la distribución a Photometric web. El resultado del render normal es el de abajo:

tut08_14

Ahora debemos configurar la radiosidad para activar la iluminación indirecta o GI. Antes de ello nos conviene ir al panel Exposure Control (imagen de abajo, se encuentra en la misma persiana que environment) el cual nos permite definir el control de exposición de la imagen de forma similar al de una cámara real:

tut08_15

Allí tendremos las diversas opciones de control de exposición y seleccionamos Logarithmic Exposure Control, ya que es la más precisa. Presionando el botón Render Preview podremos ver un pequeño render antes del rendereado definitivo. Además podremos controlar sus parámetros como brillo (Brightness), contraste (Contrast), Tonos medios (Mid Tones) y Escala Física (Physical Scale). Si estamos realizando una escena de exteriores deberemos activar de forma obligada la opción Exterior daylight.

Para calcular la radiosidad nos vamos al cuadro Render Setup, elegimos la opción Advanced Lightning y esta vez elegiremos el plugin Radiosity. Presionaremos el botón Start para iniciar el cálculo de radiosidad y nos aseguramos estar en la vista en la que queramos realizarla:

3dsmax_gi0014

Cuando este termine, notaremos que se habrán formado los polígonos y líneas de vértices de la radiosidad. Ahora simplemente realizamos un render para ver la escena. Si queremos eliminar el cálculo y volver a realizarlo, presionamos el botón Reset All. El resultado al realizar el render es el siguiente:

tut08_16

La principal desventaja del sistema de radiosidad es que se puede ocupar sólo para renders estáticos, puesto que usarlo en animación implicaría calcular la radiosidad de cada cuadro y luego renderizarlo.

2c- Generando radiosidad para exteriores

Al iluminar una escena de exteriores tenemos varias opciones: las clásicas luces estándar o utilizar el sistema de iluminación diurna de 3DSMAX llamado DayLight. La gran ventaja de este sistema es que nos permite simular soluciones bastante precisas de iluminación y además podemos escoger horas, días, meses, años y hasta la zona horaria.

Daylight posee varias opciones: podemos utilizar las luces IES sun y IES sky que son las más precisas a la hora de representar la luz del cielo y la luz solar o utilizar la configuración que trae por defecto en la cual se utiliza una luz direccional mas una luz skylight que es menos precisa pero más rápida a la hora del cálculo.

Si no disponemos de suficiente tiempo para hacer un estudio de sombras y asoleo (que es generalmente para lo que se utiliza este sistema) preciso, podemos utilizar la luz de tipo Sunlight que tiene las mismas opciones de huso horario que Daylight, pero este tipo de luz no hace el cálculo de rebote de luz ya que es una luz de tipo directa, lo cual acelera bastante él render.

Para generar radiosidad exterior lo primero que haremos será modelar o definir una escena de exterior (la escena tutorial08c.max de este tutorial). Debemos modelar este espacio en unidades métricas y utilizando medidas reales para hacer más real la iluminación.

Ahora iremos al panel crear y presionaremos el último ícono llamado Systems (el de los engranajes) el cual es el de sistemas (systems). Al hacerlo nos mostrará varios tipos de sistemas y entre ellos estarán las opciones Sunlight y Daylight. Elegiremos Daylight e insertaremos la luz en la vista top, de tal forma de definir primero la estrella de puntos cardinales y luego la posición de la luz.

Al estar en el motor de Render Default Scanline e insertar el sistema Daylight se nos recomendará asignar como control de exposición a la opción Logarithmic Exposure control y activando la opción Exterior Daylight.

3dsmax_gi0015

Al estar en el motor de Render Mental Ray e insertar el sistema Daylight se nos recomendará asignar como control de exposición a la opción Mr Photographic Exposure control y colocar el Exposure Value (EV) en 15. Esta opción realzará de mejor forma la iluminación exterior que la tradicional Logarithmic (aunque no hay problema de utilizar cualquiera de los dos).

tut08_18b

Notaremos que no podremos mover la luz, en lugar de ello tendremos que definir el huso horario así como el lugar, día y hora. Ahora iremos al panel de motion (la rueda) y una vez allí podremos configurar los parámetros ya que nos aparece el cuadro de la imagen izquierda. Con el botón Get Location podremos elegir el lugar físico donde posicionaremos el objeto (incluso podemos elegir Santiago de Chile) o podremos definir sus parámetros como latitud o longitud.

En la opción Orbital Scale podremos definir la altura en la que está posicionada la luz respecto al suelo. Para nuestro caso elegimos Santiago y movemos el huso horario de tal modo que la luz nos quede como la imagen del lado (28/03 a las 13:00 hrs.). En la opción North Direction podremos mover o girar la brújula para adaptar la posición del Norte a la de nuestro modelo.

Si realizamos un render sin colocar opción alguna en Exposure Control, el resultado es el de la imagen de abajo:

tut08_20

Lo que haremos ahora para mejorarlo, será ir al control de exposición y activar el control de tipo logarithmic. Como esta escena es exterior deberemos marcar también la opción Exterior Daylight. Si tuviéramos una escena exterior pero la vista está desde el interior del edificio, podemos utilizar también la opción Automatic Exposure Control. Ahora nos vamos a la radiosidad (Radiosity) y procedemos a iniciar el cálculo, realizamos un render para ver el resultado final:

tut08_21

Nota: La intensidad de luz en un cielo claro es aproximadamente de unos 90.000 lux

Si seleccionamos la luz de Daylight y vamos al panel modificar, podremos elegir entre alternativas de luz del sol y luz de día además de la luz standard. Tenemos por ejemplo, IES Sun junto con IES Sky. Si los elegimos y realizamos el render este es el resultado:

tut08_21b_iessun_iessky

También podremos elegir MR Sun y MR Sky los cuales producen diferentes resultados según el motor de render que se utilice. MR Sun y MR Sky se utilizan junto al motor de render llamado Mental Ray. Si los elegimos y realizamos un render, el resultado es el siguiente:

tut08_21c_mrsun_mrsky

Si elegimos la opción Mr Sky, el programa nos preguntará si queremos asignar un cielo. Si aceptamos se creará el cielo junto al horizonte respectivo (mapa Mr Physical Sky), el cual se utilizará como base para el render.

Si queremos experimentar con el sistema de Sunlight, es igual que Daylight pero sólo coloca una luz direccional para realizar el estudio de asoleo.

En el caso del sistema Sunlight, podremos modificar la intensidad de la luz y los parámetros de sombras de la misma manera como lo hacemos con cualquier tipo de luz direccional standard. Un render con el sistema Sunlight es similar a la imagen de abajo:

tut08_22

3- Generando GI con Mental Ray

Mental Ray es un motor de render con el cual podemos conseguir simulaciones con base física de los efectos de la luz. Este motor de render acepta varias técnicas de GI como Photon map (mapa de fotones), cáusticas y Trace depth. En Mental Ray podremos usar tanto el sistema de luces Standard como el sistema Daylight (este último es el recomendado) y cualquiera de los dos tipos de control de exposición disponibles: Logarithmic y Mr Photographic.

Si comparamos el motor de render que trae por defecto 3DSMAX (Scanline) con mental ray, nos daremos cuenta de que este motor de render tiene muchas más ventajas como son los efectos cáusticos o la iluminación indirecta a partir de la técnica de photon map, que en el render de Scanline son mucho más difíciles de conseguir. Además Mental Ray trae su propia librería de materiales/mapas y si deseamos utilizar nuestros clásicos materiales lo podremos hacer, además que tenemos a nuestra disposición una persiana con la cual podemos utilizar los shaders de mental ray. Si bien las ventajas de este motor de render son bastante grandes estas tienen un precio y ese es el tiempo de renderizado.

Para utilizar Mental Ray debemos escogerlo en la persiana Common de Render Setup. Allí buscaremos la persiana Assign Renderer. Veremos que en production está la opción por defecto (Scanline Renderer). Presionamos el botón del lado y cuando nos aparezca el cuadro elegiremos Mental Ray Renderer. Con esto cargamos el motor de render y cambiará un poco de aspecto el cuadro de Render Setup.

Para generar el GI, nos iremos al ejemplo de la casa del primer ejercicio (tutorial08.max). Una vez que hemos abierto el archivo, procederemos a cambiar el motor de render a mental ray y dejaremos sólo la luz que hemos utilizado para generar la sombra. El multiplicador de la luz directa lo dejaremos en el valor 2.

En Mental Ray, el GI se logra con una técnica llamada Photon Map que tiene ciertas ventajas sobre la radiosidad, ya que esta técnica de GI no depende de la cantidad de malla y tampoco necesita generar una “solución previa” al render.

Para activarlo iremos a la persiana Indirect Ilumination del cuadro Render Setup, ubicamos la persiana Global Ilumination y activamos la opción Enable, esto activará el GI.

También nos aseguraremos de activar la opción Final Gather que está el principio de la persiana. Con Final Gather activado, mental ray genera un paso más de photon map y con esto se mejora notablemente la iluminación global de la escena. Eso sí, aumenta el tiempo de render. En FG Precision Presets podremos controlar la calidad del render y por defecto está activada la opción Draft, si lo movemos aumentaremos la calidad de la imagen pero el tiempo de render será considerablemente más largo.

En el caso de los valores de GI, si desactivamos Final gather podremos ver y controlar la cantidad de fotones en la escena. Mientras estos estén más juntos, se mezclarán de mejor manera y por ello podremos tener un render más realista. En la imagen de abajo hemos definido la cantidad de fotones por muestra (Maximum Num. Photons per Sample) en 10 y su radio máximo de muestra (Maximun Sampling radius) en 0.1, y vemos que la cantidad de fotones es insuficiente para el render:

tut08_25

Por el contrario, el render de la imagen siguiente tiene 500 fotones y no está activado el radio, por lo tanto es el más adecuado para nuestra escena:

tut08_25b

Render realizado con GI y Final Gather, sin incluir el mapa Physical Sky.

3dsmax_gi0016

Render realizado con Mr Photographic exposure control y valor de EV=15. En este caso se incluye en el fondo el mapa Physical Sky.

Si aplicamos GI mediante Mental Ray en el archivo de las columnas usando el sistema Daylight, los resultados son los siguientes:

3dsmax_gi0017

Render realizado con GI de Mental Ray, con control de Exposición en Mr Photographic, EV de 15 y una imagen de cielo de fondo (Mr Sun y Mr Sky).

3dsmax_gi0017b

Render realizado con GI de Mental Ray, con control de Exposición en Logarithmic, Exterior Daylight activado y una imagen de cielo de fondo (Mr Sun y Mr Sky).

3dsmax_gi0017c

Render realizado con GI de Mental Ray, con control de Exposición en Mr Photographic, EV de 15 y el cielo Mr Physical Sky (Mr Sun y Mr Sky). En este caso se ha aumentado la intensidad de la luz de Daylight a 3.

3b- Generando efectos cáusticos con Mental Ray

El efecto cáustico se produce cuando la luz que se proyecta en los objetos se refleja o refracta a través de otro objeto. Este efecto que es muy común en objetos refractivos como el agua o el vidrio en los cuales se pueden apreciar pequeños destellos en las sombras de los objetos.

En Mental Ray este tipo de efecto es bastante fácil de conseguir ya que sólo debemos asegurarnos que en las propiedades del objeto esté marcada la opción generar cáusticas, después nos asegurarnos de manejar correctamente las luces y las propiedades de la persiana Indirect Illumination.

Para generarlo, crearemos una escena (una tetera y una esfera) que estén sobre un plano. Aplicaremos a ambas un material de tipo Raytrace (copiaremos el color diffuse en Transparency) o crearemos un material que tenga este mapa en el canal de refraction (y Reflection). Ahora crearemos una luz de tipo omni que ilumine ambos objetos y que proyecte sombras de tipo Raytrace. Lo que haremos ahora es ir a las propiedades de cada objeto (seleccionando el objeto y clickeando con el botón secundario para luego seleccionar la opción object properties) y en la persiana mental ray activaremos la opción generate caustics. Esto debemos hacerlo en la tetera y en la esfera, o todos los objetos en los que queremos que se generen las cáusticas. Incluso debemos realizarlo en la luz para que resulte el efecto.

Una vez hecho esto, nos vamos a render Setup y en la persiana Indirect Ilumination buscamos Caustics and Global Ilumination, allí activamos la opción Enable Caustics. Además activaremos Final Gather y Enable GI.

Realizamos un render para ver el resultado final. Si no se ve claramente el efecto, podemos aumentar el valor de multiply de las cáusticas. Si se ven manchones o fotones en la escena, podemos resolver esto aumentando los valores de Fotones cáusticos y de GI en la opción light properties.

Este es el resultado del render final con el efecto de cáusticas, con el multiplicador de ellas en valor 5:


Bibliografía utilizada:

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

– 3DSMAX User Guide reference.

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

Descargar Tutorial (PDF) y Archivos Base (MAX 2013):

3dsmax_download

Tutorial 07, parte 1: Iluminación Standard

3dsmax_iluminacion_standardEn 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 el mundo real, la distancia influye en la intensidad de la luz puesto que la luz se difumina al ir alejándose de la fuente emisora. En 3DSMAX en cambio, la luz se proyecta hacia el infinito en el espacio 3D. Por defecto, el programa nos proporciona una iluminación Standard la cual nos permite ver nuestros modelos 3D. Estas son dos luces omnidireccionales: una ubicada atrás, como se ve en la imagen:

tut07_01

Y otra adelante, tal como se ve en la imagen de abajo:

tut07_02

Si aplicamos cualquier luz en 3DSMAX, estas se apagan para que podamos ver el efecto de esta. Si borramos las luces aplicadas, la iluminación standard vuelve a aparecer.

Ya sea que hablemos de luz natural o de cualquier fuente de luz artificial, debemos distinguir 2 tipos de luces: las luces duras, que son aquellas que proyectan sombras fuertes y demarcadas mientras que las luces blandas son aquellas que proyectan sombras suaves y difusas.

Debemos usar luces duras cuando:

– Simulamos iluminación que proviene de un bulbo (ampolleta) de luz en un cuarto pequeño.

– Para imitar la luz solar.

– Para iluminar escenas espaciales.

– Cuando imitamos las luces de un espectáculo (que incidan en un artista).

– Cuando deseamos que una sombra en el render nos advierta de otros objetos que están fuera de la escena y que deseamos que el espectador lleve su atención hacia ella.

– Para iluminar lugares inhóspitos (las luces duras hacen que la gente no se sienta cómoda).

Debemos usar luces blandas cuando:

– Cuando iluminamos días nublados y no deseamos sombras duras y negras.

– Para la iluminación indirecta que se refleja de los muros ya que generalmente es bastante suave.

– Para luces que están siendo transmitidas a través de materiales translucidos como una pantalla de luz o una cortina.

– Para imitar la iluminación interior (las luces suaves hacen de los entornos interiores más confortables, relajantes y hacen ver a los personajes más orgánicos).

– Para resaltar la belleza de un personaje, en especial de un personaje femenino el cual podemos resaltarlo solo utilizando luces suaves.

– Para generar representaciones (render) más realistas.

Tipos de luces Standard

Los colores de los materiales y las texturas de las superficies son profundamente afectadas cuando iluminamos la escena, por lo que se suele aplicar la iluminación en primer lugar y luego se procede a la texturización aunque no hay reglas al respecto.

Las luces se encuentran en icono de luces del panel crear. Como sabemos una vez creada la luz se desactivan las 2 luces que vienen activadas por defecto y se comienza a iluminar desde cero. Para insertar cualquier sistema de luces, debemos ir a al panel crear y presionamos el ícono luces. En el menú desplegable podemos elegir entre 2 sistemas de iluminación: Photometric (fotométrico) y Standard de 3DSMAX.

Las luces fotométricas utilizan valores fotométricos (energía de luz) que permiten definir las luces con más precisión, igual que si fuesen reales. Podemos crear luces con distintas distribuciones y características de color, o bien importar archivos fotométricos de los mismos fabricantes de luces. Podemos ver este tipo de luces más a fondo en el tutorial de luces fotométricas de este blog.

Las luces Standard son aquellas que tiene por defecto 3DSMAX y que abordaremos en este apunte. Estas luces tienen la ventaja que son válidas para todos los motores de render disponibles, aunque a cambio de no ser tan realistas como las Fotométricas. En 3DSMAX tenemos básicamente 4 tipos de luces que son:

tut07_04Omni: Como su nombre lo indica esta luz es de tipo “omnipresente”, esto es, que arroja luz en todas las direcciones de forma similar a una ampolleta o bombilla. Por esta característica es perfecta para ser usada como luz básica para iluminar una escena o un objeto, pero su fuerte es ser usada como luz de relleno (para evitar la oscuridad total en áreas no iluminadas de la escena). Es el equivalente a la luz de punto o point de AutoCAD 3D.

3dsmax_luces001

Render realizado con Omni para apreciar el efecto de la luz sobre los objetos de la escena.

tut07_05Target/Free Spot: Este tipo de luz emite un rayo orientado con forma de cono de la misma manera que el de una linterna, un foco de teatro o una lámpara de sobremesa o escritorio.

Target Spot utiliza un objeto de destino o “Target” al que se dirigirá la luz, el cual se puede mover de forma independiente al de la posición de la lámpara o foco. En cambio en la opción Free Spot la luz siempre apuntará hacia donde la coloquemos según la vista en la que la dibujemos, ya que no tiene objeto de destino.

3dsmax_luces002

Render realizado con Spot para apreciar el efecto de la luz sobre los objetos de la escena.

tut07_06Target/Free Direct: Este tipo de luz proyecta rayos de luz paralelos en una única dirección y de forma cilíndrica, de forma similar a la sombra proyectada por el sol sobre la superficie de la tierra. Por esto mismo la luz direccional se utiliza principalmente para simular la luz solar, e incluso tenemos un sistema de iluminación basado en esta llamado Sunlight.

Target Direct utiliza un objeto de destino o “Target” al que se dirigirá la luz, el cual se puede mover de forma independiente al de la posición de la lámpara o foco. En cambio en la opción Free Direct la luz siempre apuntará hacia donde la coloquemos según la vista en la que la dibujemos, ya que no tiene objeto de destino.

3dsmax_luces003

Render realizado con Direct para apreciar el efecto de la luz sobre los objetos de la escena.

tut07_07Skylight: Este sistema está indicado para reproducir la luz diurna normal ya que en realidad equivale a colocar muchas luces de tipo Spot apuntando hacia la escena formando un “domo” de luces. Esta luz está ideada para ser utilizada con el plugin Light Tracer del motor de render por defecto Scanline Render, ya que por sí sola no da el efecto esperado. El cielo aparece como una cúpula situada sobre la escena.

3dsmax_luces004

Render realizado con Skylight para apreciar el efecto de la luz sobre los objetos de la escena, sin aplicar el plugin Light Tracer.

Esta luz está indicada para escenas exteriores ya que si aplicamos Light Tracer en escenas interiores no funcionará. También es importante indicar que esta luz se debe complementar con una luz directa o Sunlight para simular de mejor manera la escena exterior.

3dsmax_luces005

El mismo render anterior pero aplicando el plugin Light Tracer, donde notamos que al ser una escena interior y al no haber vanos esta no se ilumina.

3dsmax_luces006

El mismo render anterior pero esta vez se han realizado vanos, y con ello ya podemos ver algo de iluminación diurna.

3dsmax_luces007

El mismo render anterior pero esta vez combinado con el sistema Sunlight.

3dsmax_luces009bExisten otros dos tipos de luces llamadas MR Area Omni y MR Area Spot, las cuales son básicamente luces Omni y Spot pero están diseñadas para el motor de render Mental Ray. En el caso de estas luces, podremos controlar la forma en que el área de la luz se distribuye en los objetos mediante la opción Area Light Parameters.

Si colocamos la luz Mr Area Omni Podremos elegir si queremos distribuirla en modo de esfera o Sphere (donde podremos editar su radio) o de forma cilíndrica o Cylinder (donde podremos ajustar su radio y su altura).

3dsmax_luces008

Render realizado con una luz Mr Area Omni para apreciar el efecto de la luz sobre los objetos de la escena. En este caso al área de distribución es de tipo Sphere.

Si colocamos la luz Mr Area Spot Podremos elegir si queremos distribuirla en modo de recángulo o Rectangle (donde podremos editar su largo y ancho) o de forma de disco o Disc (donde podremos ajustar su radio).

3dsmax_luces009

Render realizado con una luz Mr Area Spot para apreciar el efecto de la luz sobre los objetos de la escena. En este caso al área de distribución es de tipo Disc.

Debemos recordar que estas luces funcionarán de mejor forma en el motor de render Mental Ray.

Iluminación ambiental

3dsmax_luces010Al ser emitida la luz, los rayos de esta se propagan en el espacio hasta impactar sobre alguna superficie u objeto. Esta puede hacer que el rayo rebote total o parcialmente, o que sea absorbido por el medio. Cuando la luz rebota contra una superficie prosigue su camino con menor intensidad hasta volver a impactar con otra superficie y repitiendo el proceso hasta desaparecer.

A toda esta luz rebotando a la deriva en el espacio se le llama Iluminación Ambiental, y no es posible definir un origen preciso de la misma. Calcular el rebote de todos los rayos exige muchísimo cálculo de parte del programa 3DSMAX y por ende, tiempo de render. Podemos resolver parciamente este problema utilizando el parámetro de luz ambiental (Global Lightning). Podemos configurarla asignándole un color determinado y esto afectará a todos los objetos por igual en las zonas que no están iluminadas. Lo configuramos en el cuadro de environment.

tut07_08

Los parámetros de este son los siguientes:

Tint: por defecto está de color blanco. Al cambiarlo, Tint tiñe las luces de la escena con un determinado color. La Luz ambiental no se ve afectada.

3dsmax_luces011

En el ejemplo, al render con Omni se le ha aplicado en Tint el color rojo, mientras que los otros parámetros están por defecto.

Level: Establece Nivel de intensidad. Un valor superior a 1 aumenta la intensidad de todas las luces de la escena por igual. Valores menores a 1 la atenúan.

3dsmax_luces013

En el ejemplo, al render con Omni se le ha aplicado en Level el valor 2, mientras que los otros parámetros están por defecto.

Ambient: Por defecto está de color negro. Al cambiarlo, la luz ambiente o Ambient afectará a todas las zonas no iluminadas de los objetos por igual.

3dsmax_luces012

En el ejemplo, al render con Omni se le ha aplicado en Ambient el color rojo, mientras que los otros parámetros están por defecto.

3dsmax_luces014

En el ejemplo, al render con Omni se le ha aplicado a Ambient y Tint el color rojo.

3dsmax_luces015

En el ejemplo, al render con Omni se le ha aplicado a Ambient el color rojo y a Tint el color verde.

Parámetros generales de las luces standard

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

Light type: podemos cambiar a cualquiera de los 3 tipos de luces disponibles: Omni, Spot y Direct. En Caso de las luces Direct y Spot, podemos activar la opción target para habilitar el objetivo y además podremos definir su longitud (o manipularlo directamente en la Viewport).

On: habilitamos o deshabilitamos la luz. Si  tenemos una luz en la escena y esta está en modo OFF y realizamos un render, la escena no se iluminará a menos que activemos la luz o la borremos. Podemos activar o desactivar tantas como queramos, según la cantidad de luces que tengamos en nuestra escena.

Shadows On/Off: en este caso habilitamos o deshabilitamos la proyección de sombra. Al clickear en Use Global Settings, habilitamos la sombra de tipo Shadow Map que está por defecto.

3dsmax_luces016a_sinsombra

Render realizado con Sombra (Shadow) desactivada.

Los tipos de sombra que podemos elegir son los siguientes:

– Shadow Map.
– Mental Ray Shadow Map.
– Area Shadows.
– Ray Traced Shadows.
– Advanced Ray Traced Shadows.

Las sombras y sus parámetros son reseñadas en el Tutorial de sombras, por lo tanto no serán parte de este apunte.

Color: por defecto está en color blanco, y nos permite definir el color de la luz el cual afectará a todos los objetos que sean iluminados por ella.

3dsmax_luces017

Render realizado con color de luz en Amarillo.

3dsmax_luces017b

Render realizado con color de luz en Verde claro.

3dsmax_luces017c

Render realizado con color de luz en Morado.

Exclude: al presionar esta opción podemos excluir (exclude) o incluir (include) los objetos que queremos que sean afectados por la luz en particular (a diferencia del mundo real en que esto no ocurre pues todos los objetos afectos por la luz son iluminados). Incluso podemos elegir si queremos que el objeto sólo arroje sombras, o ambas.

3dsmax_luces018

Eligiendo el o los objetos del cuadro de la izquierda y presionando la flecha derecha (>>) a podremos agregarlo a la lista de exclusiones en la cual tendremos las opciones de Iluminación (Illumination), Arrojar Sombras (Shadow Casting) o ambos (Both). Para volver el objeto a la normalidad, bastará elegirlo del cuadro de la derecha y luego presionar la flecha izquierda (<<).

3dsmax_luces018b

Render de la configuración de la imagen anterior donde vemos que la tetera 1 no se ilumina ni arroja sombras.

Multiplier: aumenta o disminuye la intensidad de la luz mediante valores positivos o negativos. Debemos tomar en cuenta que este valor no se refiere a los “watts” del foco de luz, sino más bien es una referencia para comparar y ajustar la iluminación de las distintas fuentes de luz. Los valores negativos restan luz a las zonas que lo afectan, generando oscuridad.

tut07_12

tut07_11

En la primera imagen vemos un render con una luz omni aplicada y su valor de Multiplier positivo, mientras que en la segunda el valor de este es negativo, generando una mancha oscura.

3dsmax_luces019

El render de las teteras anteriores con valores de Multiplier en 5.

3dsmax_luces019b

El render de las teteras anteriores con valores de Multiplier en 0,01.

Atenuación (Attenuation): en el mundo real, la luz se propaga en el espacio hasta que pierde potencia y desaparece. En 3DSMAX esto no es así hasta que activemos los parámetros de atenuación. Tenemos dos tipos de atenuaciones: cercana (Near) y lejana (Far) que se utilizan para controlar cómo crece y decrece la intensidad de la luz en su recorrido.

– Atenuación cercana (Near Attenuation): nos permite controlar la distancia durante la cual el rayo que parte desde la fuente de luz comienza a crecer en potencia hasta alcanzar la iluminación máxima indicada en el multiplicador (multiplier). El valor de inicio (Start) define (en distancia de unidades) el comienzo de la fuente de luz. El valor final (end) indica la distancia en la cual el rayo alcanza la intensidad indicada en el multiplicador. La distancia entre ellos es el rango en que gradualmente comienza a aumentar la potencia de la luz.

3dsmax_luces020c

En la imagen notamos cómo manipulando los valores de Near Attenuation evitamos iluminar la primera tetera mientras que la segunda se va iluminando gradualmente. El valor de inicio (Start) está representado por la lente (o esfera en el caso de la luz Omni) color azul marino, mientras que el valor final (End) es azul claro.

3dsmax_luces020d

– Atenuación lejana (Far Attenuation): nos permite controlar la distancia durante la cual el rayo que parte desde la fuente de luz comienza a decrecer en potencia hasta apagarse. El valor de inicio (Start) define (en distancia de unidades) el comienzo de la pérdida de potencia de la fuente de luz. El valor final (end) indica la distancia en la cual el rayo se extingue. La distancia entre ellos es el rango en que gradualmente comienza a disminuir la potencia de la luz.

3dsmax_luces020

En la imagen notamos cómo manipulando los valores de Far Attenuation evitamos iluminar la segunda tetera. El valor de inicio (Start) está representado por la lente (o esfera en el caso de la luz Omni) color café claro, mientras que el valor final (End) es café oscuro.

3dsmax_luces020b

Decay: permite definir un método alternativo a la atenuación controlada. Tenemos dos tipos: Inverse Inverse Square (que calcula la atenuación real en la naturaleza). Esto quiere decir que la iluminación que alcanza un punto del objeto es igual a la intensidad de la luz dividido por la distancia entre el objeto y la luz al cuadrado La iluminación del Objeto = Intensidad / Distancia2. También disponemos de la opción None, o sea, sin decay. Con Start podemos definir la magnitud de la atenuación.

3dsmax_luces021

Configuración de Decay, mostrando lente de atenuación.

3dsmax_luces021b

Render de la Configuración anterior, en opción Inverse.

3dsmax_luces021c

Render de la Configuración anterior, en opción Inverse Square.

Parámetros extendidos de luces standard

En el caso de luces tipo direccional (Direct) y foco (Spot) tenemos otros parámetros extras que les son comunes a ambas, los cuales son:

Show Cone: nos muestra el “cono” que forma la luz, o el “cilindro” en el caso de las luces direccionales.

3dsmax_luces022

Overshoot: permite que estas luces iluminen de la misma forma que las omni pero que arrojen sombras sólo en el cono o cilindro que las definen.

Hotspot/Beam: define el diámetro del área del objetivo. En otras palabras, aumenta el diámetro de la base de cono. Se representa por el color celeste en Show Cone.

3dsmax_luces022b

Falloff/Field: define el valor del área desde donde se degrada la luz hacia los lados, a partir del valor definido en Hotspot/Beam. Se representa por el color azul marino en Show Cone.

3dsmax_luces022c

Circle/Rectangle: permite definir si el área iluminada forma un círculo o un rectángulo. Si elegimos la segunda opción, podremos cambiar las proporciones del rectángulo aumentando o disminuyendo el valor de Aspect. El botón bitmap fit nos permite encajar las proporciones de una imagen en esta área.

3dsmax_luces023

Área de luz definida mediante la opción Rectangle.

3dsmax_luces023b

Área de luz definida mediante la opción Rectangle, con Aspect menor que 1.

3dsmax_luces023c

Área de luz definida mediante la opción Rectangle, con Aspect mayor que 1.

Efectos avanzados de luces

Las luces cuentan además con un cuadro extra denominado efectos avanzados (Advanced Effects), entre los cuales destacamos:

Affect surfaces: nos permite controlar con precisión el efecto de la luz sobre las distintas propiedades de los materiales. pPodemos habilitar una luz para que ilumine sólo las propiedades especulares, difusas o ambientales independientemente o aumentar el contraste entre las áreas difusas y ambientales de una superficie.

3dsmax_luces024b

En la imagen, la primera luz ilumina sólo el mapa Diffuse mientras que la otra sólo ilumina el mapa specular (en blanco y negro).

3dsmax_luces024c

En la imagen, la primera luz ilumina el mapa Diffuse junto con specular mientras que la otra sólo ilumina el mapa specular (en blanco y negro).

Proyector map: nos permite seleccionar una imagen o un video y proyectarla en la superficie, similar a un proyector de cine.

3dsmax_luces024

En la imagen, una de las luces ilumina normalmente mientras que la otra proyecta una imagen en la superficie mediante la aplicación de Proyector map.

3dsmax_luces025Atmosphere and Effects: esta interesante opción nos permitirá agregar efectos especiales a nuestras luces. OPor defecto tendremos dos a nuestra disposición: Volume Light y Lens effects. El efecto más destacado es el llamado Volume Light el cual hará visible en el render el “volumen” de la luz proyectado por el emisor:

3dsmax_luces026

Render realizado con una luz Spot.

3dsmax_luces026b

Render realizado con una luz Spot pero aplicando el efecto Volume Light.

Mediante la opción Add podremos agregar el efecto deseado y mediante Delete borrarlo. Al elegir Add nos aparece el cuadro siguiente donde podremos elegir el efecto:

3dsmax_luces026d

Podremos configurar los parámetros de Volume light en el panel environtment, donde iremos a la persiana Atmosphere y elegiremos la opción volume Light. nos aparece el cuadro de abajo:

3dsmax_luces026c

En este caso las propiedades más importantes son:

Lights: podremos elegir qué luces se toman en cuenta o no para el efecto. Mediante Pick Light tomaremos la luz que queremos que se aplique el efecto y mediante Remove Light podremos elegir una de la lista y quit{arselo.

Fog Color: Por defecto es de color blanco. Fog color permite cambiar el color de la “niebla” o el color del volumen de luz:

3dsmax_luces026e

Render de Volume Light con Fog Color en Amarillo.

3dsmax_luces026f

Render de Volume Light con Fog Color en Rojo.

Attenuation Color: en este caso determina el color de la atenuación de la niebla, y puede ser apreciado si activamos cualquiera de las atenuaciones. Por defecto es Azul y su valor es en Atten. Mult. es 2.

3dsmax_luces026_attenuationcolor

Render de Volume Light con Attenuation Color en Rojo y el valor de Atten. Mult. por defecto, donde notamos el tono rojizo en la atenuación lejana (se ha activado Far Attenuation).

Atten. Mult: Por defecto es 2, y con este valor aumentamos o dismunuimos el efecto de Color Attenuation.

3dsmax_luces026_attenuationcolor2

El mismo Render anterior pero con Atten. Mult. en 20, donde notamos con precisión el Rojo de Fog Color.

Exponential: Aumenta la densidad de manera exponencial con la distancia. Cuando está apagada, la densidad aumenta linealmente con la distancia. Activemos esta casilla de verificación sólo cuando deseemos procesar objetos transparentes en el volumen de la niebla.

3dsmax_luces026a

Render de Volume Light con Exponential activado.

Density: Por defecto es el valor 5, y establece la densidad de la niebla. Cuanto más densa sea esta , más la luz se refleja en el interior del volumen. Para nieblas realistas se recomiendan niveles entre 2 y 6.

3dsmax_luces026g

Render de Volume Light con Density en valor 2.

Max Light%: representa el efecto de brillo máximo que se puede lograr (por defecto es 90%). Si bajamos este porcentaje podemos limitar el brillo de la luz para que no sea más denso a medida que se aleja de la fuente de la luz. Cuando la escena incluya objetos transparentes dentro de una luz del volumen, debemos ajustar este valor al 100%.

3dsmax_luces026h

Render de Volume Light con Max Light% en 50%.

3dsmax_luces026i

Render de Volume Light con Max Light% en 20%.

Min Light%: representa el efecto de brillo mínimo que se puede lograr (por defecto es 0%). Si Luz mínima es mayor que 0 , las áreas fuera del volumen de luz brillarán. Debemos tomar en cuenta que si aumentamos este valor el espacio fuera del volumen de luz tomará el color de la niebla.

3dsmax_luces026j

Render de Volume Light con Min Light% en 20%.

3dsmax_luces026k

Render de Volume Light con Min Light% en 20%.

Filter Shadows: Funciona con la sombra Shadow Map y con la opción Exponential activada, y nos permite obtener una mejor calidad del volume light mediante el aumento de la frecuencia de muestreo o Sample Rate (a costa del aumento de tiempo de render). En este caso tenemos las opciones: Low, Medium, High y Use Light Smp Range, donde podremos controlar el porcentaje de volumen si desmarcamos la opción Auto (el rango va desde 1 a 10.000). Estas opciones tienen que ver con la difuminación de la sombra ya que el manejo de estos valores acentúan o difuminan las sombras proyectadas por la luz.

3dsmax_luces027b

Render con Filter shadows en la opción Low. En este caso se ha removido la habitación para ver las sombras proyectadas.

3dsmax_luces027

Render con Filter shadows en la opción High. En este caso se ha removido la habitación para ver las sombras proyectadas.

Otra opción que podremos agregar a nuestro Volume Light es la opción de Noise. Al activarlo y subir el valor de Amopunt, podremos ver efectos de ruido en el volumen de luz y tenemos tres tipos de efectos de Noise: Regular, Fractal y Turbulence:

3dsmax_luces028

Render con la opción de Noise Regular activada, y el valor de Amount en 0,55.

3dsmax_luces028b

Render con la opción de Noise Fractal activada, y el valor de Amount en 0,55.

3dsmax_luces028c

Render con la opción de Noise Turbulence activada, y el valor de Amount en 0,55.

Podremos modificar los parámetros generales del ruido según la opción que elijamos, Las variables más importantes son:

Noise Thereshold: limita el efecto del ruido, y va entre 0 y 1. Por defecto es 1. Podremos colocar los valores en Low, High o ambos.

3dsmax_luces028d

Render con la opción de Noise Regular activada, el valor de Amount en 0,55 y Noise thereshold High en 0,5.

3dsmax_luces028e

Render con la opción de Noise Regular activada, el valor de Amount en 0,55 y Noise thereshold High y Low en 0,5.

Size: determina el tamaño de las partículas del ruido. Por defecto es 20.

3dsmax_luces028f

Render con la opción de Noise Regular activada, el valor de Amount en 0,55 y Size en 5.

Debemos recordar que podremos insertar la cantidad de luces que estimemos conveniente en nuestra escena, y que estos parámatros pueden ser configurados en cada luz por separado o al mismo tiempo si todas están en modo Instance.

Este es el fin del tutorial 07, parte 1.


Bibliografía utilizada:

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

– 3DSMAX User Guide reference.

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


Ultimos Tutoriales AutoCAD 3D
  • Tutorial 08b: Extrude, Sweep y Revolve
    Tutorial 08b: Extrude, Sweep y Revolve
  • Tutorial 09: Render y GI, parte 3: Iluminación artificial
    Tutorial 09: Render y GI, parte 3: Iluminación artificial
  • Tutorial 10: Animación en AutoCAD, parte 2: Anipath (recorrido)
    Tutorial 10: Animación en AutoCAD, parte 2: Anipath (recorrido)
  • Tutorial 10: Animación en AutoCAD parte 1, Walk and Fly
    Tutorial 10: Animación en AutoCAD parte 1, Walk and Fly
  • Tutorial 09: Render y GI, parte 2: Sun & Sky
    Tutorial 09: Render y GI, parte 2: Sun & Sky
  • Tutorial 09: Render y GI, parte 1: Background
    Tutorial 09: Render y GI, parte 1: Background
  • Tutorial 11: Consejos para un buen modelo 3D
    Tutorial 11: Consejos para un buen modelo 3D
  • Tutorial 08: Polysolid y Loft
    Tutorial 08: Polysolid y Loft
Ultimos Tutoriales AutoCAD
  • Tutorial 09b: configuración de lámina e impresión final
    Tutorial 09b: configuración de lámina e impresión final
  • Tutorial 11, inserción de referencias (XREF)
    Tutorial 11, inserción de referencias (XREF)
  • Tutorial 09a: Escalas de Ventanas gráficas
    Tutorial 09a: Escalas de Ventanas gráficas
  • Tutorial 10: Bloques dinámicos en AutoCAD (parte 2)
    Tutorial 10: Bloques dinámicos en AutoCAD (parte 2)
  • Tutorial 10: Bloques dinámicos en AutoCAD (parte 1)
    Tutorial 10: Bloques dinámicos en AutoCAD (parte 1)
  • Tutorial 09: layout y escalas de impresión
    Tutorial 09: layout y escalas de impresión
  • Tutorial 08: grupos y bloques
    Tutorial 08: grupos y bloques
  • Tutorial 07: Areas o Hatch
    Tutorial 07: Areas o Hatch
Ultimos Tutoriales Comandos
  • Tutorial 13: comandos Mirror y Offset
    Tutorial 13: comandos Mirror y Offset
  • Tutorial 11: El comando Arc
    Tutorial 11: El comando Arc
  • Tutorial 10: comandos circle y ellipse
    Tutorial 10: comandos circle y ellipse
  • Tutorial 08: El comando Rectangle
    Tutorial 08: El comando Rectangle
  • Tutorial 12: comandos Move y Copy
    Tutorial 12: comandos Move y Copy
  • Tutorial 09: el comando Polygon
    Tutorial 09: el comando Polygon
  • Tutorial 05: el comando Line
    Tutorial 05: el comando Line
Ultimos Tutoriales 3DSMAX
  • Tutorial 08b: mr Portal Sky (iluminación interior con Mental Ray)
    Tutorial 08b: mr Portal Sky (iluminación interior con Mental Ray)
  • Tutorial 06c: Materiales Arch & Design (Mental Ray)
    Tutorial 06c: Materiales Arch & Design (Mental Ray)
  • Tutorial 06b: Material Multi/Sub-object
    Tutorial 06b: Material Multi/Sub-object
  • Tutorial 07, parte 2: Sombreados en iluminación
    Tutorial 07, parte 2: Sombreados en iluminación
  • Tutorial 07, parte 3: Iluminación Fotométrica
    Tutorial 07, parte 3: Iluminación Fotométrica
  • Tutorial 03b: Herramienta Array (matriz)
    Tutorial 03b: Herramienta Array (matriz)
  • Tutorial 03a: Spacing Tool (espaciado)
    Tutorial 03a: Spacing Tool (espaciado)
  • Tutorial 10: Animación básica
    Tutorial 10: Animación básica
Tutoriales Rhinoceros 4
  • Tutorial 07: modelado mediante Rail Revolve
    Tutorial 07: modelado mediante Rail Revolve
  • Tutorial 06: inserción de referencias (blueprints)
    Tutorial 06: inserción de referencias (blueprints)
  • Tutorial 05: modelado mediante Loft
    Tutorial 05: modelado mediante Loft
  • Tutorial 04: modelado mediante puntos de control (artefacto)
    Tutorial 04: modelado mediante puntos de control (artefacto)
  • Tutorial 00b: herramientas de matriz
    Tutorial 00b: herramientas de matriz
  • Tutorial 00a: concepto y uso de layers
    Tutorial 00a: concepto y uso de layers
  • Tutorial 04a: Trabajo con puntos de control
    Tutorial 04a: Trabajo con puntos de control
  • Tutorial 03: modelado mediante puntos de control
    Tutorial 03: modelado mediante puntos de control
Translate MVBlog to
Encuesta
Su software favorito para 3D es...
AutoCAD
3DSMAX
Rhinoceros
Revit
ArchiCAD
View Result
See all polls and results
Archivo de MVBlog
Posts por Categoría o Curso
LinkedIn del autor
Currículum Vitae
Ver el perfil de Carlos Gonzalez Larenas en LinkedIn
MVBlog en Facebook
MVBlog en Google+
MVBlog en Twitter
MVBlog en Pinterest
Tráfico del Blog

Visitas

Páginas|Hits |Visitas

  • Últimas 24 horas: 316
  • Últimos 7 días: 1,405
  • Últimos 30 días: 3,602
  • Online ahora: 11