- For a guide to studiomdl's usage, see Compiling a model.
It can be found at
The only parameter required is a QC file. Any others must come before it.
studiomdl [options] <path\QC>
- Override the VProject game path.
- Suppresses some console output, such as spewing the searchpaths.
- Enable Xbox 360 output, overriding the Gameinfo.txt
- Disable Xbox 360 output, overriding the Gameinfo.txt
- Disable warnings.
- Print no more than the specified number of warnings.
- See $definebone.
- Writes extra bone info to the console.
- To do: Appears to dump xnode data for each node?
- Equivalent to specifying $unlockdefinebones in QC.
- Prints engine-ready keyframe data for each animation.
- Skip processing DX7, DX8, X360, and software VTX variants (use .dx90.vtx only). This speeds up compiling.
- Skip splitting quads into tris. This changes the rendering flags for the model, most likely resulting in slower performance or buggier rendering in-engine.
- Don't truncate really big collision meshes (Ep1 only; OB uses $maxconvexpieces).
- Ignore all $lod commands.
- Throw away data from LODs above the given one (see $minlod).
- Report performance info for an already-compiled model. A QC file is not needed when using this command.
- Same as -mdlreport.
- Report performance info, per LOD, as a comma-delimited spreadsheet. It will appear in the form:
Path to VTX, VTX file extension, LOD number (1 is the root lod), tri count, number of batches rendered, number of materials used
- Must be used with -mdlreport or -perf! Note:It doesn't actually write a spreadsheet to disk.
- 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
- Prints an easily parseable message indicating whether the compile was successful or a failure.
- Prints info on which bones are being retained and which bones are being collapsed.
- Disables Valve's Perforce integration. Unless you actually have Perforce set up for your game/mod (a highly unlikely scenario), you should use this.
- Compile the model, but don't actually write the results to disk.
- Auto-smooth faces equal to or below specified angle. Will override normal data for all meshes.
- Flip all triangles.
- Bug: Does not work in Orangebox and later builds of Studiomdl. You can achieve the same behavior with $body, however.
- Generates a VSI file from a QC or MDL.
- Strips down a model, removing its LOD info.
- Strips down hardware verts (VHV) of their LOD info.
- Generates a simple makefile for later compiling. It also parses the QC for any errors, and runs in
- Runs studiomdl in the context of the provided path.
- Adds the provided path as a content search path.
- "Tag reversed".
- Probably meant to test the model collision for any physics errors. Skips whatever argument is provided after it.
StudioMDL supports a range of input formats. These include SMD, DMX, and OBJ for reference meshes and VTA files for vertex and flex animation. Counter-Strike: Global Offensive also supports FBX, but with limited functionality - it doesn't support bones, animation, or flexes, for example.
- Skeleton, animations, bounding/hit boxes, surface materials, LOD index...
- Vertex data optimised for software rendering, XBox 360, DirectX 7, 8 and 9 respectively. Note:.360.vtx files are just byteswapped .dx90.vtx files.
- Remaining hardware-agnostic vertex data, including the UV map
- Collision mesh data
- Common Studiomdl errors
- Crowbar, a popular graphical interface for studiomdl which also supports model decompiling and other advanced features.
- Studiocompiler, a graphical interface for studiomdl
- GUIStudioMDL, another graphical interface
- Source Model Compiler, a web based model compiler and QC generator.
- Fixing the 5% Weight Bone Link Cull, for SFM