Visualización de la escena y renderización

  • Álvaro Ulldemolins

PID_00210910

Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia de Reconocimiento-NoComercial-SinObraDerivada (BY-NC-ND) v.3.0 España de Creative Commons. Podéis copiarlos, distribuirlos y transmitirlos públicamente siempre que citéis el autor y la fuente (FUOC. Fundación para la Universitat Oberta de Catalunya), no hagáis de ellos un uso comercial y ni obra derivada. La licencia completa se puede consultar en http://creativecommons.org/licenses/by-nc-nd/3.0/es/legalcode.es

1.Proceso de renderizado

1.1.Parámetros comunes

El último paso de todo el trabajo realizado en MAX es siempre el render. Durante este proceso la geometría se llena de color, las luces y las cámaras hacen sus recorridos, aparecen las sombras, los materiales y los efectos de iluminación. Se trata, pues, del momento culminante de todo el proceso, y vale la pena perder un poco de tiempo ajustando los parámetros necesarios para obtener resultados adecuados.
76531_m1_203.jpg
Podemos acceder a la ventana de configuración de la renderización de varias formas: por medio del menú Rendering > Render Setup, a través de los iconos situados en la barra de herramientas principal o simplemente pulsando la tecla F10. Cualquiera de estas opciones nos hará aparecer la ventana de Render Setup.
Al entrar en la ventana de configuración del render, podemos ya observar que los elementos pueden variar. Observad la imagen siguiente; veréis que las solapas de render setup no tienen el mismo contenido. Ello es debido al hecho de que se usarán motores de render distintos, Default Scanline Renderer en el primer caso y Mental Ray Renderer en el segundo. Ambos motores de render vienen ya incluidos de origen en 3DS MAX.
76531_m1_204.jpg
A pesar de las diferencias que pueda haber entre un motor y otro, esto no es obstáculo para que no contengan algunas características comunes a ambos. Todos estos parámetros comunes se encuentran dispuestos en la solapa Common Parameters. Será mediante las diferentes partes que encontraremos en esta ventana que podremos exportar nuestro resultado. Veamos, pues, qué es lo que permite hacer cada una de estas partes.
El apartado Time Output permite introducir los fotogramas que vamos a exportar. Sus opciones son:

Single

Exportará un único fotograma. Dicho fotograma será el que se encuentre visible en el momento de la renderización.

Active Time Segment

Renderizará todo el rango de fotogramas actual, tal y como aparece en la línea de tiempo.

Range

Renderizará todos los fotogramas entre los dos números, ambos incluidos, que especifiquemos.

Frames

Renderizará fotogramas no consecutivos, si están separados por una coma entre ellos o bien rangos de fotogramas, si están separados por guiones.

Every Nth Frame

Establece cuántos fotogramas se van a renderizar. Por defecto, el valor de este campo es uno, lo cual significa que van a renderizarse todos los fotogramas. Si estableciéramos este valor por ejemplo a cinco, solamente se renderizaría uno de cada cinco fotogramas.

File Number Base

Permite especificar un número de archivo base a partir del cual se incrementará el nombre de archivo de salida. Esta es una opción muy interesante si vamos a exportar secuencias de imágenes fijas, ya que por medio de ella podemos adjudicar una numeración correcta que enlace con la que podamos ir arrastrando de renders de archivos anteriores y hacer así que las numeraciones de ambos renders sean consecutivas. Ello facilitará mucho la inserción correcta de estas imágenes en otros softwares como pueden ser After Effects, Premiere o Final Cut.

76531_m1_205.jpg
El apartado Area to Render permite especificar el área de contenido que tendrá la exportación. Sus posibilidades son:

View

Renderiza únicamente la vista completa de la ventana de visualización seleccionada.

Selected

Renderiza los objetos seleccionados de la ventana de visualización activa.

Region

Permite definir un área concreta que debe renderizarse. Para ello, coloca en dicha ventana un marco con unos puntos que pueden moverse hasta encuadrar lo que queremos renderizar.

