Difference between revisions of "Modifying a Source Model in Maya"

From Valve Developer Community
Jump to: navigation, search
m (SubCategory Set)
Line 1: Line 1:
In this tutorial, we will go step-by-step through the process of getting Dr. Kleiner into Maya.
{{TutPOV}}In this tutorial, we will go step-by-step through the process of getting Dr. Kleiner into Maya.
==What You Need==
==What You Need==

Revision as of 17:42, 22 February 2006

In this tutorial, we will go step-by-step through the process of getting Dr. Kleiner into Maya.

What You Need

Maya PLE - A free version of Maya.

MDLDecompiler - To turn compiled MDL files back into SMD format.

VTF Explorer - My preferred method of handling VTF files. You can also use VTFEdit.


Fig 1: Selecting the model files.

First we'll decompile the model. For this we'll use MDLDecompiler which, once you've downloaded it, should be in your ...\SteamApps\<account name>\sourcesdk\bin folder. When you launch mdldecompiler.exe, make sure that Steam is running and that "Use Steam File Access" is checked. Click the ellipsis button next to the "Choose Model File" field and locate the Kleiner model (see Fig 1).

Fig 2: An alternative means of extracting the model.

If you have trouble accessing the GCF file, use GCFScape to extract Kleiner.dx80.vtx, Kleiner.dx90.vtx, Kleiner.mdl, Kleiner.phy, Kleiner.sw.vtx and Kleiner.vvd from source models.gcf (see Fig 2). Then uncheck "Use Steam File Access" in MDLDecompiler and locate the extracted Kleiner.mdl file for the "Choose Model File" field.

Fig 3: Extracting the model files.

When you have the model file selected, you can extract it to a directory (see Fig 3). For this tutorial, I will use D:\test\.

Now we need to extract the textures in TGA format. Using VTF Explorer, navigate to source materials.gcf\hl2\materials\Models\Kleiner. Select the first texture and choose File > Save As > Targa (*.tga) (see Fig 4). Repeat this step for each of the eleven textures (unfortunately, there is no way to export them all at once). You may save them wherever you like, but for ease I will put them in D:\test\.

Fig 4: Extracting the texture files.

Great! Now that everything is extracted, we can begin importing into Maya.

Importing into Maya

The Source SDK comes with scripts that allow Maya to import and export SMD files. In order to use them, we must put them in the correct Maya scripts folder. So, copy the contents of the ...\SteamApps\<account name>\sourcesdk\maya\4.5\scripts\ to the \maya\7.0PLE\scripts\ folder in My Documents. Now we need to tweak two of the script files to avoid version compatibility problems. Go into \maya\7.0PLE\scripts\smd\ (the folder you just pasted), select both smdRead.mel and smdMakeShader.mel, right-click, select Properties, and uncheck "Read-only." Now open smdMakeShader.mel with Notepad and change the line

connectAttr -f ($place + ".mirror") ($fileTex + ".mirror");


//connectAttr -f ($place + ".mirror") ($fileTex + ".mirror");

Save and close. Now open smdRead.mel with Notepad and change the line

print `system "time"`;


//print `system "time"`;
Fig 5: Import kleiner_reference.smd into Maya.
Fig 6: You will be prompted when the model is imported.

Save and close. Now open Maya. From the file menu, choose Import SMD... and locate the file kleiner_reference.smd from among the many that were decompiled (see Fig 5). Click Import. Maya will then prompt you to find "mouth." It is looking for the mouth texture we extracted earlier. Navigate to the textures (if you follow my directory nomenclature, they will be in D:\test\) and select mouth.tga and press Find. Maya will then import the model. THIS WILL TAKE A LONG TIME! My machine takes about 9 minuets and 25 seconds to complete this operation, and I have a pretty nice system. While you wait, Maya will appear to be unresponsive. Just give it time. When the ordeal is over, the model should come in sideways and you will be presented with an orientation prompt (see Fig 6). The model thinks Z is up but Maya, by default, thinks Y is up. You can choose to change one or the other. I choose the left-most button: "Model > Y-up."

Fig 7: The model is unusually deformed.
Fig 8: Update the bone weights to fix the problem.

Now press 6 to enter ShadedAndTextured mode. Looking at the model, you will notice some odd spike (see Fig 7). This is an issue with skin weights. It is easily resolved. Select the polymesh (click anywhere on the model) and press Ctrl+A to open the Attribute Editor. Go to the skinCluster1 tab in the attribute editor and click the "Update Weights" button (see Fig 8).

You now have a properly textured and rigged model in Maya ready for re-skinning, animation, and other editing!