Introduction
Quake's 3D models set a standard in 3D shooters. This is the era of 3D which means little or no more 2D sprites, as games before were all 2D. Welcome to the era of 3D, which you'll find most all new games are becoming, and with the ability to create totally new entities, you'll see how these 3D games are changing for the better! The purpose of this guide is not a tutorial
on how to create models with a certain program, but an overview on several ways to create them. If you're looking for tutorials on a certain program, well trueSpace, Lightwave, and 3D Studio 4 and MAX, check out my friend KrAy-ZeE's Modeling Guide and John Gordon's, of The X-MEN Quake TC, Modelling and Skinning Tips. A small tutorial on using BCad to create models can be found on TiC's Quake Editing Pages. There is also an excellent tutorial included with qME.
Preparing
There are several ways to create a model for Quake. You can either use a 3D modelling program and compile it into a .mdl with id's Utilities or MeDLe, which are probably the best ways, or with qME from scratch. qME is an excellent program and can do about everything you want. It can be used to examine, edit, or create totally new models from scratch. It can also be used to import and export some useful files and import Bitmaps for skin and has a 2D and 3D paint feature. The only bad part is that the demo version cannot save a model with more than 20 frames, which most Quake models succeed.
MeDLe is a Command Line Interface(CLI) program like id's Modelgen and Texmake, but it has many more features. It can accept Raw Data(.raw) and 3D Studio Ascii(.asc) files for frames and export POVRay(.pov), AutoCAD(.dxf), Raw Data(.raw), 3D Studio Ascii(.asc), Quake Map(.map), VRML(.wrl), and 3D Studio(.3ds) files. It can import and export skins as Windows Bitmap(.bmp) and Non-interlaced Compuserve GIF 87a(.gif) files, and can do many more things with models via an easy scripting language. MeDLe even includes a built-in model viewer so you can preview your work!
id's Modelgen accepts 3D Studio(.3ds), Lightwave(.lwo), and Alias(.tri) files for the frames and Texmake generates Bitmap(.bmp) and Deluxe Paint(.lbm) files for the skin/s. The graphic files created can only be opened with some programs and converters and thus will make them useless unless you have one of the few programs or converters. To save yourself much time and trouble, I reccommend that you just use MeDLe for putting the skins on the models. The files created by Texmake must be used with Modelgen for a default skin, so don't delete them, even if you think your model is 100% complete.
You can also use Steven Crowley's Compilation of Modelgen and Texmake accept Raw Data(.raw) files for frames and ZSoft Paintbrush(.pcx) files for the skins. You may also need a conversion utility if your 3D program cannot export to any file types supported by these programs or just for convience, such as Crossroads. I must warn you though, that occassionally some conversions aren't 100% perfect, so it's best to find a good program that can export to one of these file types.Now, you should be ready to begin since you know what you're getting into. You may find a list of all the current available 3D Software Packages at 3D Ark. Keep in mind that many are expensive and only for serious 3D Artists, but like most things, the more expensive, the better.
Information on the
Structure of Models
It is important to know the basics of the model structures and model editing and creating before you start so that you won't waste time doing the wrong things. Before beggining to create a new model, I recommend that you examine some of id's by extracting them from either two of the .pak files with AdQuedit, and get the Manuel too. Quake's models have a .mdl extension and consist of a certin number of frames and a skins/s, that cover the model.
You must have knowledge of using your 3D Program of choice before beggining any modelling. Experiment with it and try to make some freehand models that look a little impressive. Consider modelling like sculpting. Most models start with an object, cube, sphere, cone, etc., which is sculpted by moving the vertices points and by stretching and bending it with your modelling program. Models can use several objects also. Each object seperate in the model will be kept apart from each other on the skin so that they may be drawn on seperately. Quake's models, are simple and consist only of up to 500 polgons, triangles with three points, so you need to triangulate the model while you are creating it to keep it in the correct format. You must also only use single-sided polygons, not double-sided, and have the side of the polygon be facing outward, never inward, because Quake's engine will cause a hole in the model or make it appear clear or see-through in sections when it renders it. This is also known as flipped polygons and can ruin a model because more than likely it can't be repaired. As you start to finish, check to make sure that there are no wild vertices, duplicate vertices, flipped polygons, objects made too skinny, or any other anomalies.
If you are thinking about using an advanced model you found somewhere that looks almost real when rendered, then more than likely it won't work. In fact qME is the only program that will load a frame with over 2000 polygons, but still don't do it. Quake uses simpler models to cut down on the texture mapping rendering and lag on the engine. The model will more than likely crash the game or lag it to death, especially if run on a server. Please remeber these rules when creating models and never break them, because as I mentioned before, if you suddenly find you've got too many polygons or any other serious errors, then more than likely its too late unless you can somehow miraculously fix the problem. The polygon reduction features and error fising tools of some 3D programs usually leaves something in the model screwed up.
Scale of The Models
Just as models of cars, trains, etc. have scales to go by, so does Quake. Keep the model scaled right or else it won't appear as you wanted. This can easily done by changing the scale number with your MeDLe or Modelgen script or with qME. To get an idea of the scale use qME to extract frames from models and then opening them in your 3D Program, or just use qME to extract frames from various sizes of Quake's models to get an idea of the scale. Remember to keep your script and all frames until you get the scale to your liking.
Compiling The Model
(If you're using only
QME to create a new model, skip this section)
To compile your model, you can use either MeDLe or Modelgen. Both use scripts in order to do this. I'll give you an example script for MeDLe first. MeDLe's scripts have a .med extension and contain many more useful features than my below example contains, so read the docs for more info on them. MeDLe will also create a default skin for your model like qME, so there is no seperate program to generate a skin from your base frame. Here is an example MeDLe script which will create a simple model as well as an italizied description:
new_mdl frog.asc (creates a new model from a base frame)
insert frog1.asc 1 (inserts frame 1)
insert frog2.asc 2 (inserts frame 2)
insert frog3.asc 3 (inserts frame 3)
insert frog4.asc 4 (inserts frame 4)
insert frog.gif 1 (inserts skin 1)
set flags 1 (sets the model flags, see flag section)
set flags 8 (sets the model flags, see flag section)
save_mdl frog.mdl (saves the model file)
Modelgen uses a QuakeC(.qc) script to generate a model. Before you can compile your model with Modelgen, you will need to run Texmake on your base frame in order to get a default skin for it to use. Read the next section for more info on skins. Modelgen contains more script commands than those in this example, so read the docs for more info on them. Here is an example of a script to create a simple model as well as an italizied description:
$modelname frog (specifies the file that will be generated)
$cd (specifies where the file will be created)
$flags 1 (specifies the flag setting/s for the model, see flag section)
$flags 8 (specifies the flag setting/s for the model, see flag section)
$origin 0 0 0 (specifies the x y z coordinates for the model)
$scale 1 (specifies the scale of the model)
$base frog (specifies the base frame of the model)
$skin frog (specifies the skin file used for the model)
$frame frog1 frog2 frog3 frog4 (specifies the frames which will make up the model)
You can change this script as much as you want and run it anytime you want incase you want to add more frames, a new skin, etc.., so don't ever get rid of it even if you think your model is 100% complete because you may just decide you want to make some changes. As always, I have taken the liberty of creating an example for you to download of a simple model I used to show how easy it is to generate a model for use in Quake, as well as the script I used for Modelgen.
Skinning The Model
qME will create a default skin while you are working on your model so you won't need to worry about that if it is all you are using. MeDLe will also create a default skin which you can extract and import via scripting, as a .bmp or .gif file. Remember from above that the graphic files created by Texmake can only be opened with some programs and converters, so to save yourself much time and trouble, you can write a simple script for MeDLe for placing your skin on the model, such as this:
load_mdl player.mdl (loads model to put skin on)
insert player.bmp 1 (inserts either a .bmp or .gif skin, 1 is the base frame)
When starting to edit a new blank skin for a model, you will need to be aware of a few simple steps which will make the process easier. First, thoroughly examine the model in qME and observe which areas of the skin you will want to add certain colors, shading, etc.. It is also a good idea to examine those which id made to see real quality work. To help color and shade the skin I suggest using your graphic's programs flood fill tool to fill each polygon with the color you ant it to be and start shading and adding details to it. You may want to preview the skin on the model with qME even after slight changes to get an idea of what and what not you need to do.
It is best to work with the Quake Palette and not RGB. You may use RGB though for filters and other effects, but be careful not to work too hard on something that may not look good when reduced back to the Quake Palette. Another thing you need to know about skins is that the back side of the skin is mirrored, meaning that if you want something like the word death on the back of the monster's skin, then you have to paint it backwords. This goes for every detail you want done like this too. You can use most graphics programs flip features to do this easily. Skins can take a lot of time to complete, but the longer you spend working to make it look better, then more than likely better it will be and appreciated.
Once your skin is complete you can save it as a .bmp or .pcx file which qME can use to import onto a model, or you can simply save it as a .bmp or .gif and put it on the model with MeDLe with the simple script above. Remember that you can also use Steven Crowley's Modelgen, with a script above but it will have to rebuild the model each time, so it is easier to just use the MeDLe script.
>If you are simply editing an already completed skin, you will pretty much know what you are doing. Meaning that by the shape of it, you should be able to imagine how much you can change it. Also, if you have modified a skin for a model that you wish others to download then just upload the skin with instructions on how to use it, not the whole model because it wastes precious FTP space and bandwidth. Anything that is supposed to be only in the registered version should not be uploaded because it is hurts companies. Or if you have a modified skin you wish to use on models in a project of your own, it is wise to add a installation batch file that uses Quakex 1.1 to extract the needed files out of the Registered .pak file/s and then uses a MedDLe script to skin the model.
Quakex 1.1's commands can be easily learned in its Text File and can be added to your Zip File. The rest, moving the files to proper directories, can also be handled in the Batch File. You may want to put MedDLe in your zip file as well without all of its files. You only need to have the Mdl.cfg, Mdl.exe, Mdl.fnt, Mdl.map, and Mdl.pal files to use MeDLe. Cwsdpmi.exe is only needed if you plan to use MedDLe in Real DOS, but it might be wise to include that too. If you have any questions about Batch Files then send them to me with an explanation of what you're trying to do and I'll see what I can do. This may seem stupid, seeing that you could just simply upload the models with the new skins already on them, but you're not supposed to upload anything in the registered version of Quake, and that would take up useful FTP space, upload time for you, and download time for others.
For more skin editing and creating tips, check out these two fine sites containing more useful information on skin editing. John Gordon's, of The X-MEN Quake TC, Modelling and Skinning Tips, or The Shotgun Messiah Clan's Skin Turorials, and for more specific information on Graphics, visit my Palette Information Page.
Animating The Model
Once your base frame and skins are complete you can begin the animation of the model. Animation is perhaps the hardest part after creating the base frame. This is why many films and games have seperate modellers and animators working. As always I seriously suggest looking at id's models to see how they did things such as frames such as for walking, dying, etc.., which will also be referenced in the QuakeC. I believe that the limit on frames for use with MeDLe and Modelgen is 255, although I'm not sure if this is the limit for the Quake Engine.
Flag Settings/Special Effects
Flags are what cause gibs, roatations, rockets, etc. Special effects can also be implemented on models such as with fireballs and blood trails from projectiles that to liven them up. Simply turn on the
flags in QME's Model Property Editor, or use scripts with MeDLe or Modelgen to set the model flags. See the above section on compiling for more info on this.
Below is a complete list of the flags, thanks to my friend KrAy-ZeE.
Flag Number | Flag Name | Description |
1 | ROCKET | Long Smoke Trail |
2 | GRENADE | Short Smoke Trail |
4 | GIB | Long Gib Trail |
8 | ROTATE | Rotate |
16 | TRACER | Yellow and Brown Trail |
32 | ZOMBGIB | Short Gib Trail |
64 | TRACER2 | Medium Green Trail |
128 | TRACER3 | Short Purple Trail |
Completing the Model
Once your model is complete to your liking you will be done if you are simply replacing a model in the game. However, if it is a new entity you are making, then this will probably the most complicated part if you don't know any QuakeC. I'll explain some here, but if you don't know how to compile the source code for HexenC or need more info on it, then look at my QuakeC Page. You need to write a .hc file if you've created a new monster or class, or modify or add to some code if it is a new item or scenery. I cannot fully explain to you how to write the code for you, so I reccomend looking at the source of something
that looks like what you want to do, just make sure to give credit to whoever's file it is, including id. My example
has a simple example on how to throw in a piece of new scenery or something similiar by adding it into the misc.hc file. Like any program code source you can recompile QuakeC if you have all the the source code.
Writing and compiling QuakeC can be very difficult, so be sure to pay close attention to any error messages so that you might correct the problem. Don't get discouaraged because this can be a very difficult and lengthly process. Ask someone who has created something similiar to what you want if they might be able to help. Once again, this can take a long time so patience is definetely required. Once you get the progs.dat file successfully compiled, then you should be ready to test the model in the game. Create yourself a test map or use the one in my example and add the new entity, such as misc_spark, monster_pig, etc.. Place the proper files in the Mods Directory, see my Pak File Page, and run the game to see what you have so far. Positioning the model may take several trys until you get it right and you might even get some errors that will have to be fixed in the source code. Like I said, don't settle for something ok, if it is not what you wanted. Keep trying and eventually you will succeed.
[ Main - News - Old News - Editing - Interviews - Exclusive - Reviews - Projects ]
[ Clan Wallace - Awards - Q.Q.A. - Files - Links - E-Mail - Homepage ]
All respected names, products, etc. are copyright of their respected owners.
All content of this site, html code, and most graphics, ©Jonathan Daughtrey 1996-1998.