What's new

BMD plugin for 3D studio max. Imports bones, skinning, animations and vertex colors.


New member
i run the script in max scirpt but nothing happens, can someone plz help, thanks

^^^^ nevermind that, i got it working, but my problem now is that it dosnt import textures.... plz help
Last edited:


New member
The problem with exporting textures might be the same cause discussed previously in the thread. Try doing what's adviced and see if that might help you.


New member
The importer loads all animations in the ../bck folder.
Ash.arc 0.rarc_dir\archive\bmdr\ash.bmd
Ash.arc 0.rarc_dir\archive\bck\*.bck

If you use the ".x export" radio button it loads all animations one after another. It also uses kW X-port to export the mesh and animations to a .x file (might need to install kW X-port plugin).
The "character export" option will create a character assembly but it won't show any animations by default (animations saved to "Ash.arc 0.rarc_dir\archive\bmdr\ash\Animations\*.anm"). Select the character assembly and click the "Insert animation" button in the modifier panel.

I like using character studio for animations so I started working on a script to convert them. It's still needs a lot of work and it only works on the ash character (Zelda TP) for now but it might be useful to someone. Be sure to untick "Include scaling" and select the ".x export" radio button during import. Then run the ashConverter.ms script.

Test movie clip using motion captured bip file (~1MB). Bip file is pj_shows_us_why_interns_need_guidance.rar from http://freemotionfiles.blogspot.com/search/label/BIP


New member
I can't help but notice how some of the bones become mesh rather than bones, making it harder to export the animations into another program.


New member
It does support vertex colors but I've only seen it used in stages and not the characters so far.

Without vertex color

With vertex color

Textured without vertex color

Textured with vertex color


New member
Yeah, I figured that part out. But I'm talking about blending textures by vertex data.
Here is some samples taken from BMDViewer 2, the Fishing Hole from TP.
Proper render:
Withouth Blending:
Withouth vertex colors:
Only vertex colors:

Which leads me to think blending is done by vertex colors as alpha blending is done by a integrated channel in the images. This is not something which can be achieved by images.

Here are some more images, from the rainbow:

edit: As I checked some more, there are some textures that is blending with an alpha channel, such as the spider web in Impaz house. It toggles when I press Q in BMD viewer, which indicates blending, but when I export the textures, it is an alpha channel on the texture.
However, there is no such texture for the fishing pond.
Last edited:


New member
The materials in your screenshots are created by complex multitexturing operations, where several textures are layered on top of each other. Their colors are combined in non-trivial ways. bmdview2 tries to emulate the gamecube graphics hardware and compiles the materials into opengl glsl shaders.

I don't know if 3ds max even supports that for importers. So I don't think the importer can look better than bmdview2 with the "G" key pressed (which disables glsl shaders).

Apache Thunder

New member
I just came across this plugin. But one major issue holding me back from using it.

I get the plugin working and it imports what I want just fine. But the problem is, I can only select the bone objects and point helpers. I hide them all except the visible mesh (the banana object from Mario Kart for example), But I can't select it and modify it. Nor does it even show up in the selection box. WTF? This prevents me from re-exporting it or adding modifiers.

How do I select the actual mesh? It's in the scene, so I see no reason why it wouldn't let me select it. This is very odd. I didn't have this issue when I exported 3DS files with BMDViewer2 and opened them in max. So no reason why it would do this.

I'm using 3DS Max 6 by the way. I will try get this working on Max 7 and see if that works any better. If I an get this working, this would sure beat using BMDViewer2. It's the bone object import/animation import stuff that is why I would want this to work.


Just now found the problem. By default the importer imports the mesh as "frozen". I hit unfreeze all and now it lets me select it....Why does the importer import it as frozen? This is bound to cause issues with less experienced 3DS Max users. :p
Last edited:


New member
Is there an available mirror to download this from?
I was hoping to use this plugin again, but megaupload is gone.

hopefully somebody will reply, thanks.


Active member
Just attaching it to the thread here as well since attachments work again yay! :)


  • MaxBMD_1_1.zip
    93.5 KB · Views: 2,500


New member
Hi, everyone. I'm making a Zelda game, and with the great help of this script I can quite easily work with the models and animations. Fantastic work, Coder! Will there be updates for this script? I have some issues with it.
First of all, the models with one bone (like doors or Eldin bridge) may contain animations. This script just ignores them and this single bone.
The second is the bone prefix, based on the filename. Some models, for example Link in each armor use same animations. But for doing that, i need to rename all models of the Link to an equal names before import. Some option to do not include prefix in bone names would be great.
The last is that i get errors while importing specific models. For example, fairy model o_gd_nv.bmd from AlAnm.arc (it says invalid normals) or door animation models from static.arc (unknown property: "count" is undefined).
I already solved some of this problems in 1.0, just commened out some strings, but new update had returned them all again.
Last edited:


New member
Glad you like the script. I'm not planning on making any further updates and I don't check the forum often but I'll try and help if I have some spare time.

To remove the bone filename prefix try updating the following in BModel.
fNode.name = _bmdFileName + "_" + f.name
change to
fNode.name = f.name

It looks like the other issues would take more time to fix. I don't think there are any major changes between 1.0 and 1.1 so it's probably just as easy to use your edited version.
If possible, could you upload your version with the fixes? Good luck with the game.


New member
To solve the first problem with one bone models, I commented this lines in MaxBMD.mcr:
4682 --if ((rootFrameNode.children.count == 1 AND rootFrameNode.children[1].children.count == 0)) then
4683 	--_createBones = false
The result was an error, I fixed it by changing this line
3182 -- dir  = normalize (parentBone.position - start)
3182 dir  = [0,0,0]

"Invalid normals" fix.
3958 if (normals.count != vertices.count) then
3959 (
3960	 --messageBox "Invalid normals?"
3961	 --throw "Invalid normals?"
3962 )

I just remembered, that I can not find vertex alpha anywhere. Vertex colors is all right, but it seems, alpha is missing. This one is serious problem. It greatly increases works amount. I have to restore it manually to the second UV channel for each imported level.