Crop

Es similar al anterior, pero no incluye los tiradores.

Blowup

Incrementa el tamaño de una región definida hasta llenar completamente la ventana de renderización. La relación de aspecto que tiene el aumento que sufren las imágenes finales está directamente ligada al formato de exportación.

76531_m1_206.jpg
Desde el apartado Output Size podemos especificar las dimensiones que va a tener nuestro render final. Las opciones que ofrece esta apartado son las siguientes:
76531_m1_207.gif
76531_m1_208.jpg
Aunque hemos visto que disponemos de infinidad de presets muy adaptables a los sistemas actuales, es conveniente saber moverse en este apartado usando salidas personalizadas, puesto que los sistemas varían constantemente y MAX, por ejemplo, no dispone de ningún preset de salida apto para PAL de formato 16:9, ya que la relación de aspecto de píxel que tiene para el formato PAL-D1 es de 1,06667, mientras que la relación de aspecto de píxel en el formato panorámico del sistema PAL es de 1,4587. Esto significa que, por ejemplo, una esfera perfecta renderizada para formato PAL se verá bien en un televisor de proporciones 4:3, mientras que en un televisor de pantalla panorámica se verá completamente chafado.
76531_m1_209.jpg
El apartado Options hace una comprobación de los elementos que deben renderizarse. Sus apartados son:

Atmospherics

Renderiza los efectos atmosféricos que se hayan podido aplicar a la escena como, por ejemplo, niebla.

Effects

Renderiza los efectos aplicados en la renderización, como puede ser el desenfoque de movimiento.

Displacement

Renderiza los mapeados de desplazamiento contenidos en el archivo.

Video Color Check

Comprueba si se sobrepasan los colores límite que pueden ser mostrados en los sistemas PAL y NTSC, según hayamos definido en Output Size. En caso de encontrar valores superiores a los admitidos en el sistema indicado, los reajusta directamente para una correcta visualización.

Render to Fields

Renderiza el archivo en base a los dos campos que contiene una imagen de vídeo en lugar de hacerlo en base a imágenes (fotogramas) fijas, como sería el caso de una salida a ordenador o a cine.

Render Hidden Geometry

Renderiza todo aquello que se encuentra en la escena, aunque esté oculto o congelado.

Area Lights/Shadows as Points

Permite que todas las luces y las sombras sean consideradas como si fueran emitidas por ayudantes de punto, acelerando así el tiempo de renderizado.

Force 2-Slided

Hace una renderización de todas las caras de los objetos, aunque no vayan a mostrarse en la imagen final. Habitualmente, es mejor dejar esta opción desactivada a no ser que precisemos renderizar las caras exteriores e interiores de alguna malla concreta.

Super Black

Emplea el valor de la preferencia Supernegro como umbral de oscuridad de la escena renderizada. Esta opción se emplea, generalmente, en archivos que van a ir destinados a programas de composición de vídeo, como pueda ser After Effects u otros programas que precisan de un negro puro para el fondo sobre el que aplicar Mattes de Luma. En este caso, es preciso que todos los objetos situados sobre dicho color negro sean inferiores al negro puro para no confundir al Matte que se aplicará.

