3DSMAX Tutorial 07, parte 2: Sombreados en iluminación En el mundo real, la iluminación afecta nuestras vidas desde ángulos muy variados: permite distinguir siluetas y formas, afecta nuestros estados de ánimo (por ejemplo, las luces de una discoteca), nos alerta sobre peligros u otras indicaciones (semáforo, sirenas, etc.), nos entretiene, etc. Existen muchas fuentes de luz natural y artificial que nos generan muchas variables de iluminación. Intentar emular esas variables en un espacio 3D es el objetivo de las herramientas de iluminación en 3DSMAX. El programa basa a su representación de la iluminación en el ángulo que inciden los rayos en las caras de los objetos. Si este ángulo es perpendicular la iluminación es máxima, en ángulos menores esta irá decreciendo hasta desaparecer cuando los rayos queden tangentes a la superficie. En la segunda parte del tutorial veremos los tipos de sombreados de las luces standard y sus parámetros más importantes. Tipos de sombreado Todas las luces standard a excepción de Skylight comparten parámetros comunes de sombreado que son los siguientes: Shadows On/Off: en este caso habilitamos o deshabilitamos la proyección de sombra y además podremos elegir el tipo de estas. Al clickear en Use Global Settings, habilitamos la sombra de tipo Shadow Map por defecto.
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. Mental Ray Shadow Map: Similar al primero pero se utiliza junto al motor de render Mental Ray.
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. 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. 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. 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. 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. 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. Render realizado con sombras de color amarillo.
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. Render realizado con Dens. en valor 0,5. Map: nos permite seleccionar una imagen (Bitmap), un mapa o video y proyectarlos como sombra.
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. Render normal de Shadow Map, con Bias en 1.
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. 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. 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. Render normal de Ray Traced Shadow, con Bias en 0,2. 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. 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.
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. 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. 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. 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.
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. Rectangle Light: A partir de la luz, proyecta los rayos siguiendo una matriz rectangular. Es la opción por defecto.
Disc Light: A partir de la luz, proyecta los rayos siguiendo una matriz circular. Box Light: A partir de la luz, proyecta los rayos como si fueran una caja. Sphere Light: A partir de la luz, proyecta los rayos como si fueran una esfera.
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. 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.