Valve SMD file import plug-in for 3D Studio Max

This plug-in enables 3D Studio Max to import SMD files from Valve games. It was inspired by the work of Cannonfodder who did similar work for 3DS Max versions 5 thru 7.

Download

3D Studio Max 9-2012

3D Studio Max 2017, 2018, 2019, 2020

Installation

Unzip the archive and find the folder for version of 3DS Max you are using and OS type (32 or 64 bit). Copy the .dli file from that folder to you 3DS Max plug-ins folder and restart 3DS Max.

Plug-in Options

When you first start the importer, you’ll a small pre-parse dialog with two options to skip the mesh or the animation. You can use these to speed up reading of the SMD file if it’s large and you only want certain information. In most cases leave these two options unchecked and press OK.

The following options are available when importing a model:

  • Import mesh – Import meshes from the file.
  • Rebuild smoothing normals – Smooth the model using vertex normal smoothing.
  • Import materials – Create a material for the mesh and assign face ID’s.
  • Import bones – Import the skeleton from the file.
  • Use dummy for orphan bones – Replace bones with no parent or child bones with dummy objects.
  • Use dummy for end bones – Replace bones at the end of chains with dummy objects.
  • Skin mesh to bones – Attach the mesh to the skeleton using a Skin modifier and the vertex weights from the file.
  • Import first frame only – Only read in the first animation frame from an SMD and use it as the reference frame.
  • Reverse animation – Reverse the animation on import.
  • Convert from left handed co-ordinate space – “Stand up” a model that was exported from another 3D app such as Maya.

Reporting bugs and feature requests.

As this plug-in is currently a work in progress it’s likely that on occasion it won’t work 100% as expected. I try to test my code as thoroughly as possible but the odd bug does slip through the net.

If you do find a bug that is reproduce able, please do let me know. Describe the bug as best you can along with the steps needed to reproduce it. I also need to know what version of 3DS Max you are using and if possible send a copy of the SMD file that was causing the error.

If there is a feature you would like to see added to the SMD importer, please let me know. I can’t guarantee to add it but I do consider all request.

F.A.Q

When I import my model, it’s all grey with no texture.

While the importer creates multi/sub-object material for the model it can only set the filename for the texture from the SMD. Because of this Max doesn’t know where to find the texture file and can’t display it.

To correct the problem, open the materials browser and use the picker to get the models material. For each sub material select the diffuse texture and browse to where the actual texture file is. Once done the texture should appear.

My model is smooth but has no smoothing groups?

The importer uses explicit vertex normals to recreate the smoothing exactly as defined in the SMD. The removes the need for smoothing groups and gives much more control. If you want to edit them add a Edit Normals modifier to your stack.

I don’t want to use vertex normals, how do I add/use smoothing groups?

First you’ll have to clear the vertex normals. You can either do this by re-importing the SMD with the smoothing normals option turned off or place an Editable Poly modifier on top of the stack. Once this is done you can then set the smoothing groups manually.

I’m using vertex normals for smoothing but when I export my model comes out flat shaded.

Make sure you have the latest version of the SMD exporter plug-in. Version 1.4 onwards supports explicit vertex normals.

My model is lying on it’s back when I import it.

This usually happens when original SMD was exported from Maya. Use the “Convert from Left-Handed” import option.

License / Disclaimer

This software is provided ‘as-is’, without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.

Full license of use can be found in the documentation included in the zip archive.