Contenido
Herramientas
- SuperBMD
- Wine (para Linux)
Requisitos
Conversión básica
SuperBMD es una herramienta bastante útil y no muy bien entendida. Uno la usa ciegamente para convertir entre archivos DAE/FBX y BMD/BDL para importar nuevos modelos 3D en SMG. Es el único programa que puede manipular muy efectivamente los archivos BDL de SMG. Y es épico. Tiene ciertos comandos que ni sé para qué sirven >:] (mayormente porque me falta experiencia).
Como se vió aquí si se arrastra un archivo BMD/BDL a SuperBMD.exe
obtendras los contenidos de dicho archivo, sin embargo, estos contenidos no son los originales, son archivos generados por un proceso de conversión que son los que realmente pueden manilarse con otros programas (archivos DAE, PNG y JSON).
Fig. 1: Archivos extraídos de Mario.bdl
)
- DAE (también llamado Collada) contiene información del modelo 3D (Fig. 2).
- PNGs contendrán las texturas usadas en el modelo 3D.
- JSONs contendrán información acerca de las texturas (formato) y materiales usados en el modelo (Figs. 3, 4 and 5).
Fig. 2: Mario.dae
abierto en Blender sin sus texturas aplicadas
Fig. 3: Archivo JSON de los materiales de Mario.bdl
abierto en un editor de texto
Fig. 4: Archivo JSON de las texturas de Mario.bdl
abierto en un editor de texto
Fig. 5: Archivo JSON de la "jerarquía" de elementos en Mario.bdl
abierto en un editor de texto
Los archivos que son estrictamente necesarios para construir un archivo BMD/BDL con SuperBMD son:
- Las texturas usadas en el modelo.
- Un archivo que contenga la información 3D del modelo (FBX/DAE).
Si alguno de esos componentes falta, SuperBMD no podrá producir un modelo BMD/BDL adecuadamente. Si quieres convertir tu archivo FBX/DAE en BMD sólo arrastra el archivo FBX/DAE en SuperBMD.exe
(asegurate de tener los archivos de las texturas del modelos en 3D en el mismo lugar que el archivo FBX/DAE). Este proceso resultará en un archivo BMD que tendrá información de material/textura predeterminadas (Figs. 6 and 7).
Fig. 6: Mario.bmd
creado sólo con un archivo DAE + Texturas
Fig. 7: Mario.bmd
abierto en j3dview
Notas:
- El formato de conversión de SuperBMD es BMD. Para especificarle a SuperBMD que cree un archivo BDL se tiene que usar la opción
--bdl
:destino\a\SuperBMD.exe destino\a\modelo.[dae/fbx] --bdl
- La información predeterminada de materiales/texturas está definida por los autores.
Adición de materiales y texturas
Para especificarle a SuperBMD que use información de materiales y texturas de archivos JSON se usan las opciones --mat
y --texheader
respectivamente como sigue (Figs. 8, 9 y 10):
camino\a\SuperBMD.exe camino\a\model.[dae/fbx] --mat camino\a\materiales.json --texheader camino\a\texturas.json
Fig. 8
Fig. 9
Fig. 10
Si los archivos JSON de material/textura no contienen información para algun material/textura usado en el modelo 3D, se usará la información de material/textura predeterminados de SuperBMD.
Notas:
- Nota como el modelo de la Fig. 10 se ve más brillante que el mostrado en la Fig. 7 con la información de material/textura predeterminados.
- Puedes obtener los datos de material/textura de cualquier material de algun objeto de SMG y usarlo en un modelo que tu quieras. La única advertencia es que copies el bloque de información correspondiente correctamente (manteniendo la estructura del archivo JSON Figs. 11, 12 and 13) y/o cambiar el nombre de los materiales/texturas para que correspondan a los que uses en tu modelo 3D.
Fig. 11: Estructura básica de un archivo JSON
Fig. 12: Un bloque de información de un material en un archivo JSON
Fig. 13: Bloques de información de texturas en un archivo JSON
--rotate
Esta opción es usada para rotar el modelo 3D a lo largo del eje X -90º para que esté orientado correctamente en el juego. El propósito de esta opción es para importar modelos 3D de software de modelado en donde el eje que va hacia arriba sea el eje Z (como Blender, Figs. 11, 12 and 13).
Fig. 14: Modelo ejemplo en Blender)
Fig. 15: Modelo ejemplo en j3dview sin usar --rotate
Fig. 16: Modelo ejemplo en j3dview usando --rotate
Notas:
--rotate
es un poco raro en modelos con un esqueleto (las animaciones 3D se muestran como se el modelo no estuviese rotado). En esos casos, sólo rota el modelo manualmente -90º a lo largo del eje X y exportalo así para no usar esta opción.
--nosort
Yo usualmente uso esta opción cuando hago modelos. En el pasado, sólo unas pocas veces, tuve problemas extraños con la ubicación de las texturas en alas caras del modelo que intentaba importar y estos efectos "desaparecieron" al usar esta opción. No sé si esos errores siguen ocurriendo en nuevas versiones pero en caso de que te pase algo similar, puedes intentar usar esta opción (No fuí capaz de replicar este efecto otra vez así que puede que ya no sea un problema).
La descripción que el autor de SuperBMD da para explicar el funcionamiento de esta opción es:
"If --nosort
is set, disable naturalistic sorting of meshes by name. (Sorting makes sure so that e.g. mesh-0 appears before mesh-1 in the model)"
Otras opciones
Otras opciones pueden ser vistas en README del repositorio GitHub de SuperBMD. También hay opciones regadas en la descripción de cada nueva versión publicada de SuperBMD en la página Releases).
El modelo es muy brillante en el juego
Desafortunadamente, SuperBMD tiene un problema cuando se crea un modelo BMD/BDL. El problema sólo se nota cuando se importa el modelo en SMG y lo que pasa es que el modelo se ve muy brillante en el juego cuando no se supone que se vea así. Para evitar el problema, abre el modelo BMD/BDL creado con SuperBMD en j3dview e immediatamente guárdalo como un archivo BDL (File > Save Model As...
, cambia la extensión del archivo para identificar a que formato guardar el modelo).
Ve este problema para más información.
Notas:
- BDL es una "nueva versión" de los BMD que incorpora una sección más con información extra para los materiales. Para más información puedes visitar este enlace.