Super Smash Bros. Ultimate model and animation importers

Project repository: https://gitlab.com/Worldblender/io_scene_numdlb

Example imports of Kirby and Mario (models from https://gitlab.com/Worldblender/smash-ultimate-models-exported):

A set of two scripts that import data referenced by NUMDLB files and NUANMB files (binary model and animation formats used by some games developed by Bandai-Namco). May work for other games using the same format, but only assets from Super Smash Bros. Ultimate have been tested.
Now updated to support Blender 2.80+ with versions 2.0.0 and later. Most future development will focus on the 2.x series and later.
2.79 compatible version: https://gitlab.com/Worldblender/io_scene_numdlb/-/tree/2.79_compatible
Below is content trimmed down from the README (for installation, usage, and removal instructions, go the project repository link above):

Where to obtain assets

[Removed by moderators]

Limitations

  • Node setups in the Shader Node Editor or the Texture Node Editor can be somewhat messy after import. While their locations can be set during import, I prefer to not hard-code the locations of every node. Hence every node will appear around the origin (0, 0), but they can be manually moved elsewhere.

  • Models must have their bone axises aligned, or animations will cause meshes to deform incorrectly. Models imported with the NUMDLB importer script and SMD (Valve Source Model) importer script take this into account.

  • Only transform and visibility tracks are supported by the NUANMB importer. Material and camera tracks are currently unsupported.

  • Normal maps, PRM maps (Used with Principled BSDF shaders), and Emissive maps are now supported, but they are disabled by default due to the default render settings causing models to look drastically different.

License

Both scripts are licensed under the MIT License.

2 Likes

Shouldn’t it be possible to correct the way the UV seams are imported? Looking at your images, it seems that they’re wrongly intepreted as actual cuts (or just hard edges?) in the mesh which is often the case with importers like this.
That might be a fun thing to try and fix.

The UV maps are actually correct. I just did not choose the most optimal shading option for the 3D viewport. The best that I did was set each mesh to use smooth shading, but that might not have helped out completely. I also used the “Textured Solid” option instead of the “Textured View” Option. Just change the shading option if you want the models to look better (within Blender).

I guess I wasn’t clear enough. Sorry about that. It’s not a shading issue.


Take this for example. It’s Mario’s leg, imported with your script. The UV seam on the inner side is interpreted as a cut in the model. This is a common error with game asset imports, and it makes the model practically useless. I would suggest that you select and merge all the edge vertices of all the UV islands on import, so that the user won’t have to deal with this. Doing this manually is incredibly tedious and also leaves a lot of room for mistakes of all sorts.

On a side note, you wouldn’t happen to know of a similar import script for BFRES models (as used in BOTW)? The only script I am aware of requires 3DSMax, and I’m not touching that software with a ten-inch pole. It’s the only thing keeping me from making character mods.
(Ideally, you should be able to import Nintendo’s game assets directly into Blender, modify them, and then export them in a game-ready state without having to resort to any additional software. But that’s just a far-off dream of mine.)

I’m looking into this problem, but in the meantime, here are the same two models rendered using the “Textured” option. Notice now that the UV seams are no longer visible, most likely because the lighting is completely uniform with this option. The UV seams could just turn out to be hard edges that can be seen even with “Textured Solid” turned off. Once models are exported for use with other engines, the UV seams should not be visible.


I have not known of any addon the can deal with BFRES files besides the one at https://gitlab.com/Syroot/io_scene_bfres, and I have no sample files I can test against yet.

When I got it, The import option for it is greyed out.

I’m a little late here, but the first post has been updated to add information about Blender 2.80+ support.

Everytime I try to import a model, the UV mapping is horrible

It should not happen normally, but the UV maps should import correctly. Are you talking about that the UV maps are badly distorted that the images don’t unwrap correctly, or is it about minor details that cannot be seen closely?

Can you show me an example so that I can take a closer look? The latest version that I have released is 2.1.0 from last month. Try updating if you haven’t first?

Not mentioning that the add-on doesn’t work for me, when I import it, the textures on the models are just flipped randomly, on pikachu’s body, I had to flip the UV Map Horizontally

:astonished: Well, that doesn’t look good. For me to give you more details on what you can do next, I need this information from you:

  • Blender version you’re using now (I tested the scripts on 2.83.x, but it should work normally on newer versions)
  • Operating system you’re using, and version.
  • The version of my scripts you’re using (get the latest version you’re using from at https://gitlab.com/Worldblender/io_scene_numdlb/-/releases/2.1.0-fix)
  • When you tried this import.
  • Where you obtained the original model files and textures from.

I see from the screenshot of Pikachu that the mesh data imported correctly, but the UV maps are worrying me, since I haven’t ran into such a problem yet. I’m certain that I can fix the problem you’re running into, but it’s harder for me since I’m the only one working on these scripts. While gathering that info, make sure:

  • You’re using Blender 2.80 or later, as most of my development has shifted to these newer versions.
  • The files you’re trying to import from aren’t corrupted.
  • Try running Blender from the command line, or show the terminal window if an option exists.

I will try my best to help you, but there’s no guarantee that I can solve your specific problem.
I may also recommend getting the textures from [removed by moderators], which has all of the textures converted to PNG format, ready for use in other projects.