20 febrero 2016

Render realista con Blender Cycles

Render interior

Hola!!!
Hace unos meses estuve haciendo un curso de Blender que, para quien no lo conozca, es un programa de modelado 3D (tipo Maya o 3Dmax, pero de software libre), aunque también tiene un motor de juegos interno y herramientas para procesar vídeos y realizar composiciones digitales. Desde blender.org, os lo podéis descargar de forma gratuita.
En este post quiero enseñaros como he hecho este render, que era mi trabajo final. No es que yo sea una experta, ni mucho menos, pero para los que estáis empezando como yo, igual os sirve de alguna ayuda.

Vista general

Esta es la vista de mi escena desde una de las cámaras que tenía preparadas. Antes de poneros a dibujar, tenéis que tener claro que vista queréis mostrar de vuestra escena para no hacer trabajo a lo tonto. Siempre está bien buscar alguna referencia y ver imágenes que os pueden inspirar y dar ideas. 

Ideas ideas

Yo sólo tenía que presentar una imagen y más o menos quería que se viera desde esta perspectiva, con la mesa en primer plano y las estanterías al fondo. Todo lo demás no me hacía falta dibujarlo.


Como veis es una escena muy sencilla. Lo único más laborioso fueron los libros, pero ya lo veremos más adelante.
He distribuido los objetos en varias capas porque me parece más cómodo para trabajar y me gusta tener las cosas ordenadas y puedo hacer pruebas de render con unos elementos sí y otros no de forma fácil.
  • Paredes, suelos y techo, ventanas y en general cosas de estructura.
  • Las tablas del suelo, y otros elementos que completan la habitación.
  • El artesonado del techo lo puse en una capa a parte para trabajar mejor mientras lo modelaba.
  • Muebles y accesorios.

capas

Antes de ponernos a dibujar nada, tenemos que elegir como motor de render la opción de Render Cycles, de la parte superior del interfaz. Cycles está basado en el sistema de trazado de rayos y tiene una forma diferente de creación de texturas, materiales e iluminación. Por eso es importante seleccionarlo antes de cargar ninguna textura o asignar materiales. Gracias a este nuevo motor podemos obtener imágenes mucho más realistas que con el tradicional motor de render que usa Blender por defecto. Además  tiene la opción de realizar el procesamiento mediante la tarjeta gráfica (GPU), lo que nos da mayor rendimiento y más velocidad.

Blender Cycles


Estructura

Esta es la parte más sencilla. Sólo es una caja con unos huecos para las ventanas, que he hecho con un generador de ventanas, que podéis descargaros aquí
Al pinchar en el enlace que os viene, se abrirá una ventana con un script. Dando botón derecho o control+S os lo guardáis en la carpeta de addons de blender, que debería estar en una ruta parecida a esta :

  • C:\ProgramFiles\BlenderFoundation\Blender\2.76\scripts\addons

Una vez descargado, volvemos a Blender y desde file/user preferences/addons. Nos ayudamos del buscador de la izquierda para encontrarlo y lo activamos.

addons

Ahora cuando vayamos a insertar una malla, nos aparecerá la opción de insertar ventanas. Desde el menú de la izquierda podemos configurar varios parámetros para ajustar la ventana a las dimensiones y el modelo que nos guste.

Insertar_malla


Suelo

Mi idea era hacer un suelo rústico de tablas de madera grandes, como las tarimas sobre el entrevigado que todavía quedan en muchos pueblos o casas antiguas. Como una parte del suelo se iba a ver en primer plano, decidí hacer las tablas separadas. Y para hacer el mapeado, elegí una textura de madera con varias tablas para colocar cada una en distinto sitio y así no se repitiera siempre la misma y quedara un poco más real.

tarima tarima

Primero hice una tabla, una caja a la que quité el polígono de abajo, la mapee bien, y después la copié varias veces dejando un poquito de espacio entre ellas. Las uní en una misma malla y para acabar de mapearlas, sólo tuve que colocar el resto en diferentes partes de la textura. Así tenemos una malla con varias tablas pero con diferente mapeado que podemos repetir fácilmente hasta completar todo nuestro suelo.

Suelo


Techo

El techo también era una parte fundamental de mi estancia. Quería que tuviera cierta importancia ya que casi un tercio de la imagen iba a estar ocupado por el techo. Los artesonados siempre me han gustado y dan prestancia y elegancia a un salón formal como este. El de la primera imagen que os he puesto es de estilo más contemporáneo, pero yo quería que tuviera un aire un poco más tradicional.

Techo_Artesonado techo_artesonado

Lo he hecho en dos partes, por un lado lo que serían las vigas y por otro la zona central. Este módulo lo voy repitiendo y así completo todo el techo. Antes de copiarlo hay que ponerle la textura, claro.

artesonado_textura artesonado_textura

En la parte central he hecho coincidir las líneas de mis biseles con los de la textura, para que el efecto del volumen quedara bien. Y en las vigas, sólo hay que colocarlas en la dirección de la madera.


Libros

Para hacer los libros he usado también un add-ons, un generador de libros, similar al generador de ventanas que os he mencionado antes. Os lo podéis descargar desde esta página. Ahí también podéis ver cómo instalarlo y cómo usarlo. 

