Using SuperBMD

From Custom Mario Kart: Double Dash Wiki!!
Jump to navigation Jump to search

This article describes how to use SuperBMD, a program which can convert between common 3d model files (.dae / .fbx / .obj )

Conversion: .bmd -> .dae

The basic usage of SuperBMD is to drag n drop the desired model onto SuperBMD.exe. In the .bmd to .dae conversion, it will dump a .dae file, the textures (including mipmaps), and material and texture data .json files in the same directory as the original .bmd file. Usually, this .dae file is then imported into a CAD software such as 3ds Max. The .json files will have the names <input file name>_materials.json and <input file name>_texheaders.json. If using the command line, use the instruction

SuperBMD.exe <input file name> <output path (optional)>

When importing into a cadding software, if asked, input with the units as meters. This will ensure correct scaling of the model.

The .json files

There are two .json files that are created with .bmd -> .dae conversion. One of them defines custom material data and the other defines custom texture data. They are described in more detail here.

Conversion: not .bmd -> .bmd

SuperBMD can convert .obj, .dae, and .fbx files, and their associated textures, to .bmd.

The basic usage of SuperBMD in this direction is to drag n drop the model onto SuperBMD.exe, and a .bmd of the same name will appear in the directory of the original file.
The corresponding .bat file would be

SuperBMD.exe <input model> <output path (optional)> <final model name (optional)>

Custom Materials / Texture Data

To have custom materials, you must specify a material data .json file and texture data .json data files. These files take the format of the material and texture data .json files from .bmd -> .dae conversion. The command line instruction

SuperBMD.exe <input model> <output path (optional)> <final model name (optional)> --mat material_data.json --texheader texture_data.json 

will specify these files. The material_data.json and texture_data.json files can any filename, as long as they have the extension .json.

Additional Features

  • --rotate, which rotates the model poster-like for conversion from not .bmd -> .bmd conversion.
  • --nosort, which helps with models exported from Blender.
  • Mipmaps
    • Each image with mipmaps must have dimensions that are a power of 2. Each successive mipmap must be a quarter the size of the next larger one.
    • The base image should be named normally, and each successive mipmap should be named <base name>_mip#, with the # starting a 1 for the first mipmap.

Common Errors

STILL IN PROGRESS - PLEASE ADD IF YOU HAVE ANY COMMON ISSUES

Errors that stop conversion
Output Description How to fix (Blender) How to fix (3dsMax)
“Model needs to be triangulated” You have polygons that have more than 3 sides To go about this, you should click on the wrench, then the button that says “Add Modifier”. A drop-down menu will appear. In this menu, click on the Triangulate option, found within the Generate category. If needed, convert the editable mesh to an editable poly. Then, select all vertices, and click on "Connect". Or, if possible, specify triangulation in export settings
“A certain polygon has 2 or less vertices” You have polygons with two or fewer sides Enter Edit mode, press W, and click on the “Remove Doubles” option. If all doubles are already removed, then it may be a bug within the OBJ itself. Try exporting the course as an FBX, making sure to apply any transformations done. If needed, convert the editable mesh to an editable poly. Use the “By Numeric” to find polys with less than 3 edges, and then delete them.
When SuperBMD produces an undesirable outcome
Description How to fix
A certain material is not being applied Check the SuperBMD output to see if the material is being applied. You may need to change the material name in the material .json or the model