Inicio >1. Introduccion2. Modelado3. Materiales e Iluminacion4. Animacion5. Render y Postproduccion
5.6. Metropolis (LuxRender) 5.8. Secuenciador de Vídeo

5.7. Uso de Nodos de Composición

Figura 01. Configuración Nodos de Composición.

Una de las incorporaciones más potentes de Blender en las últimas versiones ha sido el sistema de nodos de composición. Mediante los nodos podemos aplicar diferentes ajustes a los elementos de la escena (que se generan en capas de render), permitiendo un preciso control sobre el resultado final y además, permitiendo realizar optimizaciones sobre diferentes capas.

Por ejemplo, imaginemos que queremos oscurecer más las sombras de la etapa de render, o aumentar el contraste del personaje principal de una escena. Si no utilizáramos nodos, tendríamos que ajustar lso parámetros de iluminación, materiales, etc. hasta conseguir el resultado y generar de nuevo la imagen de toda la escena. Mediante el uso de nodos podemos ajustar multitud de valores distribuyendo la escena en capas de render. De forma conceptual sería el equivalente de disponer de filtros y opciones de retoque de forma aislada para conjuntos de objetos definidos.

Para utilizar los nodos, hay que utilizar una ventana de tipo Editor de Nodos . Hay dos tipos de nodos; los nodos de material (que no hemos estudiado en el curso), y los nodos de composición que veremos ahora. Por defecto, la ventana del editor de nodos se configura para trabajar con nodos de material. El cambio a nodos de composición se realiza en la cabecera de la ventana, pinchando en el icono . Para activar el uso de nodos hay que pinchar además en el botón Use Nodes situado a su derecha. Finalmente hay que indicar a Blender que utilice los nodos de composición en la etapa de Render, activando el botón Do Composite de la pestaña Anim de los botones de render . La Figura 1 muestra un resumen visual de los pasos seguidos.

Capas de Render (Render Layers)

Figura 02. Capas de Render.

El sistema de capas de render es totalmente independiente del sistema de capas de objetos que hemos visto anteriormente, aunque sigue la misma filosofía. Los manejadores de las capas de render se encuentran en la pestaña Render Layers de los botones de render (ver Figura 2).

En la pestaña Render Layers, el primer grupo de botones de capas se corresponde con las capas de objetos que hemos visto (se corresponden con las capas de la cabecera de la ventana 3D). Debajo de estas capas hay una lista desplegable que nos permite crear y activar capas de render. El botón de la izquierda activa o desactiva una capa de render. La lista desplegable nos permite añadir una nueva capa ADD NEW y renombrarlas. El botón de la derecha Single si está activo hará que únicamente se renderice esa capa. Finalmente, el botón sirve para eliminar la capa de render seleccionada.

El siguiente grupo de capas se corresponden con las capas de render. Indican, para la capa que esté seleccionada en la lista desplegable anterior, las capas de objetos que le corresponden. En la Figura 2 por ejemplo, a la capa de render llamada Objetos Principales le asignamos los objetos situados en la primera y segunda capa de objetos.

Figura 03 (Adenda). Toon Rendering.

A continuación hay un grupo de botones que especifican qué elementos van a renderizarse en esa determinada capa. Si se desactiva alguno de estos botones, esos elementos no se tendrán en cuenta para esa determinada capa. Los principales controles de este grupo son:

  • Zmask: Define una capa como máscara y sólo renderizará los objetos que se encuentren situados entre esta capa y el observador. Es útil, por ejemplo, si tenemos una capa de césped y sólo queremos renderizar la parte del césped que está delante de los personajes.
  • Solid: Si está activo, se renderizarán los objetos sólidos. Si no está activo, se tendrán en cuenta luces, halos, etc.
  • Halo: Si está activo, se renderizarán los halos.
  • Ztra: Si está activo se renderizarán los objetos con transparencia Z (la que no está calculada mediante RayTracing, ver sesión 3).
  • Edge: Activa el dibujado de aristas en modo Toon (dibujo animado). Para que se muestre, debe estar activo el botón Edge de la pestaña Output de los botones de render . La Figura 3 muestra un ejemplo de uso de Edge Rendering, basta con activar el botón Edge. El parámetro Eint indica la intensidad del borde. Este tipo de render funciona bien con materiales que utilicen sombreado difuso y especular de tipo Toon.
  • Strand: Activa el renderizado de partículas estáticas (utilizadas para generar césped o pelo).
  • AIIZ: Si está activo, fuerza a calcular el valor del ZBuffer (ver más adelante explicación del ZBuffer) incluso para objetos que no están visibles.