Libros

Lo malo es que sólo nos hace la malla, la textura tenemos que ponerla nosotros...y es un rollo....jajajaja. Lo bueno es que como se van a ver al fondo de la escena, no tenemos que hacerlo muy perfecto porque no se va a notar la diferencia.


Yo me he creado una textura de varios lomos de libros que he encontrado por internet y he mapeado más o menos cada balda de libros en una fila. 



Y el resto de los objetos tampoco tienen ningún misterio. El sofá y los muebles son fáciles de hacer, pero también los podéis bajar de internet, hay muchas páginas que ofrecen recursos y escenas para blender. 

Y esto es básicamente mi escena.

vista_general



Materiales

En cuanto a los materiales, tampoco hay mucho que contar. Casi todos son de tipo Diffuse BSFD con una imagen añadida. Como el suelo, las paredes o el techo. El cuadro de Klimt y el marco de fotos también son cajas con una textura.

materiales_diffuse

También he usado algunos materiales especiales aplicando los shaders que trae cycles por defecto, que funcionan realmente bien y son muy sencillos de ajustar. 
Para el sofá, por ejemplo, he usado velvet y nada más he modificado el color. O para la parte superior de la mesa y el cristal de la chimenea he puesto Glass, cambiando un poquito el color también.

materiales_velvet materiales_glass

En el marco de la chimenea, usé el shader de glossy con color casi negro, que quedaba muy brillante y me gustaba el efecto. Igual que para el pie de la lamparita.

materiales_glossy materiales_glossy

Los armaritos del fondo y el suelo de madera tienen aplicado un shader que hice para otras escenas y ya lo pongo directamente nada más cambiando la textura. Os dejo la estructura de nodos por si os gusta. En realidad es muy sencillo, es una textura con un glossy añadido para cambiar el valor del brillo y un mapping para cambiar el tamaño. 

material madera

Y por último, el material de las cortinas, que usé una mezcla del trasparent y el translucent con una imagen de lino para que tuviera un poco de textura y pareciera más una tela. Podéis probar uno u otro o una combinación de los dos con diferentes intensidades hasta conseguir el efecto que os guste.

materiales_transparent editor de nodos


Iluminación

Esta parte es la que más suele costar, es difícil encontrar un equilibrio entre la luz ambiental y las luces que necesitemos. En mi caso, como quería una iluminación suave, de la luz que venía desde la ventana, he usado un plano. Pero igualmente podría haber añadido un sol para tener una iluminación más directa.

plano_emisivo

A este plano le ponemos un material emisivo y una textura de un paisaje para simular las vistas desde la ventana. Luego ya es controlar la fuerza de la luz, para que ilumine más o menos. 
A la tulipa de la lamparita también la he puesto como material emisivo para que diera la impresión de estar encendida.

ambient_oclusion ambient_oclusion

Para aclarar un poco la escena y destacar un poco más las superficies, he activado en la pestaña de world, la oclusión ambiental. En esa misma pestaña, un poco más abajo, he marcado la opción de Multiple Importance Sample, que nos ayuda a quitar un poquito de ruido en el render final.


Render

En esta parte lo más importante es considerar el tiempo que vamos a tener renderizando la escena, que puede ser mucho, y la cantidad de ruido que nos parece aceptable. 

Lo primero de todo es elegir el tamaño de nuestra imagen, porque de eso dependerá el encuadre y también el tiempo de renderizado.

Resolucion

Si yo quiero hacer una imagen en Full Hd, de 1920x1080px, me tardará mucho más tiempo que una más pequeña, de 720x576, por ejemplo, como es obvio.
Yo normalmente, en resolución, pongo el tamaño final que quiero para la foto, pero para hacer pruebas y que me tarde menos, lo bajo al 50%, y me sale una imagen de la mitad de tamaño, de 960x540px. Y cuando voy a hacer el render final, lo subo al 100%.


En la pestaña de renderizado podemos configurar las trayectorias de luz o Light paths, que son más o menos el número de rebotes que tiene la luz en cada material. Hay como tres niveles ya configurados: direct light (calidad más baja), full global illumination (calidad media) y limited global illumination (calidad alta). Cuanto más calidad demos, más tiempo nos llevará renderizar la escena.
Si desactivamos las cáusticas, desactivamos los reflejos cáusticos, con lo que nos quedará la escena un poco más oscura pero con menos ruido y se reducirá también el tiempo de renderizado.

Samples

Otra pestaña que tenemos que configurar es la de Sampling. Dentro de samplig podemos elegir entre dos métodos para calcular la iluminación de la escena. El método Branched Path Tracing Integrator, cada rayo de luz que impacta con una superficie tendrá numerosos rebotes que también es necesario calcular. Esto hace que el renderizado sea mucho más lento, pero con menos ruido. Con la opción Path Tracing Integrator, cada rayo de luz sólo tendrá un rebote. Así, el render es un poco más rápido, pero necesitamos poner más samples para eliminar el ruido. Y cuantos más samples pongamos, más tiempo de render necesitaremos. Como veis, es un poco la pescadilla que se muerde la cola...
En este momento es cuestión de hacer pruebas y ver si tener un poco de ruido en la escena nos compensa a cambio de reducir el tiempo de renderizado.
En estas imágenes podéis ver las pruebas que he ido haciendo yo.

