WoW Skins
Clothing Swap Tutorial by TrollPaxton

- -


World of Warcraft Hi-Res Model Tool Tutorial
Written by Troll Paxton

Hey folks, here is a tool you can use to increase the poly count of models.
(Current build # = 5.)

Using It:

The most powerful way to use this app is via the .INI file it comes with. It has a command line interface but the CLI only recognizes a handful of the options that the INI does.

(Early versions of this app had a shortcut which you could use to drag and drop to do conversions. I'm avoiding that mechanism now, as while it can be convenient sometimes the ambiguity of the output file makes the confusion it causes ultimately not worth it to people who are just learning to use it.)

For people who are unfamiliar with .INI files, here are a few tips:

- An .INI file is just a text file. You can treat it as thought it were a .TXT file. Open it with Notepad or your favorite text editor. (Word is going to fight you, better to keep it simple.)

- Every line that starts with a # is a comment: the program will ignore it entirely. I use comments to leave notes and to store common file paths and such.

- Options are specified like so: "option = value", only one per line. Most options can only be specified once. If you do it more than that I think it only uses the first one. (One option in my INI can be specified multiple times: "geosetID".)

- [Sections] are denoted with square brackets. Everything after a [Section] line until the next section line is in the section. They are kind of like folders for options. The important thing to remember about sections is that the program expects options in specific sections.

- Every option you can specify to this program is listed in the INI file it comes with. Almost all are commented out by default.

Using the ini file, then, is a matter of uncommenting the options you want the program to use.

Hi-Res Walkthrough:

1) Open the INI file and find the line that starts with "#inputFile =". Remove the # and replace the default path with a path to the specific model that you want to hi-res. Maybe it's a one you've modified already, or maybe it's fresh out of the MPQ, doesn't matter. Here is an example of what the result might look like (notice that my model file has "orig_" at the front--I do that so that I always have a copy of the original model that doesn't get trashed when I experiment):
inputFile = c:\w0w\data\character\nightelf\female\orig_nightelffemale.m2

2) Next we need to specify the file we want to create using the outputFile option. It's a good idea to give it an intermediate name so that we don't have to destroy it when we make the final file:
outputFile = c:\w0w\data\character\nightelf\female\nightelffemale_hires.m2

3) At the same time we can export an OBJ file for 3dsMax or other modelling tool. We do that with the objOutputFile option:
objOutputFile = c:\w0w\data\character\nightelf\female\nightelffemale_hires.obj

4) Uncomment the bIncreasePolyCount option. This is one of a number of special options that I call "operations". They specify an action to perform on the file. Most of the other options further down in the INI file control details of how the operations perform. You can specify more than one of these at a time (but I don't guarantee every combination will work).
bIncreasePolyCount = true

5) Save the INI file (you can leave it open) and run TPModelTweaker.exe. A "dos box" will pop up and the program will start telling you what it is up to. If you typed in any of the paths wrong it will tell you something along the lines of "Error opening that file". Those errors almost always mean the path is wrong.

6) Import the OBJ file into the 3D editor of your choice, do your editing, and export a modified OBJ. This tool exports geosets as groups, as well as normals and texture coordinates, so the options are a bit different from GMES. Here's how they should roughly look in Max.

7) Now that we have an edited NightElfFemale_HiRes.obj, we want to import it back in. To do that we need to specify the M2 file that matches the OBJ as well as the OBJ. This is a very important point--both of those files are needed. Why? Because OBJ files only contain a small portion of the information--just some vertex information--that M2 files contain. This next step is basically just about merging the modified vertex information in the OBJ in with the M2. Here are the changes that need to be made to the INI file:
inputFile = c:\w0w\data\character\nightelf\female\nightelffemale_hires.m2
outputFile = c:\w0w\data\character\nightelf\female\nightelffemale.m2
objInputFile = c:\w0w\data\character\nightelf\female\nightelffemale_hires.obj
#bIncreasePolyCount = true

8) Save your INI file changes and run TPModelTweaker.exe again to create NightElfFemale.m2. That's it! As you get more comfortable with the process you can explore the other features and options listed in the INI file.


- Currently, it only works on character models.
- To save resources, by default it only hi-reses the base geosets of each model: face, body, arms, hands, legs, feet. Hair, gloves, dress, capes, tabards, boots, etc are -not- increased.
- You can run it multiple times on the same model, but if you do it more than that you run the risk of exceeding the number of poly's of a M2 file and it will probably crash either this tool or the game.

Technical Stuff:

Here is a picture of what it does:

The poly count of a model is increased by 4 and the vert count is increased by some other number (it depends on the geometry). The inserted vertexes are placed right at the midpoints of each line segment, which means that really it's hard to tell that a model has even been subdivided, at least until it is modified. (The way to tell is that there is a tiny seam inbetween geosets that have been subdivided and those that havent, so if you put on a dress you should see a small seam at the character's waist.)

I'm not sure exactly how big you can make an M2 file, but at least one limit is that the tri indexes are counted with a 16-bit number, and so you can have at most 65535/3 = 21845 tris. Though it could be much less than that.

Local Link

Return to Tutorials

- Home -
- FAQ -
- Skins -
- Models -
- DBC -
- Tutorials -
- Tools -
- Links -