76531_m1_210.jpg
El apartado de iluminación avanzada, Advanced Lighting, permite usar iluminación avanzada cuando está activada la casilla de verificación. De ser así, MAX incorporará, durante el proceso de renderización, la radiosidad y los diferentes tratamientos que hayamos podido añadir a las luces.
Si activamos la casilla de cálculo de iluminación avanzada si hace falta, Compute Advanced Lighting When Required, MAX únicamente calculará la radiosidad cuando la iluminación del fotograma así lo requiera. Habitualmente, cuando renderizamos un rango de fotogramas MAX, calcula la radiosidad durante el primer fotograma. Si en una animación va a ser necesario volver a calcular la iluminación avanzada debido, por ejemplo, a cambios de escenario y/o de cámaras o luces de forma súbita o importante, es conveniente activar esta opción.
76531_m1_211.jpg
El apartado Bitmap Proxies indica cómo va a usar MAX los mapas. Si Bitmap Proxies está desactivado, Disabled, Max usará los mapas a la más alta resolución posible. Para cambiar esta opción, es necesario hacer clic en el botón Setup. Ello abrirá un nuevo cuadro de diálogo con la configuración que queremos que tengan los mapas gestionados por MAX.
Resulta mejor no activar esta opción, pues los mapas de bits siempre pierden calidad cuando se les aplica un reescalado. Sin embargo, en aquellas ocasiones en que queremos obtener resultados en formatos pequeños, puede ser ventajoso gestionar los mapas de bits desde este apartado ya que, de lo contrario, estarán alargando tiempos de render innecesarios.
En el cuadro de diálogo que se abre al hacer clic en Setup existe una opción interesante: indicar que solamente se use Bitmap Proxies en aquellas imágenes que sobrepasen unas medidas concretas expresadas en píxeles. Esto facilita que puedan usarse imágenes que provienen de cámaras de alta resolución sin tener que redimensionarlas en softwares de tratamiento de imágenes como puede ser Photoshop. Además de esto, por medio del desplegable de Render Mode, podemos determinar cómo va a gestionarse el uso de las imágenes gestionadas por Bitmap Proxies durante el proceso de renderizado.
76531_m1_212.jpg
El apartado Render Output es de los más importantes de este panel, ya que será a través de este panel que indicaremos a MAX dónde vamos a exportar el archivo renderizado y qué tipo de archivo queremos generar. Esto lo haremos a través del botón Files. Al hacer clic sobre él, se abrirá un cuadro de diálogo que nos permitirá indicar el nombre, ubicación y tipo de archivo que queremos generar.
76531_m1_213.jpg
Desde el momento en que escribamos o seleccionemos la extensión propia del tipo de archivo que generemos, en el cuadro de diálogo de asignación del nombre del archivo se hará activo el botón Setup. Dicho botón nos dará acceso a la ventana propia del tipo de archivo generado. MAX siempre nos obliga a pasar por este botón, de forma que aunque no hagamos clic en él, sino que escojamos directamente aceptar, MAX nos abrirá la ventana de configuración de las características del tipo de archivo seleccionado.
Es fácil suponer que, dado que las renderizaciones pueden obtenerse en diferentes formatos, las posibilidades de las ventanas de configuración de cada tipo de extensión de archivo son muy variadas y sería prácticamente imposible mostrarlas todas.
Lo que sí es importante es que tengáis presente que las características van a variar mucho si escogéis una exportación en base a una secuencia de imágenes fijas, o bien si exportáis directamente a vídeo, por ejemplo. Mientras que, en el primer caso, únicamente se os preguntará por la calidad de la imagen y/o la profundidad de color, en el segundo deberéis seleccionar el codec adecuado según lo siguiente: por una parte, los codecs que tengáis disponibles en vuestra máquina, y por otra, en función de lo que hayáis estado trabajando y el destino final que va a tener el mismo.
En la imagen siguiente, podéis ver la interfaz de configuración de archivos de Quicktime (*.mov) y de archivos de vídeo de Microsoft (*.avi).
76531_m1_214.jpg
Siguiendo aún en este mismo apartado, encontramos una casilla de verificación que nos permite poner un archivos en forma de lista de salida –Put Image File List(s) in Output Paths(s)– y nos deja escoger entre dos formatos. El formato imsq es el formato actual de salida de las versiones más recientes de Max; el formato ifl es el formato que se usaba en versiones antiguas. Los archivos generados pueden crearse en el momento de realizar el render o bien en este mismo momento. Para ello, debemos hacer clic en el botón Now de este mismo apartado. Esta secuencia de archivos solamente puede crearse si en Files se ha establecido, como tipo de archivo de salida, una imagen fija.
76531_m1_215.jpg
El botón Devices de este apartado da acceso a dispositivos de vídeo externos, como puedan ser magnetoscopios o cámaras de vídeo con entrada de señal externa a los cuales envía, directamente, el resultado del render. Para poder usar esta opción, es conveniente que el dispositivo esté correctamente instalado en el ordenador antes de ejecutar el programa.
76531_m1_216.jpg
Para finalizar este apartado, cabe decir que las tres casillas de verificación: Rendered Frame Window, Net Renderer y Skip Existing Images, hacen referencia a mostrar la salida renderizada, permitir la renderización en red y saltar, durante el proceso de renderizado, aquellas imágenes que ya se hayan renderizado previamente y se hayan guardado en el disco.
76531_m1_217.jpg
El siguiente apartado con el que nos encontramos en la solapa Commons permite saber el estado de una renderización mediante un mensaje de correo electrónico enviado en función de lo que se especifique en las casillas de verificación de la izquierda. En el caso de la imagen, solamente se enviaría un mensaje en el caso de que ocurriera un error durante el proceso de renderizado. Si, además, se hubieran marcado las otras dos casillas, se enviaría un mensaje cuando hubiese terminado el render (en el caso de la activación de la última casilla) y también se enviaría un mensaje de forma automática cuando se hubiera llegado al renderizado del fotograma 2000 (en el caso de la activación de la primera casilla).
76531_m1_218.jpg
Por lo que respecta al apartado Scripts, permite ejecutar de forma automática scripts de programación inmediatamente antes de hacer el renderizado o justo después de éste. La adición de los scripts de programación debe hacerse por medio del botón File correspondiente. Un script asignado puede eliminarse mediante su selección y la pulsación del botón de la cruz situado al lado del botón Files. Tanto los scripts pre-render como los post-render se aplicarán en el mismo orden en el cual hayan sido añadidos.
76531_m1_219.jpg
El último apartado de este largo e importante panel hace referencia al motor de render que se aplicará. Aunque sus parámetros son muy pocos, es otro de los apartados más importantes del panel, ya que en función de lo que escojamos aquí obtendremos un resultado correcto o un mal resultado.
76531_m1_220.jpg
El apartado Production muestra el renderizador actual con el que se hará el render de alta calidad. Este renderizador acostumbra a estar ligado al apartado Material Editor. Ello permite que, si en algún momento trabajamos usando un material que no va a ser admitido en el render final, no se muestre dicho material en la ranura correspondiente del editor de materiales. Si en algún momento queremos que estos elementos no se mantengan en correspondencia, simplemente hemos de desactivar el candado que bloquea el renderizador de Material Editor.
La tercera y última opción muestra el renderizador que se va a usar para realizar renders de prueba a baja resolución.
Para cambiar el motor de render debemos hacer clic en el botón de puntos suspensivos correspondiente; ello nos dará acceso a una ventana con una lista de todos los renderizadores disponibles en el ordenador en el que estamos trabajando. Deberemos seleccionar el motor de render con el que queremos trabajar y aceptar esta ventana.
La opción Save as Defaults guarda todas las configuraciones actuales del render y las aplica como configuración por defecto cuando reiniciemos el programa.

