Árboles para infoarquitectura. Arbaro + Blender + Yafray

Uno de los problemas más comunes a la hora de realizar exteriores es la vegetación. El equilibrio entre el tiempo de render y lo realista de la imagen resultante se complica cuando queremos añadir árboles a nuestra escena. Uno de los trucos tradicionales para evitar estos problemas es colocar planos, con imágenes de árboles, perpendiculares a la cámara. Este sistema es barato en cuanto a tiempo de render y nos da soluciones bastante aceptables de calidad. Eso sí, para animaciones habrá que buscar otra cosa.

Bosque


Para llevar a cabo esta forma de trabajo necesitamos imágenes de árboles con una máscara que contenga el canal alpha. Hay varias formas de conseguirlas. Podemos comprarlas directamente ya preparadas, en cualquiera de las webs en las que venden cd’s de texturas encontraremos, podemos sacar fotos nosotros mismos y luego realizar la máscar con mucha paciencia, o podemos intentar montarnos nuestro árbol 3D y luego renderizarlo usando el Background como canal alpha. Éste último método es el que voy a explicar ahora.

Para empezar vamos a necesitar árboles en 3D que sean bastante convincentes, y eso es casi imposible de hacer “a mano”. Así que podemos usar Arbaro, que es multiplataforma, GPL y bastante sencillo de utilizar. Necesitaremos tener JAVA instalado para ejecutarlo, podeis encontra la última versión aquí.

Árbol generado con Arbaro 1Palmera con ArbaroBlack tupelo generado con Arbaro

Arbaro se puede conectar directamente con Povray para renderizar a imagen, pero nosotros sólo vamos a utilizar la opción de exportación a .OBJ para cargarlo luego en Blender. Para crear nuestros primeros árboles con Arbaro podemos cargar algunas de las definiciones que vienen con el programa, con extensión .xml, y que ya dan unos resultados muy buenos.

Abrir defs de Arbaro

Luego pulsaremos en el icono del árbol oscuro y exportaremos a .OBJ. Para que exporte el mapa UV del tronco y de las hojas marcamos for Stems y for Leaves en UV-coordinates. Aprovecharemos para decirle también la ruta donde nos guardará el .OBJ resultante.

ExportOBJ

Define Path and UV coordinates

Una vez ya hemos creado el .OBJ lo importamos en Blender con Import>Wavefront (obj) y ya tendremos el árbol en Blender. Nos encontramos con la ventaja de que toda la geometría ya tiene un UV map asociado, así que si seleccionamos las hojas y entramos en UV Face Select (F) podremos ver en el Image Editor (mayúsculas+F10) como todas las hojas comparten el mismo mapeado, así sólo necesitaremos la imagen de una hoja y en un momento tendremos la textura lista.

UV Face Select + Image Editor

Lo mismo haremos para el tronco y las ramas, con las imágenes correspondientes. Las texturas procedurales no son aconsejables si queremos conseguir un árbol que parezca mínimamente real.

Antes de lanzar el render pintaremos las hojas y el tronco entrando en el estado Vertex Paint de cada una de sus mallas. La idea es conseguir distintas tonalidades y romper la monotonía que provoca que todas las hojas tengan la misma textura. Blender nos muestra las opciones del pincel en el Menú Editing (F9), en él podemos cambiar el color, tamaño y opacidad del pincel con el que pintar los vértices con color. Aplicando colores verdosos, amarillentos y anaranjados (dependiendo del tipo de árbol) tendremos la variedad que buscamos.

Vertex Paint en Blender

Como apunte, es bueno pintar la base del árbol de un marrón oscuro para compensar la iluminación excesiva que se producirá en esa zona al realizar el render sin una malla que simule el suelo.

Para manejar la incidencia que tendrán los colores que hemos pintado sobre el modelo tenemos que indicarlo en el material de cada malla. Vamos a los Material Buttons dentro del menú Shading (F5) y activamos la opción VCol Paint. Además debemos acordarnos de añadir la textura que antes hemos mapeado, indicando que use como coordenadas de textura la opción UV, y bajaremos la influencia del color de la textura para que los colores pintados influyan en el render. El valor dependerá del resultado que queramos obtener. En el ejemplo que adjunto, al final del artículo, la textura no llega ni a 0,4 de influencia.

 