El último grupo de botones (ver Figura 2) definen la parte divertida de trabajar con nodos; las pasadas que se calcularán en esa capa de render. Las principales pasadas son las siguientes (ver Figura 4 con representación de algunas de ellas):

Figura 04. Representación de algunas pasadas.

  • Combined: Si está activo equivale a generar todo en la imagen final.
  • Z: Información del ZBuffer (distancia a la cámara). Ver nota a continuación.
  • Vec: Vector; cómo de rápido se está moviendo el objeto. Resulta útil para el nodo Vector Blur.
  • Nor: Información sobre el vector normal. Útil para simular rugosidades mediante Bump Mapping.
  • UV: Envía información del mapeado de texturas al sistema de nodos, permitiendo cambiarlas sin necesidad de renderizar de nuevo la escena.
  • Index: Permite enmascarar (aislar) objetos para aplicar sobre ellos determinados nodos (ver nodo ID Mask de la categoría Converter).
  • Col: Color básico del objeto sin sombra.
  • Diff: Pasada de color difuso.
  • Spec: Pasada de brillo especular.
  • Shad: Pasada de sombras (tanto traceadas mediante rayos como mapeadas por buffer).
  • AO: Pasada de Ambient Occlusion.
  • Refl: Reflexión de espejos (Mirror).
  • Refr: Refracción de superficies transparentes.
  • Rad: Pasada de Radiosidad.

ZBuffer
¿Qué es el ZBuffer? ¿Para qué se utiliza en Nodos de Composición?
  El ZBuffer se emplea para discretizar la distancia desde la cámara virtual a cada objeto. Se puede representar como una imagen en escala de grises en la que el color negro significa cercano a la cámara y el blanco distancia infinita. Los tonos de gris representan valores intermedios de distancia (ver Figura 4). Es útil para simular algunos efectos, como el de profundidad de campo (Depth of Field DOF), en el que los objetos fuera del foco de la cámara (según la distancia) se muestran desenfocados.

Descripción General de los Nodos

Figura 05. Nodo Mix.

En general, un nodo puede ser visto como un paso en una cadena de montaje que toma unos datos como entrada, realiza alguna operación sobre ellos y ofrece una salida. Los nodos deben conectarse entre sí prestando atención a un código de colores definido:

  • Amarillo: Indica información de color en modo RGBA. Es el tipo de datos más general, muchos nodos tienen conectores amarillos.
  • Azul: Información de representación vectorial (geometría, coordenadas, velocidad...).
  • Gris: Valores numéricos. Se pueden visualizar como una imagen en escala de grises en la que cada píxel toma un único valor.
En el ejemplo de la Figura 5, el nodo Mix toma como entrada (situadas a la izquierda) dos imágenes y un valor numérico (factor de mexclado) y produce como salida una nueva imagen que es mezcla de las dos tomadas como entrada.

Figura 06. Grupos de Nodos.

La gestión de nodos se realiza empleando muchos de los atajos de teclado que se han utilizado en otras secciones de Blender. Para añadir un nuevo nodo Barra Espaciadora Add/... , la eliminación se realiza con el nodo seleccionado y Suprimir, mover un nodo con G o pinchando con sobre él, Shift D lo duplica, etc. Una funcionalidad interesante para organizar los nodos es crear grupos. Mediante Control G creamos un grupo de los nodos que tengamos seleccionados (ver Figura 6). El grupo puede tener un nombre y aparecerá como una "caja negra" (a menos que entremos en modo de edición del grupo mediante Tabulador). Podemos eliminar el grupo y tener de nuevo los nodos de forma individual mediante Alt G.

Ejemplo de Uso

Ficheros asociados:
Fichero base de este ejemplo (650KB)

Antes de estudiar los principales nodos que proporciona Blender, veremos un ejemplo de uso para dejar claro el flujo de trabajo con nodos. Iniciamos la escena y configuramos el interfaz como vimos en la Figura 1 de esta sesión   Video: 00:26. Movemos el mono azul a la segunda capa   Video: 00:41, y activamos para la primera capa de render las dos primeras capas de render   Video: 00:46, para que contenga a todos los objetos. De igual forma, ponemos visibles las dos primeras capas de objetos   Video: 00:48.