1.2.Renderizador Scanline

Ya hemos mencionado antes que el panel Commons pertenecía a los parámetros comunes de todos los motores de render disponibles en MAX. Ahora veremos las principales funciones específicas que tiene el motor de render Scanline. Recordemos que este es el motor de render que 3DS MAX usa por defecto.
Activad la solapa Renderer para acceder a sus propiedades específicas. El primer apartado es Options. En él, se incluyen opciones que permiten activar o desactivar de forma global, afectando por tanto a todos los elementos de la escena, los mapeados de los objetos, las sombras, la reflexión y refracción automática, así como las simetrías y la representación alámbrica, esto es, representar la malla como resultado final. En este caso, además, podemos indicar el grosor que deseamos que tenga la línea de la malla.
76531_m1_221.jpg
Observad que, aparte de todo ello, hay una última casilla de verificación identificada bajo el nombre de Enable SSE. Si se activa esta casilla, MAX usará extensiones concatenadas Streaming SIMD (instrucción sencilla de datos múltiples), permitiendo así acelerar un poco el proceso de renderizado.
A continuación de este primer apartado, encontramos el panel Antialiasing. Los filtros antialias tienen la misión de suavizar el efecto de escalonado que se produce en las imágenes vectoriales cuando se exportan a mapas de bits. Así pues, la primera casilla indica al renderizador que debe tener en cuenta el filtrado antialias. La segunda casilla de verificación indica el tipo de filtrado que se hará a las imágenes finales.
76531_m1_222.jpg
Los tipos de filtrado que pueden hacerse durante el procesado con este renderizador son:

