Oct. 20, 2008 @ 22:57
SMD Importer – getting closer to release!

It seems as winter draws nearer my freetime gets less and less so a lot of my projects have been pushed onto the back-burner for now. Work and family comes first, sleeping second and Ham and Jam third as I just want to see it done.

Luckily this weekend was quiet so I took some time to do some more work on the 3DS Max SMD Importer plug-in and got the vertex weighting code fleshed out so now the meshes is actually linked to the bones. Now that step is done, the importer actually becomes useful and I can think about making an initial release at least as an alpha version for testing.

Up until now the code has mostly been mostly prototyping so I’ve spent the weekend refining it and adding in error handling as I’m sure in the real world there will be the odd screwed up SMD file it’ll have to deal with. I need to put a nice options dialog and a few other bits and pieces as well before it’s really usable.

So here’s a recap of what you can/can’t do with the importer right now.

Imported TF2 Heavy

TF2 Heavy in 3DS Max 9. Model on the right is posed slightly to show the skin modifier working.

It imports the SMD as a single continuous mesh so you don’t need to weld anything back together (like with the MaxScript importer). It doesn’t yet re-build smoothing groups but you can fix this yourself by just adding an Edit Poly modifier on top and using AutoSmooth or do it manually. Materials and UV’s are imported and assigned to a Multi/Sub material type.

Bones are imported and posed in the reference pose but it doesn’t yet handle importing animations. That shouldn’t be hard to do, I just haven’t got around to it yet. Vertex weights are imported and the mesh attached to the skeleton via a Skin modifier.

There still a long way to go and I’ve a lot of useful idea’s for features for the importer but for now, I’ll just be happy to get something out the door people can use 😀

Feel free to ask any questions.

Responses to “SMD Importer – getting closer to release!”


Fantastic work man 🙂 This will be appreciated by so many people that it can’t be explained!

All of your work is worth awards! 😀 You’ve coded so many alternative tools that you should be awarded with a nobel prize heh

Keep up the good work! 🙂

Posted by Penguin
Tue, October 21st, 2008 @ 07:44

“You deserve a medal doc”

Posted by Big Bloss
Thu, October 23rd, 2008 @ 05:28

Great news. I’m waiting for this since you announced it.

Posted by Barnz
Sat, October 25th, 2008 @ 00:50

Dear lord, this looks like it could possibly fix all my problems.

I’ve been having massive trouble trying to find a way to accurately animate TF2 characters for machinima purposes, but this looks like it could fix all my problems in a snap.

Dying for the first release.

Posted by Mystfit
Sat, October 25th, 2008 @ 12:58

Beautiful.

Posted by Phil
Sat, October 25th, 2008 @ 15:51

Been looking for a way to import the existing TF2 models into 3ds max, to do some animations with them. However, I haven’t really reached the point where I’d be importing the models as smd files into 3ds max, as I am failing on even converting the mdl etc files into smd files. Seeing as this plugin requires them to be in smd format, how would you go on about making them into smd’s?

The MDLDecompiler by cannonfodder doesn’t work at all for me. I’ve tried the removing of the 0 etc, no luck what so ever. Any assistance in getting the ingame PLAYER models to 3ds max would be greatly appreciated, or any other suggestions how you could go on about adding custom gesture movements.

Posted by Tuna
Mon, October 27th, 2008 @ 17:32

To get the TF2 models to decompile you need to change the IDST tag at the top to a lower version number. HL2/EP1 MDL’s are version 44 whereas TF2/EP2 are version 48.

The key is the single byte after the IDST header which is HEX 30 in TF2 models. You need to change this to HEX 2C. If you want that in plain-text speak, change IDST0 to IDST, in the file.

Posted by Jed
Tue, October 28th, 2008 @ 18:01

Hey Jed,

First off, thanks a bunch for all the tools. Modding Source with Max would be really difficult if not impossible without you. You’re a rockstar.

And now the prerequisite question: In working on this importer, did you find any rhyhme or reason behind why decompiled .smds are oriented in different directions? When I imported with the old Mdldecompiler and Max 7 importer, the skinned mesh files came in Y up, the reference poses and partial body anims as X up and the full body anims as Z up. Has any of your work made any sense out of why that is? I’m halfway through a custom TF2 character and hit a wall with this.

Posted by Ryan
Tue, October 28th, 2008 @ 18:43

Oeh SHINY! Good work. Do you have a release date planned yet?

Posted by boedy
Wed, November 5th, 2008 @ 02:49

Orientation can be due to the modelling program they were made in. Max comes from an old CAD standard of “looking down” on a page so X&Y are on the horizontal plane and Z is “up”. Most other packages orientate their axes as if you’re looking at a screen so X&Y are in the vertical plane and Z the horizontal.

As for fixing it, yes, I’ve considered adding an option to re-orientate on export but it’s a “wishlist” item hence it’s low down my priority list.

Progress is going well, some issues to fix but maybe a alpha release in a week or so.

Posted by Jed
Wed, November 5th, 2008 @ 18:47