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

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

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

Tipos de sombreado

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

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

3dsmax_luces016a_sinsombra

Render realizado con Sombra (Shadow) desactivada.

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

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

3dsmax_luces016

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

3dsmax_luces016b

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

3dsmax_luces016d

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

3dsmax_luces016c

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

3dsmax_luces016e

Técnicas de sombreado

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

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

shadows_001

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

shadows_002

Parámetros generales de sombreado

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

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

shadows_003

Render realizado con sombras de color amarillo.

shadows_004

Render realizado con sombras de color azul.

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

shadows_005

Render realizado con Dens. en valor 0,5.

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

shadows_006

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

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

Parámetros extendidos de sombreado

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

Parámetros de la sombra Shadow Map

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

shadows_001

Render normal de Shadow Map, con Bias en 1.

shadows_007

Render de Shadow Map, con Bias en 7.

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

shadows_008

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

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

shadows_009

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

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

Parámetros de la sombra Ray Traced Shadow

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

shadows_002

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

shadows_010

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

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

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

Parámetros de la sombra Advanced Ray Traced

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

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

shadows_011

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

shadows_011b

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

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

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

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

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

shadows_011c

Render efectuado con Shadow Quality y Shadow Integrity en 15.

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

shadows_011d

Render efectuado con Shadow Spread en 6,5.

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

shadows_011e

Render efectuado con Shadow Bias en 3.

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

shadows_011f

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

Parámetros de la sombra Area Shadows

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

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

shadows_012

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

shadows_012b

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

shadows_012c

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

shadows_012d

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

shadows_012e

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

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

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

shadows_013

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

Este es el fin del tutorial 07, parte 2.

Bibliografía utilizada:

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

– 3DSMAX User Guide reference.

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

 

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

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

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

Luces fotométricas

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

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

– Candelas.
– Luminancias o lumen.
– Luxes.

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

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

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

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

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

Podemos apreciar mejor esta diferencia en el siguiente esquema:

fotometria01

Diferencia entre Lumen y Lux, en 1 mde superficie.

Luces fotométricas en 3DSMAX

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

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

3dsmax_gi009

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

fotometric000

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

fotometric001

Luz aplicada con distribución tipo Spotlight.

fotometric001b

Luz aplicada con distribución tipo Uniform Diffuse.

fotometric001c

Luz aplicada con distribución tipo Uniform Spherical.

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

fotometric002

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

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

fotometric003

Render aplicado con 1.000 Grados Kelvin.

fotometric003b

Render aplicado con 3.500 Grados Kelvin.

fotometric003c

Render aplicado con 10.000 Grados Kelvin.

fotometric003d

Render aplicado con 20.000 Grados Kelvin.

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

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

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

fotometric004

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

fotometric004b

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

fotometric004c

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

fotometric004d

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

fotometric004e

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

fotometric004f

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

fotometric008b

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

fotometric008a

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

fotometric008

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

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

fotometric005

Template 100W bulb (ampolleta de 100 watts).

fotometric005b

Template 4ft Cover Fluorescent (fluorescente).

fotometric005d

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

fotometric005c

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

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

fotometric006

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

fotometric006b

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

Bibliografía utilizada:

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

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

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

– 3DSMAX User Guide reference.

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