Compiling a model: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(cleaned up formatting, links)
(Solution to male_06_sdk compile error)
Line 36: Line 36:
  cd "%sourcesdk%"
  cd "%sourcesdk%"
  bin\studiomdl ..\sourcesdk_content\cstrike\modelsrc\lamp\it_lampholder1.qc
  bin\studiomdl ..\sourcesdk_content\cstrike\modelsrc\lamp\it_lampholder1.qc
== Sample Models Compile Errors ==
If studiomdl displays the error: <b>duplicate weightlist pelvisonly</b> when compiling the <code>male_06_sdk</code> model, the problem may be the inclusion of the file <code>Male_Animations_sdk/WeaponsAnims_Shared_sdk.qci</code>.
That file contains a <code>$weightlist pelvisonly</code> line identical to a line in the included file <code>male_shared_XSI_sdk.qci</code>.
* In the <code>Male_Animations_sdk</code> folder, make a copy of the <code>WeaponsAnims_Shared_sdk.qci</code> file.
* Rename the copy to <code>WeaponsAnims_Shared_sdk_X.qci</code> (or other unique name).
* Edit the <code>WeaponsAnims_Shared_sdk_X.qci</code> file and comment out the $weightlist line
"//$weightlist pelvisonly ..."
* Open for editing the file <code>male_06_sdk.qc</code>.
* Change the line $include "../male_animations_sdk/WeaponAnims_shared_sdk.qci" to
$include "../male_animations_sdk/WeaponAnims_shared_sdk_X.qci" (or as otherwise renamed above)
* Save the <code>male_06_sdk.qc</code> file.
* Recompile <code>male_06_sdk.qc</code> to determine if the error was corrected.


== See also ==
== See also ==

Revision as of 10:10, 24 June 2006

This article explains how to use the Source SDK tool studiomdl.exe, located in the sourcesdk/bin directory. Studiomdl is used to compile source .SMD files exported from a modeling package, combined with a .QC script file, into a .MDL file that can be used by the engine.

Exporting and Compiling Models

Follow these steps to export a model from XSI and compile it with the Source SDK tools:

  1. Export the .SMD files somewhere under the SDK's modelsrc directory for the game you're compiling for.
    For example, for a Counter-Strike Source model:
    C:\Program Files\Steam\SteamApps\username\sourcesdk_content\cstrike\modelsrc
    or
    C:\Program Files\Valve\Steam\SteamApps\username\sourcesdk_content\cstrike\modelsrc
    Where username is your Steam Login name.
  2. Create a .QC file in the same place as your .SMD files. You can refer to the QC files that are already in the sourcesdk_content\cstrike\modelsrc directory for examples.
  3. Make sure you have the proper Current Game selected on the SDK Launcher panel (eg. Counter-Strike: Source).
  4. Run studiomdl.exe on your .QC file. To do this, open a Windows command prompt, and type:
    cd "%sourcesdk%"
    bin\studiomdl ..\sourcesdk_content\cstrike\modelsrc\mymodel.qc

    Note.pngNote:This makes use of an environment variable called "sourcesdk" to simplify things. This environment variable is created upon installation of the Source SDK.
  5. If there are no errors with the .QC file or your .SMD files, then you will have a .MDL file in the location specified by the $modelname key in the .QC file.
  6. You can now run Model Viewer in the SDK launcher and open your model file.

Placing models

You can place a model with the Hammer level editor to see it inside the game.

To place a compiled model in Hammer:

  1. Open the Hammer Editor from the SDK Launcher.
  2. Add a prop entity with the Entity Tool (prop_static, prop_dynamic or prop_physics_multiplayer, depending on your model type). In the Object Properties for the entity, browse the model tree to view and place the model. See the Hammer documentation for information on how to use the Entity Tool.

Sample Models

There are a number of Counter-Strike: Source and Half-Life 2 sample models in the sourcesdk_content directory that you can refer to for examples. They are compiled in the same way as models you create yourself. For example, you can type these commands at a command prompt to compile the lamp holder sample:

cd "%sourcesdk%"
bin\studiomdl ..\sourcesdk_content\cstrike\modelsrc\lamp\it_lampholder1.qc

Sample Models Compile Errors

If studiomdl displays the error: duplicate weightlist pelvisonly when compiling the male_06_sdk model, the problem may be the inclusion of the file Male_Animations_sdk/WeaponsAnims_Shared_sdk.qci.

That file contains a $weightlist pelvisonly line identical to a line in the included file male_shared_XSI_sdk.qci.

  • In the Male_Animations_sdk folder, make a copy of the WeaponsAnims_Shared_sdk.qci file.
  • Rename the copy to WeaponsAnims_Shared_sdk_X.qci (or other unique name).
  • Edit the WeaponsAnims_Shared_sdk_X.qci file and comment out the $weightlist line
"//$weightlist pelvisonly ..."
  • Open for editing the file male_06_sdk.qc.
  • Change the line $include "../male_animations_sdk/WeaponAnims_shared_sdk.qci" to
$include "../male_animations_sdk/WeaponAnims_shared_sdk_X.qci" (or as otherwise renamed above)
  • Save the male_06_sdk.qc file.
  • Recompile male_06_sdk.qc to determine if the error was corrected.

See also