|
From: Adrian C. <squ...@gm...> - 2009-12-02 06:27:09
|
Me parece muy importante todo esto, el script que tienes pensado usar se hara despues? y que hay a cerca del dsl que estas pensando?, personalmente no se mucho de modelaje en 3d pero para eso estamos aqui para ir aprendiendo. El 01/12/2009 06:13 p.m., Gerardo Horvilleur escribió: > Yo creo que lo primero que hay que resolver dentro del proyecto de > Mundo Java es cómo le vamos a hacer para producir todos los assets > necesarios. Por assets me refiero a: > > * Modelos 3D > * Texturas > * Animaciones > * Artwork 2D > * Sonidos > * Música > > En particular, yo creo que la parte más compleja es la de Modelos 3D + > Texturas + Animaciones. > > Mi preferencia para hacer el modelado en 3D es que usemos Blender ya > que es software libre y funciona en los principales sistemas > operativos. Además existe un plugin para Blender, llamado 'hottbj', > que permite exportar los modelos a unos archivos XML que jMonkeyEngine > puede leer. > > Ya hice unas cuantas pruebas. Es posible crear un modelo en Blender, > texturizarlo (UV mapping/painting), crear su armature (esqueleto) y > animarlo para después exportar todo eso con hottbj y leerlo desde > jMonkeyEngine. Funciona (hay que tener un poco de cuidado sobre como > se define todo en Blender, pero si se siguen ciertas reglas funciona > sin problemas). > > Esos archivos XML que exporta el hottbj los quiero emplear únicamente > como un paso intermedio. Para la distribución de la aplicación yo creo > que los modelos deberían estar almacenados en el formato binario de > jMonkeyEngine (extensión .jme) . Así serán son más compactos y se > pueden leer más rápido. > > Para hacer esto, quiero tener dentro de nuestro proceso de build de la > aplicación un paso donde se leen estos archivos XML y se generan los > .jme. Pasar de XML a .jme no es la única razón para tener este paso > dentro del build, hay varias más: > > * Existen muchos atributos posibles para los nodos de un scene graph > de jMonkeyEngine que no se pueden definir desde Blender (parámetros > para la aplicación de las texturas, manejo de transparencia, etc.) > > * Un scene graph de jMonkeyEngine puede tener Controllers. Lo > controllers permiten tener animaciones sencillas predeterminadas que > se ejecutan automáticamente de manera continua (por ejemplo, que estén > girando las aspas de un molino). Y estos controllers también se pueden > almacenar dentro de un archivo .jme > > * Probablemente vamos a modelar cada componente del mundo por separado > y queramos tener un sólo archivo .jme de donde leemos el scene graph > de una localidad completa con cada objeto ya colocado en su ubicación > correspondiente. > > Yo creo que lo ideal es tener scripts, escritos en algún DSL (Domain > Specific Language), en donde podamos definir para cada .jme que hay > que generar: > > * Los archivos XML que tiene que leer > * Parámetros extra que se le tengan que agregar/modificar a cada nodo > * Controllers que se tengan que agregar > * Como armar un sólo árbol de toda la localidad con todos esos XML > > Creo que es muy importante que todos estos pasos se hagan dentro de un > script para poder garantizar que los podemos repetir automáticamente > cada vez que sea necesario. Así cuando un artista modifique algún > modelo en Blender, basta con que vuelva a exportar el XML y > automáticamente podemos volver a armar el .jme al que pertenece. > > |