Area

Calcula el área sobre la que se aplicará el filtrado en función del valor establecido en el cuadro Filter Size.

Blackman

No mejora la suavidad de los bordes, sino que lo que hace es intensificar la imagen en un área de 25 píxeles.

Blend

Lo que hace es mezclar el resultado obtenido por medio del valor de Filter Size con el valor de un nuevo campo específico de este filtrado, el cual aparece cuando seleccionamos este tipo de suavizado.

Catmull-Rom

Es idéntico al filtrado Blackman, pero en este caso sí que incluye mejora en el suavizado.

Cook-variable

Es uno de los mejores filtrados, ya que permite conseguir desde resultados con aristas muy duras, si el valor de Filter Size es muy bajo, y otros resultados muy suavizados cuando Filter Size tiene valores muy elevados.

Cubic

Produce efectos de desenfoque.

Mitchel - Netravali

Este es otro de los grandes filtros que contiene este renderizador. Incluye parámetros de desenfoque y de eco.

Plate MAX

Hace corresponder los objetos mapeados contra el fondo según se usa en MAX R2.

Quadratic

Produce un desenfoque en un área de nueve píxeles.

Sharp quadratic

Funciona a la inversa que el anterior, provocando un área de enfoque de nueve píxeles.

Soften

Genera desenfoques gaussianos en función de Filter Size.

Video

Desenfoca la imagen usando un filtro de 25 píxeles, especialmente optimizado para los sistemas PAL y NTSC.

El siguiente apartado con el que nos encontramos es el de supermuestreo, Global SuperSamplig. Este apartado realiza un suavizado global a todos los materiales. Si no es imprescindible su uso es mejor no activarlo, ya que prolonga los tiempos de render hasta hacerlos interminables. Además de ello, si activamos esta opción se desactivará cualquier filtro que hayamos puesto en el apartado antialias.
76531_m1_223.jpg
Los dos apartados siguientes están destinados a la aplicación del mismo tipo de filtro, el Motion Blur. La aplicación de este filtro es indispensable si aquello en lo que trabajamos está destinado al cine. Las imágenes cinematográficas siempre tienen un punto de desenfoque de movimiento que les da un acabado más arenoso, menos nítido. Las imágenes videográficas son más secas, con bordes más duros y definidos tal y como sucede con las imágenes obtenidas desde un ordenador. Estas diferencias hacen que si intentamos fundir ambos tipos de imagen sin controlar, ese pequeño desenfoque de movimiento siempre notemos la diferencia entre las imágenes de un origen y las de otro.
76531_m1_224.jpg
Las últimas opciones que encontramos en este panel del renderizador permiten indicar lo siguiente:
  • Por un lado, la cantidad de iteraciones que se realizarán de los mapas de reflexión y refracción. Cuanto más elevado sea el número de iteraciones, más tiempo de render requerirá cada fotograma.

76531_m1_225.jpg
  • Por otro lado, podemos escoger el límite de rangos de color que quedan afectados por los brillos de los materiales después de haber aplicado los diferentes filtros. El método Clamp limita los valores reduciendo éstos en las zonas próximas. El método Scale escala todos los valores de la imagen, distribuyéndolos proporcionalmente entre el valor máximo y el valor mínimo de la misma.

