Why Use MD3s and Q3Data.exe?

q3data.exe is a command-line program written by id Software as a bit of a Swiss Army knife for various tasks, including the conversion of ASE models to Quake 3's proprietary MD3 model format. While ASE's are natively supported by Q3Map2 for mapmodels, there are times when you still need convert models to the old MD3, namely:

Weapon and player models require a conversion to MD3 in order for Quake 3 to display the animations correctly. Most mapmodels are better off as ASE but when part of the model (same with patchmeshes and non-quad brush faces) has a surface shader using autosprite, this will cause unpredictable results and an error in the game's console.

ASE misc_models can target certain func_ entities to operate with the entity. It only works for non-triggerable func_ entities like func_rotating and func_bobbing. func_ entities that are triggerable like func_doors won't work with this method because the entity is expecting a targeting trigger instead of the model. Instead, you have to attach a model with the func_ entity's model2 key. Problem is, the model2 key only supports MD3 files, so you have to convert your ASE model to MD3 to get this to work.

Prepping your ASE

We're going to assume that you have a proper model created in a modeling program and have properly exported it to ASE. It needs to have proper UV-coordinates and materials assigned. Make a note of where you saved your ASE model.

Creating the QDT file

The QDT file instructs Q3Data what to do when called. Open up a text editor and set some instructions like the following:

$aseconvert models/mapobjects/obsidian/mymodel.ase -switches

Note that the file path assumes that the model is in the correct mod directory and that it uses forward slashes. If you have more than one model that needs converting, just create a new entry for each model on the next line (good when you have a large batch of models that need converting).

Mapobjects don't require any additional switches, leave it blank.

If you are creating a weapon model, you need to uset the "-weapon" switch.

If you're creating a player model, you will need to set the "-origin x y z" switch as well as the "-playerparms" switch. I can't remember what the parameters are for -playerparms, you can look up that info in the Modeling Manual.

Save the file as myq3data.qdt.

Creating the Batch File

To compile your model, you will need to create a batch file for Q3Data.exe. In a text editor, create the following:

c:\path\to\q3data.exe c:\path\to\myq3data.qdt >c:\path\to\q3data.log

The last bit following the ">" optionally outputs a log file in case you have any errors.

Save the file as q3data.bat

Double click on the q3data.bat file and away you go. A MD3 file will be generated in the same directory as the ASE model.

Take a look at the QDT file that id Software used when making Q3. It includes a long list of example mapobjects, weaponmodels and playermodels.