low medium alta

Son todas con Limited Global Ilumination. La primera es con 24 samples y tardó unos 15 minutos a media resolución y 50 minutos a 1920x1080px. 
La segunda con 50 samples, estuvo 1 hora con la resolución al 50% y 3 horas y 45 minutos a Ful HD.
Y la tercera es con 75 samples y fueron 2 horas y media más o menos con la resolución a la mitad y 8 horas y 15 minutos a resolución completa.


Postprocesado

Cuando ya tenemos la imagen, podemos retocarla un poco usando algún programa de edición como photoshop que nos ayude a quitar un poco de ruido, dar más luz, etc. Son arreglos que se tarda muy poco en hacer con retoque digital pero que nos consumen mucho tiempo de render si queremos hacerlo desde el modelo 3d.

Render final

Y esto es todo. Como veis, de una forma muy sencilla podemos hacer una escena bastante realista. Desde luego que hay mil cosas que se podrían mejorar, pero no siempre hay tiempo para dejarlo todo perfecto. La zona del fondo todavía tiene un poco de ruido, las cortinas son un poco rígidas, los libros podrían estar mejor mapeados....en fin....podría estar eternamente haciendo mejoras a la imagen y nunca estaría perfecta. Hay que saber cuando parar.

Espero que os haya gustado. Si tenéis cualquier pregunta estaré encantada de ayudaros en lo que pueda!!

Gracias por la visita!!! Volved pronto!!!









Suscríbete al boletín para no perderte nada. Sólo lo mando cuando tengo algún tutorial bonito para enseñarte y la verdad que eso no ocurre muy a menudo así que tranquilo, no voy a saturar tu bandeja de entrada xD. Además, recibirás gratis una lámina imprimible súper bonita para que te lleves la inspiración donde lo necesites. Sólo hay ventajas.

Al suscribirte al boletín formarás parte de mi lsita de suscriptores y me das tu permiso para envierte emails, boletines, cursos y comunicaciones. Yo, Patri, soy la que te enviará todos los emails, pero los datos los guardará Mailrelay, mi proveedor de email marketing. Si lo deseas, podrás darte de baja y no volveré a utilizar tus datos. 

6 comentarios:

  1. Hola Patricia,

    Acabo de conocer tu blog y me gusta mucho. Tu proyecto con Blender me ha encantado, yo necesito aprenderlo para un proyecto (lo tengo que hacer en 3d y a ser posible con una especie de recorrido virtual, que ni siquiera sé si se puede conseguir con Blender). ¿Podrías decirme dónde has estudiado Blender?

    Un saludo :)

    ResponderEliminar
    Respuestas
    1. Hola Atelier
      Me alegro mucho de que te guste el blog. XD
      Yo hice un curso muy cortito aquí en Burgos, que era presencial y aunque estuvo bien sólo nos enseñaron las cosas básicas, lo demás lo fui aprendiendo por mi cuenta. De todas formas es bastante sencillo, sobre todo si ya tienes experiencia con otros programas como 3dmax o incluso Autocad.

      Esta web igual te puede ayudar, es bastante completa y viene con ejercicios:
      http://www.esi.uclm.es/www/cglez/fundamentos3D/02.Modelado.html

      Y lo de hacer un recorrido virtual es muy sencillo, sólo tienes que animar la cámara y hacer que siga una trayectoria. Hay muchos tutoriales por internet que te pueden ayudar. Algo como esto
      https://www.youtube.com/watch?v=kjTy8_vZ6wQ

      Aunque puedes buscar algún otro tutorial que igual te guste más.

      Espero haberte ayudado y que te vaya súper bien con tu proyecto. Me gustaría mucho verlo cuando lo tengas terminado.

      Un saludo.

      Eliminar
    2. Oh, muchísimas gracias! Seguro que me sirve de mucho lo que me envías :) En cuanto a lo de la animación, es más bien que los usuarios puedan entrar en las diferentes estancias de un hotel, hacer clic para entrar en cualquier habitación y poder girar los 360 grados. Ya buscaré con qué hacer eso.

      Cuando esté terminado te lo enseño (espero conseguirlo) :)
      Un saludo y muchas gracias de nuevo!

      Eliminar
    3. Muchas gracias a ti!
      Entiendo que lo que quieres hacer de la visita virtual es más cómo un videojuego, algo interactivo. Blender tiene su propio motor de videojuegos, Blender Game Engine, que te puede servir muy bien para hacerlo. Igual tienes que programar un poquito pero viene con muchas ayudas.
      Mucha suerte, te espera bastante trabajo por delante.

      Un saludo

      Eliminar
  2. Hola pues te quedo muy bien y se ve muy currado pero no realista, algo falla en la imagen final que se nota que es infografico

    ResponderEliminar
    Respuestas
    1. Al final todo es cuestión de seguir trabajando las luces y los materiales y dedicar tiempo...Gracias por tu comentario!

      Eliminar