La última casilla del panel permite ahorrar memoria del sistema y permitir así que el renderizado, aunque será más lento, pueda ejecutarse en segundo plano y nosotros podamos entretanto seguir trabajando en otra aplicación.
Además de esta solapa, Scanline dispone de otras tres:
  • La primera es Render Elements, con la cual podemos aplicar efectos especiales e indicar que queremos incluir en el renderizado elementos que no están directamente en la escena. Cuando hacemos clic en Add, nos aparecen un conjunto de elementos que podemos añadir. También podemos añadir elementos que ya hayan formado parte de otro archivo de Max haciendo clic en el botón Merge. A partir de ahí, deberemos escoger el archivo origen y Max nos enseñará los efectos que se hayan añadido.

76531_m1_226.jpg
  • La siguiente es Raytracer; los parámetros del apartado Raytracer Global Parameters controlan el propio trazador de rayos en su conjunto, con lo que afectan a todos los materiales y mapas Raytrace de la escena. También afectan a la generación de sombras de Raytrace avanzadas y sombras de área. Uno de los parámetros a tener muy en cuenta es la profundidad del rayo; cuanto más elevado sea el número, más cantidad de rebotes efectuarán los rayos de luz y aumentará, por tanto, sus rangos de influencia. Un valor elevado puede o no ayudar a aumentar el realismo de la escena. Lo que sí que es seguro es que aumentará el tiempo de renderizado.

  • La zona de transición, Cutoff Thresold, determina el umbral de separación para las afectaciones de los rayos de luz. Si la aportación de un rayo al color de píxel en el que rebota es inferior al umbral de separación, la afectación queda automáticamente eliminada y el píxel no varía su color.

76531_m1_227.jpg
Raytracer es muy versátil debido al amplio rango de efectos de iluminación que puede procesar. Puede controlar con bastante acierto las características globales de la iluminación directa, sombras, reflejos y refracciones mediante materiales transparentes y semitransparentes. Para hacer un buen uso de este sombreador, solamente debemos usarlo en dos casos. El primero es en los objetos que tienen incorporado el sombreador Raytracer, ya sea como material primario o como submaterial de otro material. El segundo caso es con las luces, usándolo en esta ocasión como método de renderización de las sombras proyectadas por éstas. En ambos casos, podremos acceder a los parámetros del sombreador para ajustarlo a las necesidades de cada uno de estos elementos.
76531_m1_228.jpg
Por último, por medio de la solapa Advanced Lighting, podemos controlar la radiosidad de los objetos de la escena. La radiosidad es una tecnología de renderización que emula, con altas dosis de realismo, la forma en que la luz interactúa en un entorno determinado. La iluminación mediante parámetros de radiosidad produce simulaciones fotométricas mucho más precisas que la iluminación producida por Raytracer. Efectos como la luz indirecta, las sombras suaves o la interacción de los colores de dos objetos producen imágenes con un elevado grado de realismo, puesto que es así como las vemos en la realidad.
Trabajar en base a la radiosidad implica que el ordenador calculará la intensidad, tono y color de luz que reciben todas y cada una de las superficies del entorno que estemos renderizando. Este efecto se consigue dividiendo las superficies originales en una malla de superficies menores llamadas elementos. Lo que hará el efecto de radiosidad será calcular la cantidad de luz distribuida desde cada uno de estos elementos respecto a otros situados cerca, almacenando los valores obtenidos para cada uno de los distintos elementos.
Además de todos estos parámetros, podemos encontrar todavía algunos más por medio del menú Customize > Preferences > Preference Settings. En el apartado Rendering encontraréis opciones que os permitirán comprobar desde el nivel de color soportado en el vídeo del sistema para el que vayáis a trabajar hasta el campo que se exportará primero.
76531_m1_229.jpg