Archive for the 'Bibliotecas' Category

Blender .X

Posted in Bibliotecas, Herramientas on September 22nd, 2007

De vuelta al trabajo de fin de semana: sigo a castañas con problemas de formatos y conversiones entre ellos. Pero esta vez he decidido lurkear entre los foros de XNA sobre MOD y he llegado a algunas desoladoras aunque esperables conclusiones:

El soporte que da Softimage a través de MOD y XSI a DirectX es poco menos que un chiste[1]. Como ya venía diciendo en posts anteriores la exportación geométrica funciona bien, y la salida de coordenadas UV es directamente de chiste. No quiero ni imaginarme lo que ha de ser tratar de sacar animaciones del paquete. Dejaremos las animaciones para más adelante (que será otra odisea criminal)

Sin embargo, sí hay una solución y como siempre, desde el lado más gamberro del 3D: ¡blender! Blender dispone de un exportador out-of-the-box que funciona correctamente al generar .X

Blender .x format conversion

Efectivamente el procedimiento incluye pasar por .OBJ para llegar hasta el objetivo, quedando algo así:

1. Se genera todo el contenido sobre XSI + GIMP + nVidia texture tools + …
2. Se exporta a .obj
3. Se abre el .obj con Blender
4. Se exporta a .X

Este procedimiento es algo rústico, ya lo sé. Pero abre la puerta a generar contenido para .X sin necesidad de machacar ninguna versión de MAX; MOD es gratuíto y Blender es libre, y, si realmente te apetece se puede obtener todo el material desde Blender sin necesidad de pasar por la herramientita de XSI, lo que posiblemente sea la mejor opción al estar MOD severamente modificado y resulta en el ahorro de un cambio de formato con todas las pegas que esto tiene.


1. No he probado la versión 6.5 pero que no me vengan con hostias: las limitaciones al exportado eran severísimas: un sólo canal de textura por punto (clúster, para ser exactos), que luego había que escalar en las 2 coordenadas por -1.

La letra pequeña

Posted in Bibliotecas, Developing on August 19th, 2005

Este es uno de esos posts que animarán a los amantes del software libre más ultras. Una de las pegas que se les suele poner a los desarrollos libres es la falta de documentación seria. Pues parece ser que a los desarrolladores privados tampoco les hace gracia tener que escribir 100 páginas de manual, how-to ó lo que sea, …

Llevo un par de semanas trabajando con un software de inteligencia artificial, out off the box. Concretamente AI Implant . No está mal. Se engancha con Maya ó bien con Max y tiene un funcionamiento limpio, al menos a partir de la versión 2.6 porque las anteriores se daban unas castañas que te giraban los ojos.

Como todo buen plugin pesado, Implant tiene su propio motor script en las tripas. De este modo BioGraphictech logra vender la misma tecnología para dos programas tan diferentes como Maya y Max. Luego le añade una capa intermedia, más el interfaz de usuario (quién dijo que el multilayered design fuese nuevo?) Cuando despliegas el menú de controles básicos hay un montón de monerías que quieres probar, mallas de navegación, gestión de colisiones, etc.

Pero claro, como en todo buen software pronto te quedas sólo ante el manual porque quieres hacer eso-que-nadie-pensó-antes. Ok, no hay problema, somos mayores y este es un software propietario, por el amor de Dios he pagado varios miles de dólares por él. Vas directo a la sección de “extender el SDK”, ¿resultado?

Coming soon …

¿Qué? ¿Kouming zun? ¿Qué carajo significa esto? … En este momento me planteo levantar el teléfono y decirle a administración que lenpaguen a BioGraph soon, pero no ahora!

¿Será un accidente? Pasemos a la sección del manual que habla de motor propio de script, .. ¿ejemplos de programación en script?

TO DO

Ahí sí te crees morir. ¡¡ Pero si vi este mismo comentario en la documentación del Blender!! (notablemente más barato) … ¡ay de mi!

Pero ya estás muy abajo en la documentación, has superado varios cientos de páginas de documentación automática de esas en las que te cuentan que el método value de un objeto sirve esencialmente para conseguir su valor XD y en ese momento se deslizan los ojos por la típica sección de “errors and workarounds“. Joder pues si hay un error reconocido y está en la documentación digo yo que habrá que solucionarlo, ¿no? Pues nopes, aquí te encuentras con lo que se considera ayuda al cliente, las tablas de trucos sucios que hay que hacerle al soft para que … haga lo que se supone ya hacía sin las ñapas y que es lo que has pagado a tocateja.

Pero lo realmente triste es cuanto te descubres buscando la sección de, “errors and workarounds” justo después de haber adquirido un software para imprimir las dichosas paginitas y aprendértelas de memoria. Y es que ese parece ser el modo normal y razonable de funcionar con el soft privado.

Ruido coherente

Posted in Bibliotecas, Developing on June 7th, 2005

¿Alguna vez os habéis preguntado cómo se generan los paisajes artificiales por ordenador, ó bien quereis hacer uno propio? Esta biblioteca es un fantástico punto de arranque. Aporta el fondo matemático suficiente y un par de clases de utilidad. Todo bien empaquetado y listo para compilarlo. Como extra, puedes convertir los datos que generes de mapas de color a renders del Terragen.

Para una parte de mi proyecto actual, necesitábamos un generador de ruido de Perlin, tras buscar un poco encontramos libnoise. Este paquete GPL tiene una fantástica documentación llena de ejemplos que os recomiendo, tanto para aprender a usar la propia biblioteca como para averiguar qué demonios es el ruido coherente.

Si te gusta el diseño software atención al modo en el que se encadenan los distintos módulos de generación de valores, muy similar a un pipe y con un final realmente ingenioso.

Échale un ojo a la libería en su web:libnoise.