Skip to content

Releases: RenolY2/SuperBMD

SuperBMD v2.4.7.1

29 Apr 07:53
6c8cee1
Compare
Choose a tag to compare

Changelog:

  • Attributes such as PositionMatrixIdx and Tex0Matrix - Tex7Matrix are now only assigned to a shape if the shape is under the influence of more than one bone. (The vertices in each shape are still assigned the PositionMatrixIdx attribute though, see #54)

SuperBMD v2.4.7

12 Mar 21:29
Compare
Choose a tag to compare

Although the documentation has not been fully updated yet, v2.4.7 has been marked as the new release version due to having useful features over the previous official release v2.1. You can check the changelogs for the previous versions to see what features have been added since v2.1:
https://github.com/RenolY2/SuperBMD/releases

Changelog:

  • Added command line option --transform_mode [mode] to set scenegraph bone animation transform mode. Possible values are Basic, Xsi, Maya and Mask. Default is Xsi.
  • Added command line option --envtex_attribute which creates a TexMtxIdx attribute for every mesh which uses normals as a TexCoord1Gen source in its material. This should fix broken environment mapping effects on some models, e.g. in Pikmin 2 and Mario Kart Double Dash.

SuperBMD v2.4.6.1 Pre-Release

19 Feb 18:04
Compare
Choose a tag to compare
Pre-release

This release fixes an issue that would produce undesired vertex colors, e.g. cyan, due to color values exceeding the 1.0/255 maximum overflowing into 0, and those values will now be capped to 255. Blender 4.0 appears to create files with vertex colors exceeding that maximum.

SuperBMD v2.4.6 Pre-Release

19 Dec 09:38
Compare
Choose a tag to compare
Pre-release

Changelog:

  • The SuperBMD version is now written into the header of the BMD
  • Fixed floating point issue that could cause some vertices to be offset by a visible amount (when creating a BMD or converting a BMD to DAE)
  • Add --texfraction argument which allows defining the amount of bits used for the fractional part of texture coordinates. Higher values allow more precision but lower the maximum range. 8 is the default.
  • For meshes using the _NoWeights_BoneName system to make unweighted meshes be moving with a bone, now transforms the vertices to achieve correct mesh orientation ingame

SuperBMD v2.4.5 Pre-Release

16 Jun 17:14
Compare
Choose a tag to compare
Pre-release

Changelog:

  • Added --outmatfolder option which allows specifying an output folder into which a model's materials will be dumped into separate json files named after each material. The folder is created if it doesn't exist.

SuperBMD v2.4.4 Pre-Release

16 Jun 16:35
Compare
Choose a tag to compare
Pre-release

Changelog:

  • A path to a folder of different material.json files can be specified with --matfolder. The materials from the json files will be aggregated into a single list of materials.
  • For material.json files with only one material, you can specify --fname_is_matname to use the file's name as the material name. The material name will be overwritten by the file name (without the extension)
  • You can specify the path to a folder of textures with --texfolder. This will take priority over getting the texture folder from the material folder path (which in turn takes priority over getting the texture folder from the folder of a single material json).

SuperBMD v2.4.3 Pre-Release

16 Jun 13:00
Compare
Choose a tag to compare
Pre-release

Changelog:

  • Added --no_normals option to disable exporting normals in BMD
  • Modified skeleton root changing method: If chosen skeleton root has meshes, it will continue searching for skeleton root
  • Misalignment issue relating to the DRW1 section fixed that would cause Riistudio to not load some models (To be confirmed: Did this affect partially weighted models ingame too?)
  • The -material suffix that would be added when Blender DAE models were converted into BMD is now ommitted even when no material json is used. When you export as DAE in blender and convert that into BMD, the materials should no longer have -material added at the end of their names.

SuperBMD v2.4.2.1 Pre-Release

23 Oct 08:45
Compare
Choose a tag to compare
Pre-release

Changelog:

  • Added workaround for Blender adding -material to the end of material names in models exported as .dae when using material.json, resulting in SuperBMD not being able to find a material match. The material will be renamed to the name found in the material.json.

SuperBMD v2.4.2 Pre-Release

19 Oct 22:19
Compare
Choose a tag to compare
Pre-release

Changelog:

  • Skeleton root auto-detection is now back, but as a command line option: --root_autodetect will enable skeleton root auto-detection.

For the auto-detection to work correctly the meshes and the skeleton have to have the same parent object (In case there is no parent, the root of the scene is considered the parent). In the case of models exported from Blender this is usually already a given by the mesh and skeleton being parented to an armature object. The skeleton should not be parented to a mesh and at least one mesh should be rigged to a bone of the skeleton. Should the detection fail, it will fall back to searching for an object named skeleton_root to detect the root of the skeleton.

Example hierarchies where auto detection should succeed:

  • skeleton
  • mesh1
  • mesh2

or

  • Armature
    • skeleton
    • mesh1
    • mesh2

SuperBMD v2.4.1 Pre-Release

19 Oct 09:04
Compare
Choose a tag to compare
Pre-release

Changelog:

  • Removed skeleton root auto-detection. Reason for this is the Assimp version used by SuperBMD not being able to give a reliable list of all of the model's bones, so it is possible to make a model where SuperBMD cannot accurately detect the skeleton root. The previous method of putting the skeleton inside a dummy object called skeleton_root or naming the armature skeleton_root (depending on if you use 3DS Max or Blender) to find the root bone is necessary again.
  • Added argument --root_marker <name> which allows you to specify the name of the skeleton root. Instead of looking for skeleton_root SuperBMD will look for a dummy object/armature with the name you specified.
  • Added argument --root_name <name> which allows you to specify the name of the root bone. This will search the entire model hierarchy to find the root bone. If you use both --root_marker and --root_name, --root_name takes action over --root_marker if it succeeds at finding the bone.
  • Added argument "--without_root which exports a BMD to dae without the skeleton_root dummy object.