Creamos una nueva capa   Video: 00:56 que llamamos SoloMonoAzul   Video: 01:01, e indicamos que esa capa sólo renderizará los objetos de la segunda capa   Video: 01:04. Añadimos en los nodos una nueva entrada Render Layer Barra Espaciadora Add/ Input/ Render Layers   Video: 01:34, con la segunda capa (el mono azul únicamente). Al pinchar en el botón del paisaje situado al lado de la lista desplegable del nodo   Video: 01:38 se actualiza el contenido de la capa (y mostrará sólo el mono azul). A continuación añadimos un nodo de Tono y Saturación Barra Espaciadora Add/ Color/ Hue Saturation Value. Para controlar la salida del nodo añadimos un nodo de salida de tipo Visor   Video: 02:11. Como queremos que únicamente cambie el color del mono (y no del fondo, que por defecto es azul), conectamos la salida del canal Alpha con la entrada del factor   Video: 02:32. Así, la conversión de color sólo se aplicará a los píxeles que sean opacos (Alpha = 1).

A continuación añadimos un nodo que mezcle la cabeza del mono amarilla con el resultado de la primera capa. El resultado final que obtendremos en la etapa de render será el que conectemos al nodo Composite. Es necesario tener un nodo de este tipo, que será sobre el que obtengamos el resultado final del render. En   Video: 03:00 se añade un nodo de tipo Mix, sobre el que conectamos la salida de la primera capa de render y la cabeza de mono amarilla resultado de cambiar el color a la segunda capa de render. Indicamos que el tipo de composición será Color   Video: 03:20 y activamos el botón A para que se utilice la información del canal Alpha (y no se utilice el color azul del fondo de la segunda capa de render)   Video: 03:25.

Figura 07. Animación de Ejemplo.

En la segunda parte del video se añade un poco más de complejidad creando un efecto de brillo alrededor de la cabeza del mono, empleando el canal Alpha de la segunda capa como imagen (recordemos que esta información se puede representar como una imagen en escala de grises). En   Video: 04:15 añadimos un filtro de Blur para desenfocar el canal Alpha de la segunda capa. El resultado se puede ver en el Viewer   Video: 04:33. Activando el botón Backdrop   Video: 04:39 se situa en el fondo de la ventana de nodos la imagen a resolución final que tenga el Viewer utilizado. Queremos "recortar" la silueta del mono para aplicar el brillo resultado del nodo anterior, pero sólo en la parte exterior del mono, no en el interior. Empleamos un nodo de tipo Invert sobre el canal Alpha   Video: 05:16. Las zonas en negro no tendrán influencia sobre el resultado final, mientras que la zona en blanco (máxima intensidad) serán aplicadas. Así, conectamos la salida de este nodo con la entrada de Factor del nodo de composición   Video: 06:01, consiguiendo el resultado esperado. Vemos en   Video: 05:57 que, antes de conectar la salida del nodo Invert, el brillo se aplica, como era esperable, al interior del mono. El resultado final   Video: 06:20, al estar integrado en las etapas de render, es perfectamente animable, como se muestra en la Figura 07.

Player

Categoría Input

Los nodos de esta categoría son muy importantes, porque permiten añadir información nueva al sistema de nodos. Blender dispone de los nodos de entrada mostrados en la Figura 8:

Figura 08. Node / Input.

  • Render Layer: Como se ha mostrado en el video anterior, este nodo permite añadir una capa de render. Mediante el botón del paisaje situado a la derecha de la lista de capas es posible renderizar exactamente esa capa sin tener que actualizar todas las capas de la red de nodos.
  • Image: Permite cargar imágenes, secuencias de imágenes o videos en el compositor de nodos. Mediante este control podremos mezclar el resultado del render con videos o imágenes estáticas existentes.
  • Texture: Este control permite cargar texturas creadas en Blender y usarlas en el editor de nodos. Resulta especialmente útil para trabajar con mapas UV y cambiarlos sin necesidad de renderizar de nuevo todo.
  • Value: Añade un valor constante a los nodos.
  • RGB: Añade un color constante a los nodos.
  • Time: Es uno de los nodos más potentes de entrada. Permite modificar la influencia de los parámetros variables del compositor de nodo según avanza el tiempo. El eje de abcisas representa el tiempo (entre el frame Sta y el frame End), y el eje de ordenadas varia entre 0 y 1. La línea verde vertical representa, como es habitual, el frame actual de la animación. Así, podemos crear cualquier curva que modifique influencia de nodos a lo largo del tiempo. Veremos un ejemplo de su uso en la práctica 10.

Categoría Output

Los nodos de esta categoría permiten visualizar el resultado de toda la cadena de nodos que estemos utilizando. La figura 9 muestra los tipos de nodos de esta categoría:

Figura 09. Node / Output.

  • Composite: Es el nodo más importante de esta categoría. Blender utiliza este nodo como nodo final de la cadena, y será el resultado que obtengamos cuando iniciemos el proceso de render F12 o de animación ANIM en los botones de render .
  • Viewer: El previsualizador de resultados parciales. Muy útil para comprobar qué vamos obteniendo en cada etapa.
  • SplitViewer: Permite comparar el resultado de dos imágenes, partiendo la imagen resultado en horizontal o vertical.
  • File Output: Mediante este nodo podremos guardar resultados de nodos intermedios, sin necesidad de conectar su salida con el nodo Composite. Es útil si queremos almacenar, a la vez que se guarda el resultado final, imágenes intermedias del proceso de trabajo con nodos.

