From Valve Developer Community
Revision as of 04:13, 8 November 2015 by EstevanTH (talk | contribs) (Added a reference to the codename "motionmapper" (Source SDK))
Jump to: navigation, search
Español Русский
Bug.png Bug:  Attempting to use Studiomdl or a shortcut of it pinned to the taskbar in Windows 8 will result in an invalid target path even when -game and an associated path is specified. However using a shortcut on the desktop still works. This is an issue on microsoft's end unfortunately.
For a guide to studiomdl's usage, see Compiling a model.

Studiomdl is the command-line tool used to compile models from the intermediate Studio Model Data format exported from modeling packages to the binary .mdl format that is read by the Source engine.

It can be found at "common\<gamename>\<gamefolder>\bin\studiomdl.exe".

In the Source SDK, Studiomdl is named by its codename motionmapper.

Tip.png Tip: The name "studio" is a throwback to the development of Half-Life 1, during which Valve used 3D Studio Max to create their models.


The only parameter required is a QC file. Any others must come before it.

studiomdl [options] <path\QC>


-game <gamedir>
Override system-wide game path.
Theoretically suppresses console output. In practice does nothing.
Enable Xbox 360 output (OB).
Disable Xbox 360 output (Ep1).
Disable warnings.


See $definebone.
Writes extra bone info to the console.
Writes some kind of animation weight graph to the console.
Equivalent to specifying $unlockdefinebones in QC.


Don't truncate really big collision meshes (Ep1 only; OB uses $maxconvexpieces).
Ignore all $lod commands.
-minlod <lod>
Throw away data from LODs above the given one (see $minlod).
Report performance info in console.
-mdlreport <path\model.mdl>
Report performance info for an already-compiled model. A QC file is not needed when using this command.
Report performance info as a comma-delimited spreadsheet. To do: Usage


Dumps various glview files (10 per LOD per VTX file),
Dump hitboxes to console,
Tag bad normals.
Dump names of used materials to the console.
Ignore warnings.
Replaces all materials with the default pink check pattern


-a <normal_blend_angle>
Auto-smooth faces equal to or below specified angle. Will override normal data for all meshes.
Flip all triangles.
"Tag reversed"..?
-vsi <path\[QC|MDL]>
Generate stripping information .vsi file. Works with QC and MDL. (Some sort of memory optimisation function? Possibly related to Xbox 360.)
Process binary model files (VSI?) and strip extra lod data.
Strip hardware verts to match the stripped model.

Output files

Skeleton, animations, bounding/hit boxes, surface materials, LOD index...
Vertex data optimised for DirectX 7, 8 and 9 respectively
Remaining hardware-agnostic vertex data, including the UV map
Collision mesh data

Input files

The input files may be smd or dmx. With the latest update, CS:GO studiomdl version supports FBX files.

See also