domingo, 25 de agosto de 2013

Entorno estilo Pocoyó

Render final, con las capas y nodos que se explican en esta entrada.

Pocoyó es una serie de animación, destinada a niños en edad preescolar. Podéis buscarla, si tenéis curiosidad y no la conocéis, en su canal oficial de Youtube. Es una serie que estoy harto de ver, con mi hijo de casi tres años, pero de la que me han llamado la atención unas cuantas cosas, desde el punto de vista de su producción.

Una de ellas es el entorno de la serie, un fondo blanco, que no parece tener final, y que parece ser el suelo, el cielo, las paredes y todo lo que rodea a los personajes. También parece que el mismo entorno ilumina la escena, afectando a la generación de las sombras y a la iluminación de los personajes. Veamos como lograr algo similar en Blender, en esta ocasión lo haremos con el motor interno, en la versión 2.68.

Escena

Se necesitan dos capas de objetos (capas de escena), y dos capas de procesamiento.
  • Capa 1:
    • Personajes y objetos, con sus materiales normales.
    • Una luz tipo sol.
  • Capa 2:
    • Un plano cuyo material sólo reciba sombras (shadows only).
    • Una luz tipo sol, pero ajustada como se explica más adelante.
    • Duplicados de todos los objetos de la capa 1, pero con un material tipo volumen, que sólo emita sombras.
  • Capa de procesamiento 1: sólo procesará la capa 1. Se desmarcará sky, ya que sólo renderizará los objetos iluminados.
  • Capa de procesamiento 2: procesará sólo la capa 2, y en include, sólo tendrá marcados solid y sky. Esta capa sólo va a renderizar las sombras proyectadas en el plano.
Otros parámetros a tener en cuenta:
  • La luz será tipo sun (sol), totalmente vertical, de luz totalmente blanca, y con un valor en energy de 1. La duplicaremos, y pondremos cada luz en una de las dos capas, haciendo los siguientes ajustes:
    • Luz de capa 1, tipo sol, con ajustes por defecto, solo que marcaremos this layer only, tanto en la sección lamp como en shadow. Además, ajustaremos samples a 12 y soft size a 5, para suavizar un poco los shaders.
    • Luz de capa 2, tipo sol, ajustada igual que la anterior, pero marcando only shadow.
  • Horizon color lo convertiremos a un tono casi blanco, con valores de 0.7 en los tres colores básicos.
  • Marcaremos environment light en world, y le daremos un valor sobre 0.5. Esto simulará algo de luz indirecta, suavizando el color de los shaders.
Este render es la capa de procesamiento 1, que contiene sólo los personajes y objetos de la escena, en este caso Suzanne. El fondo es una transparencia.

Este es el render de la capa de procesamiento 2, que contiene las sombras y el blanco (o el color que escojamos) de fondo (world). Con este método, obtenemos la sombra integra, sin cortes por el mismo objeto que la proyecta. De esta manera, al procesarla con blur, no saldrán bordes extraños.

Nodos de composición.

Necesitamos los siguientes nodos:
  • Dos render layers, uno para cada capa de procesamiento.
  • Uno tipo blur, para desenfocar solo la sombra del suelo.
  • Un nodo mix, para mezclar la sombra desenfocada por debajo de los objetos. Importante, hay que marcar el botón include alpha of second input in this operation. Una alternativa es dejar ese botón tal cual está y conectar alpha de la capa de procesamiento 1 con factor del nodo mix.
  • Por último, el necesario nodo composite.
Configuración de los nodos de composición. Hay una manera alternativa de conectar la capa de procesamiento 1 con el nodo mix. Para verla, haz clic aquí.

Este es el resultado de la capa de procesamiento 2, ya desenfocada con el nodo blur. Su mezcla con la capa de procesamiento 1 da como resultado la imagen que encabeza la entrada.

A tener en cuenta, en animaciones

Si queremos hacer una animación con este entorno, simplemente con copiar todos los objetos de la capa 1 a la capa 2 es suficiente, pues se copian también las animaciones respectivas. Esto en animaciones normales de rot, loc y scale, shape keys, y con armaduras. En este último caso, me imagino que habrá que duplicar también el esqueleto, aunque es algo que todavía no he probado. Y en el caso de animación con curvas path supongo que otro tanto de lo mismo.

Ahora bien, si se ha hecho una animación con físicas (como en el vídeo de ejemplo, aquí arriba), antes de duplicar, conviene seleccionar el objeto animado en la vista 3D, y entrar en menú object - animation - bake action. Una vez hecha la operación, conviene eliminar los agentes físicos (viento, fuerzas, etc), y comprobar que el objeto se comporta como se espera, y una vez verificado, duplicar a la capa 2, y asignarle el material para proyectar sombras.

Un problema que me he encontrado con algunas de mis pruebas es que los objetos han salido renderizados con algunos artefactos en su superficie. Aún no he descubierto por qué pasa eso a veces sí, a veces no, pero escalando un poco el objeto que proyecta las sombras en principio queda solucionado. Pero tengo que descubrir qué es, porque esta chapuza no servirá para todos los trabajos en que se presente el problema.

Este tipo de entorno es bastante interesante de cara a presentar un modelo en una animación, o en un render estático, aunque como escenario también puede dar mucho juego, como en la serie animada ya mencionada.

Por curiosidad, he realizado el mismo render, pero con toda la escena en una sola capa, y suavizando las sombras con sampling de la luz. Los resultados son muy parecidos, pero haciéndolo así tarda más de dos minutos, mientras que separando capas y uniendo nodos, apenas ha tardado más de medio minuto.

También puede servir de base para obtener sombras más realistas que las obtenidas de manera nativa, como vimos hace poco, pero con las ventajas de un tiempo de render mucho más reducido, y resultados libres de ruido, aunque puede no servir en todas las situaciones.

4 comentarios:

  1. Excelente material, José. Me va a servir hasta decir basta. Me lo guardo en favoritos. Saludos

    ResponderEliminar
    Respuestas
    1. Comentario original de Mariano Miguel L. de Creaciones Blender. Al eliminar Disqus, me puso a mi como autor.

      Eliminar
  2. Me alegro de que así sea. Yo también tengo pensado algo para esto, aunque no precisamente una serie animada, ¡je, je, je!

    Un saludo y gracias por pasarte.

    ResponderEliminar
  3. ¿Sabes? Estuve mirando una manera mucho más sencilla de hacer esto mismo. Ya la publicaré en la nueva web.

    Por cierto, parece que este tipo de imágenes están patentadas por Amazon. Pero me da lo mismo, si necesito hacer un render así, lo voy a hacer igual, este tipo de imagen se ha hecho toda la vida en los estudios de fotografía.

    ResponderEliminar