Modelado de cesped. Texturas.
La vegetación siempre ha sido y es
algo complicado. Complicado por lo complejo. Y el problema es que
todo render de arquitectura que se precie, en términos generales
siempre debería tener presencia de vegetación. Y cuando además
este render es de exterior, es muy habitual tener que usar césped.
A grandes rasgos existen 3 formas
diferentes de enfrentar el problema del césped, de las cuales dos
suelen asustar nada más oírlas:
- Usar texturas de césped
- Sistema de partículas usando objetos
premodelados
- Sistema de partículas de simulación
de pelo
La primera pregunta que debemos
formularnos a la hora de elegir el sistema que vamos a utilizar es
referente a una cuestión de escala. Es decir: ¿cómo de lejos está
la cámara respecto de nuestro césped?
La primera de las tres opciones
probablemente no sea recomendable usarla casi nunca, sin embargo, si
nuestro césped se encuentra muy lejos de la cámara, puede que
podamos pensar en utilizar esta técnica. En el momento en que la
distancia sea tal que la forma de césped pueda llegar a intuirse
mínimamente...esta opción deberíamos descartarla de plano. Por
supuesto, todo esto siempre y cuando busquemos obtener una imagen lo
más realista posible.
Hoy vamos a analizar cómo funciona la
primera de estas tres formas y a intentar dar algunas pistas que os
ayuden a conseguir mejores resultados.
Texturas de césped
Esta método es muy usado porque es muy
fácil de implementar, sin embargo hay una serie de errores que
deberíamos tratar de evitar:
Escala:
es muy importante que no descuidemos la escala de nuestra textura,
sobretodo no tender a escalas muy grandes, porque automáticamente no
habrá duda de dos cosas: hemos usado una textura y además no lo
hemos hecho bien. Podemos buscar fotografías reales para tratar de
acomodar la escala de nuestra imagen hasta obtener el tamaño
adecuado por comparación con otros objetos.
Costuras:
como consecuencia
directa del concepto anterior, la repetición de la textura entra en
juego. Es imposible disponer de una textura tan grande y con tanta
resolución como para no necesitar repetirla a lo largo de todo
nuestro plano de césped.
En este caso es
importante usar texturas “tileables”, es decir, preparadas para
que cuando coloquemos nuestra textura una y otra vez al lado de si
misma, los bordes de unión o costuras no sean perceptibles.
Hoy en día no suele ser mucho problema, porque en la mayoría de las
web de texturas (www.cgtextures.com
por ejemplo), encontraremos texturas preparadas para esto. Y de no
encontrar, existen
plugins para Gimp o
Photoshop que nos ayudarán a crear las nuestras propias. Otro
día explicaremos cómo
hacer nuestras propias
texturas “tileables”.
Homogeneidad:
una
vez conseguida una textura en la que no se aprecien las juntas, es
importante centrarnos en evitar la homogeneidad del conjunto, para no
tender a un césped demasiado monótono o en el que puedan encontrarse
patrones repetidos.
Muy
bien, pero... ¿cómo conseguimos todo esto? Vamos a ponernos manos a
la obra con un ejemplo.
Para
ejemplificar todo lo que viene a continuación hemos modelado lo que
aspira a ser un bonito prado con un granero estilo “farmville” y
algunos árboles que usaremos para tener una idea de escala de todo
el conjunto.
Hemos
buscado por internet una textura que ya fuese perfectamente tileable
y hemos ajustado su escala hasta el punto en el que consideramos que
entona perfectamente con los elementos de la escena. Hemos optado por
elegir una textura lo más plana posible para evitar en la medida de
la posible que pudiesen encontrarse patrones identificables a lo
largo de todas las repeticiones que se dan de la textura. La hemos
repetido 6 veces en cada dirección, lo que quiere decir que el
mismo cuadrado de textura está colocado 36 veces en nuestro plano.
Como podéis comprobar no se aprecian las costuras ni se intuyen
repeticiones.
En
este punto ya hemos conseguido superar dos de los errores más
comunes: escala y costuras. Sin embargo nos queda el más complicado:
queremos conseguir un conjunto heterogéneo en el que la formación
de césped parezca lo más natural posible.
Lo
primero que vamos a hacer es crear variaciones tonales de nuestra
textura original. Apoyándonos en el gestor de materiales que nos
proporcione nuestro software favorito, vamos a mezclar las tres
tonalidades usando para ello patrones de mezcla creados a partir de
texturas procedurales de ruido. La ventaja de usar estas texturas es
que ya nos aportan por si mismas cierta heterogeneidad, lo que
permitirá que se empiecen a diluir las repeticiones de las texturas.
En
primer lugar mezclaremos la textura original con la primera variación
tonal usando una textura de ruido de escala pequeña.
El
resultado de lo anterior lo mezclaremos con la segunda variación
tonal, utilizando también una textura de ruido, pero a una escala
diferente, para que en el resultado final aparezcan mezcladas las
tres tonalidades diferentes.
Para
el siguiente paso vamos a usar una textura distinta. Vamos a simular
esas pequeñas partes donde el césped suele perderse, por pisarlo o
por cualquier otro motivo, y se empieza a ver la tierra que hay
debajo. El modo de mezcla va a ser el mismo que para las texturas
anteriores, sin embargo utilizaremos una textura procedural más
agresiva para que lleguen a mostrarse por completo partes de la nueva
textura.
Por
último pero no menos importante, vamos a usar de nuevo una textura
de ruido procedural para aplicar un pequeño “bump” a todo el
plano. De este modo conseguiremos que el conjunto quede lo más
heterogéneo posible, dando por resuelto así el tercer error más
común de este tipo de césped.
Este
tipo de césped aplicado junto a una escena de cierta complejidad nos
dará más o menos buenos resultados. Será recomendable usarlo en
escenas de este tipo, donde debido a la lejanía de la cámara la
cantidad de césped es enorme y usar otros métodos podría suponer
una cantidad de cálculo enorme para el ordenador.
Lo
descrito en este post es sólo un ejemplo, pero dependiendo del tipo
de texturas iniciales o del objetivo que queramos conseguir podrá
utilizarse un tipo de mezclas u otras. Otra forma de hacerlo podría
ser “unwrapear” nuestro plano y exportarlo a nuestro programa de
edición favorito (Photoshop, Gimp, Krita, etc.) y crear una serie de
pinceles con las texturas originales que usaríamos para pintar
nuestro plano de textura, que luego simplemente tendríamos que
introducir en nuestro 3D. Sea como fuere lo importante es tratar de
no caer en errores demasiado evidentes que hagan que nuestra escena
sufra por falta de realismo.
En
futuros artículos entraremos a explicar los otros dos métodos para
crear césped. Stay tunned!
0 comentarios: