MDL Loader for 3ds Max

There will soon be a native MDL loader for 3ds Max in Wall Worm. Below is a little taste.

WW Pro customers using 3d Max can already preview this plugin by installing the WW Pro beta. After out of beta, it’ll be added to the general WW for Max 2015-2017.

Good work!Also I wish that the SMD importer and exporter can be convenient as the old tools such as wunderboy’s smd tools :smiley:

Thanks for the kind word.

In terms of SMD. This MDL loader is primarily intended to replace the need for SMD importing. It will be a replacement for staticprops out of the gate. For animated models, it’ll still be a bit.

PS. I meant to say in OP that the plugin is only working in Max 2016 in the WW Pro beta. Once testing is done we’ll add to free ww and other versions of Max.

this works with csgo?

So how does this mdl import work? Does it import the Textures aswell? Or do we need to convert the textures for that? Well. Very good job! This will hopefully make everything easier! Its just a loader right? not exporter?

I guess it works just like decompiling the model and importing the .smd would. It’s just its all in one. Probably got some help from whoever is working on Crowbar


While you can use it as an importer, it’s technically a new geometry class that derives its data for the mesh directly from MDL files. You won’t need to convert textures, it will get VMT and VTF from the VPK. However it does convert the VTF to TGA in your MATGen path on-the-fly.

The developers who worked on this were Dave Brennan (who worked on it during his personal time for a few years while working at Activision); myself, after Dave donated the project to Wall Worm; Chetan Jaggi and Richard Geslot (a couple fellow developers at Black Mesa with me). Their links can be found in the docs linked in the OP. Black Mesa essentially funded the project for some of our work to finish the arting of Black Mesa. And now the entire Source Community will benefit from the effort. So make sure to show your appreciation and adding Black Mesa to your Steam library if you don’t own it already.

The plugin doesn’t really work like Crowbar as it’s not decompiling and building new files. It’s really working just like HLMV or Hammer for having the model in Max. Again, it’s a new geometry class in Max (like Box and Sphere) but this one is called Source Model in the UI.

Thats awesome work! its going to make things so much more easier! (Pardon for all the questions i got) But will we need to decompile the model for its Animations and such?

Well, animations won’t be in initial release. I do intend to add that but no ETA.

I remember seeing some MDL loader for max a while back when Dota 2 modding was starting. For some years I was wondering why it didn’t get much attention since it’s probably much easier to import the whole mdl than decomp, install plugins+convert and finally then importing to the program.

The only bad thing is that these easy things were only developed now that I don’t mod for source anymore lol

How well does it work with more complicated models such as characters (with eye posing and flexes)

Initial release will not include posing, flexes or animations. All are features that I’d like to add, but that is dependent on time.

Initial release will include:

Materials (skins)
Collision Hull

Later releases will likely add more features.

Will it import collision hulls properly? That’s one thing that bugged me about smd importers is it could never import collision hulls for meshes with faces in the same spot.

Are intending to add layer support for stuff like bodygroups? Sort of asking in terms of bgroups grouping. It can get a tad insane once you start running into multiple groups, each with a multitude of entries.

Last but not least - out of curiosity what kind of normal system are you implementing? :slight_smile:

Yes, it will support them. Hulls don’t work in the current beta but will in release version. (In terms of misaligned hulls in SMDs, this isn’t something I’ve had issues with when using the QC importer in WW. But I don’t do much importing and only use the QC importer when I do… so never import SMDs one at a time, etc.)

At this time, there is a drop-down to change which bodygroup and another menu for selecting submodels (as in HLMV). I have planned a little manager to display all bodygroups at once and the current selection so you can pick and choose from a larger list. That function will probably not be in the initial release.

At the moment, the normals are set with Mesh.setNormal() but this has problems when collapsing to ediable poly. We are looking into fixing this to be compatible with explicit normals that can collapse to epoly.

You can now go get this for Max 2015-2017. Have fun.

Please read docs linked in OP for current usage and current features, limitations, known issues, etc.

(lil bmp)
I get this error trying to use the mdl importer

Thanks for reporting.

I can confirm the bug if you click Wall Worm > Wall Worm Importers > Import MDL before loading any other MDL nodes.

The workaround until I figure it out is:

In the create tab, choose Wall Worm from the geometry drop down list. Then click Source Model and create a Source Model node in the scene. Now load MDL directly in that node; also, the Import MDL button works now that you do that.

[editline]26th October 2016[/editline]

OK, I’ve updated WW with a fix. The main changelog won’t list it tonight but v2.912 is loaded and patches that.

The dmx support I hope to see up.Cuz be nice to pipeline max for sfm and other games for animations.

The site says it works on 2015-2017, but when using it in 2017 I get this message:

Guess it’s 2016 only then.


Don’t worry, got it working