Categoría Color

Este grupo de nodos son ampliamente utilizados para mezclar el resultado de capas y aplicar ajustes de brillo, contraste, saturación, etc. Los nodos de esta categoría existentes en Blender se muestran en la Figura 10:

Figura 10. Node / Color.

  • RGB Curves: ESte nodo permite utilizar curvas para ajustar el color de los píxeles de la imagen de entrada de forma combinada o por canales.
  • Mix: Permite mezclar dos imágenes empleando 16 modos diferentes de mezclado, con un comportamiento similar a los modos de mezclado de Gimp o de otras aplicaciones de retoque fotográfico. Como se ha visto en el video de ejemplo anterior, la imagen que se conecta en el conector superior del nodo es la imagen de fondo, y la que se conecta en la parte inferior aparecerá al frente.
  • Hue Saturation: Permite modificar el valor del tono y saturación de la imagen de entrada.
  • Bright Contrast: Permite modificar el valor del brillo y contraste de la imagen de entrada.
  • ZCombine: Permite combinar dos imágenes basándonos en la distancia a la cámara (ZBuffer). El valor de profundidad puede ser un canal de entrada o establecer un valor fijo.
  • Invert: Invierte los valores de color de la imagen de entrada.
  • Alpha Over: Combina las imágenes empleando el canal Alpha. Es similar al nodo Mix visto anteriormente.

Categoría Vector

Este grupo de nodos permiten trabajar con información 3D. El uso de este tipo de nodos se escapa del nivel de este curso. Únicamente trabajaremos con el nodo Map Value para simular profundidad de campo en la práctica 10.

Figura 11. Node / Vector.

Categoría Filter

Otro grupo de nodos muy interesantes son los de esta categoría. Permiten realizar multitud de operaciones típicas de programas de diseño y retoque fotográfico, como detección de bordes, desenfoque, etc. Este grupo de nodos es uno de los más potentes y versátiles de Blender. Los nodos existentes en esta categoría pueden verse en la Figura 12.

Figura 12. Node / Filter.

  • Filter: Este primer nodo permite aplicar multitud de efectos básicos como enfoque, suavizado, detección de bordes... La operación a realizar se selecciona en la lista desplegable.
  • Blur: Permite realizar un desenfoque uniforme en la imagen empleando diferentes algoritmos de desenfoque (seleccionables en la lista desplegable). Es necesario indicar en X y en Y la cantidad de desenfoque en cada eje.
  • Vector Blur: Permite calcular Motion Blur de una forma mucho más rápida que como vimos en la sesión anterior. Requiere activar Vec en el grupo de botones de la pestaña Render Layers del grupo de botones de render . Blender utiliza esa información de velocidad Speed para calcular el desenfoque debido al movimiento. Es interesante activar el botón Curved del nodo (ver Figura 12) para obtener trayectorias del Motion Blur más realistas.
  • Defocus: Es el modo sencillo de simular profundidad de campo. Veremos su uso en la Práctica 10.

Categoría Convertor

Mediante los nodos de esta categoría es posible realizar operaciones como separar los canales RGB de una imagen, convertir una imagen a escala de grises, etc. Uno de los nodos más útiles de esta categoría es el ID Mask. Permite obtener una máscara Alpha para el objeto que tenga un determinado identificador. Este identificador se asigna en la pestaña Object and Links, en la propiedad PassIndex de los botones de objeto . La capa de render debe tener activado el botón Index para obtener la propiedad IndexOb. Este modo de aislar objetos ese muy interesante en escenas complejas, y muy rápido en escenas simples.

Figura 13. Node / Convertor.

Categoría Matte

Los nodos de esta categoría están orientados a ser utilizados para aislar partes de una imagen empleando colores clave. Se emplean típicamente para recortar imagen real y utilizarlas integradas en escenas 3D.

Figura 14. Node / Matte.

Categoría Distort

Finalmente los nodos de esta categoría permiten aplicar manipulaciones básicas en la imagen como rotar, recortar, escalar, así como distorsiones de lentes y cambio de texturas (el nodo de Map UV requiere que se active la pasada UV en la capa de Render. El uso de estos nodos es, en su mayor parte, intuitivo.

Figura 15. Node / Matte.

5.6. Metropolis (LuxRender) 5.8. Secuenciador de Vídeo