Setup de Material para las hojas

Ya tenemos nuestro modelo listo para hacer los renders que queramos. Colocaremos un entorno azul claro en los world buttons, de nuevo dentro del menú Shading (F5), y ya podremos lanzar el render. Como lo que nos interesa es conseguir la imagen del árbol con la capa Alpha ya definida, en las opciones del menú Scene (F10), marcaremos la salida como RGBA y el tipo de archivo como Targa. Para las opciones de render con Yafray, en el archivo que nos ocupa, hemos subido la exposición a 2 para conseguir mayor claridad en el resultado.

 

Render settings with yafray

Ya tenemos la imagen de nuestro árbol. Nunca será tan realista como coger la foto de un árbol y sacar a mano el canal Alpha, pero es mucho más versatil y, una vez configurado, podemos sacar tantas versiones (de luz, tamaño, rotación, color) del mismo modelo como queramos. Pulsad F3 para guardar la imagen donde querais.

Nos queda la parte más fácil. Guardamos y creamos un archivo nuevo (podeis pulsar Ctrl + x). En este archivo vamos a poner la imagen, del árbol que hemos obtenido, como background en el visor. Nos colocamos en la vista frontal (BloqNum 1) y abrimos las opciones de Background Image en el menú View de la 3D View (Mayúsculas F5). Ahí definimos la imagen que vamos a usar de background, que será la que hemos guardado del render anterior, su tamaño y posición.

Setup del Background

Ahora creamos un plano, borramos todos los vértices menos uno que dejaremos seleccionado, y nos dedicamos a ir dibujando el contorno del árbol usando Ctrl + BIR (Botón Izquierdo Ratón) . Juntamos el último vértice con el primero pulsando F, rellenamos el contorno creado con Mayúsculas + F y eliminamos la triangulación (o parte de ella) con Alt + J

Ctrl + BIR para crear el contorno

Nos da igual que la malla sea un amasijo de triángulos sin optimizar, sólo vamos a usar la forma como plano 😉 . Duplicamos la forma y a cada una de ellas le aplicaremos un material distinto. Una de ellas mirará hacia la cámara y contendrá como textura nuestra imagen tga, pero no proyectará sombras. Debemos configurarlo con TraShadow, Alpha a 0, Ztrans y el botón Alpha para el mapa, activado en los Materials Buttons (F5) y la textura con la opción Use Alpha activada en los Texture Buttons (F6). Recordad realizar el mapeado UV con la imagen correspondiente.

 

Material para forma de árbol con textura

Setup texture with alpha active

La otra será transparente y sin textura, estará orientada hacia la fuente de luz y será la que proyectará las sombras. Esto tiene su explicación porque Yafray no proyecta correctamente sombras de texturas con canal alpha, así que por eso hay que hacer la forma recortada. Si quisiéramos hacer el render con el motor interno de Blender nos bastaría con planos sin la forma del árbol.

 

Material que proyectará las sombras

Ya podemos probar el sistema, añadimos un suelo y vemos como quedaría. Rápidamente nos daremos cuenta de que habrán situaciones extremas en las que podemos tener problemas, pero nos servirá para la mayoría de las situaciones. Lo más importante a tener en cuenta es que las imágenes de árboles que usemos deberán tener una iluminación muy parecida a la de la escena que los contendrá.

Imagen final con árboles fakeados

Espero que os resulte útil. Podeis descargaros los archivos usados para este artículo:

Download

Un comentario sobre “Árboles para infoarquitectura. Arbaro + Blender + Yafray”

Deja un comentario

Nos alegra que quieras enviar un comentario. Por favor, ten en cuenta que los comentarios están moderados y que para publicar tu comentario debes aceptar nuestra Política de privacidad. Tu dirección de email es necesaria pero no se publicará