Hace unas cuantas semanas, en una divertida y enriquecedora charla con un colega que es una especie de híbrido programador-diseñador salió el tema de los fractales en 3D. Un tema del que le prometí dedicar alguna entrada en el blog. Como últimamente me han vuelto a sacar el tema varias veces, he decidido ponerme ya con la entrada.
Voy a “copy-pastear” aquí la definción básica de fractal según wikipedia, aunque os invito a que leáis entera la definición.
Un fractal es un objeto semigeométrico cuya estructura básica, fragmentada o irregular, se repite a diferentes escalas.1 El término fue propuesto por el matemático Benoît Mandelbroten 1975 y deriva del Latín fractus, que significa quebrado o fracturado. Muchas estructuras naturales son de tipo fractal.
A un objeto geométrico fractal se le atribuyen las siguientes características:2
- Es demasiado irregular para ser descrito en términos geométricos tradicionales.
- Posee detalle a cualquier escala de observación.
- Es autosimilar (exacta, aproximada o estadísticamente).
- Su dimensión de Hausdorff-Besicovitch es estrictamente mayor que su dimensión topológica.
- Se define mediante un simple algoritmo recursivo.
El principal uso que yo le doy a los fractales en 3D es a la hora de generar los materiales y las texturas, para definir el aspecto o “shading” de los objetos. Cuando me enfrento a la fase de texturado de un objeto, me gusta seguir ciertos pasos. Primero intento resolver el shading, el acabado, esos valores cuantificables que definen la diferencia estética entre una bola de madera y una bola de mármol (por poner un ejemplo) para acto seguido, continuar con la textura, las vetas y colores de esa madera o mármol.
Este ”Bombus terrestris” (sin pelo en este render), por ejemplo, ha sido texturado utilizando fractales. Sólo se usó un mapa de bits para la nervadura principal de las alas.
Es asombroso todo lo que se puede definir como fractales en la naturaleza. Y yo mantengo la teoría “artística” de que toda textura debería poder ser definida con el fractal adecuado. No soy muy fan de usar mapas de bits en texturado, para mi son siempre la última opción, y los reservo para esos casos en que la textura presenta ciertas formas o dibujos inevitables. En la medida de lo posible intento reproducir con fractales y shading la estética de los objetos a texturar. El programa que utilizo incorpora una gran cantidad de fractales base, muy customizables con los que tienes juego para rato, aunque siempre tienes la opción de buscar o preparar algoritmos nuevos.
En esta imagen de pruebas, salvo la cara, que es un mapa de bits, y el pelo, que es un test en photoshop (no molaba verla calva) todo el cuerpo está resuelto con fractales. Posteriormente, en la versión final, usé una mezcla de fractales y mapa de bits.
Me gusta usar fractales por muchos motivos, principalmente por el estupendo control de detalle y posibilidades de alta calidad que ofrecen. Puedo ajustarlos en cada momento, incluso puedo relacionar esos ajustes (ya que son un algoritmo) con algún evento-acción que ocurra en la escena. Por sus cualidades como “autosimilares” y de “detalle a toda escala”, son estupendos para cubrir grandes superficies manteniendo detalle en todas las distancias a cámara. Además, en estos casos, me permiten incluso un ahorro de RAM considerable, ya que evito tener que trabajar con mapas de bits gigantescos. Por poner un ejemplo, un contenedor marino lleno de óxido lo puedes trabajar perfectamente a golpe de fractales. Además en muchas ocasiones con fractales puedo evitar trabajar con mapeados UV, lo que agiliza mucho el proceso. Los fractales, por sus propias características, “envuelven” el objeto sin distorsiones ni solapamientos.
El uso de fractales en 3D daría para muchas entradas, os animo a que comentéis y preguntéis. Es un tema apasionante!!!
muy util. Gracias por traer algo asi al internet