S  W  A  T   3   M  O  D    H  Q    
INTRODUCTION COMMON TASKS CREATING CONTENT PROVIDED TOOLS
Characters / Models
Missions
Data Files

Creating Characters/Models

What You Need

SWAT3's Character, Weapon, and Item models were all created in 3D Studio Max 2.5, using a plug-in that exports SWAT3's native .gsm 3D file format. To be able to create your own SWAT3 characters, weapons, or items, you must have 3D Studio Max 2.5. Versions before or after 2.5, including 3D Studio Max 3 and 4 are not compatible with the plugins. To create characters, you must also have Character Studio 2.1 installed in addition to 3D Studio Max.

Getting The Tools Installed

If you have Max, you'll then need to get the SWAT3 plugins. You'll find them in your "SWAT3\Tools\3DMaxPlugins" folder. Grab the "Gsknaexp.dle", the "Gsknmexp.dle", and the "ganimevent.dlc" files. Browse to the folder where you installed 3D Studio Max 2.5. There should be a subfolder marked "Plugins". Put the files in that directory.

The next time you run 3D Studio Max and are ready to export, select the File menu, and then the "Export..." option from the drop down menu. When prompted to save your mesh/animation, you will see a box that contains the current export method (file extension). Click this box and a menu will drop down. You should see a heading for the SWAT3 format. Choose this format, type in your file name and hit the enter key. The plugin will take over and convert your model or animation.

Understanding The Sample Content Provided

There are more than just three plugin files in the 3DMaxPlugins folder. Included are meshes for six seperate in-game objects, several textures, and SWAT3 Character Class bipeds for you to tie your animations to, along with 3DSMax helper files that are used in the creation of your own meshes and example bitmaps to help you create character faces and textures. Here's the breakdown:

Models

Bitmaps

Helpers

SWAT "Operator" High-Detail Mesh

SWAT "Operator" Mesh Textures

10 Character Class Biped .max Files

SWAT "Operator" Low-Detail Mesh

MP5A2 Mesh Textures

2 Hit Detection 3DSMax .ccb Color Palette Files

MP5A2 Submachine Gun Mesh

MP5A2 Magazine Textures

2 GSM Models of the SWAT "Operator"

MP5A2 Ammunition Magazine Mesh

Colt 1911 Mesh Textures

Hit Detection Diagram .jpg Graphic

Colt 1911 Handgun Mesh

Colt 1911 Magazine Textures

 

Colt 1911 Ammunition Magazine Mesh

Generic Face Bitmap

 
  

Generic Face Expression Sheet 

  
 

Generic Face Eye-Mouth Cutout Sheet 

  

Make sure that if you plan to modify the provided meshes, keep the textures and the models together in the same directory.

 

Character / Model Building Requirements

Mesh Building

 

You must use one of our character class bipeds. Match the NEW MESH to the SWAT3 biped .  Do not use the "triangle pelvis" option on your biped.  Do not resize, rework, add or subtract bones from the SWAT3 bipeds.   You can, however, move the character in figure mode to line up with the NEW MESH.  

Reference: Character Class Biped Chart

 

Build a high (800-900) and a low (400-500) poly version for each character.  (They must use the proper naming conventions, described below).  Both the high and low polygon versions can be physiqued to the biped and saved in the same Max file.  They will be exported separately, using the .GSM exporter.
 Click to Expand! All characters have hit detection applied to “faces” at the “editable mesh” level in the modifier stack. Make sure that you apply hit detection at the bottom of the stack. Use the color clipboard under "Helpers" and load the .ccp file that is included with SWAT3. See Figure 1.1 for color matching. 
Figure 1.1 - Hit Detection Colors (Click to expand)

Assign one smoothing group to the entire character.  You are allowed to assign more, but this will slow down game play.

Use “mesh select” to select faces for multi/sub-object mapping (using “edit mesh” to select faces will corrupt hit detection).

All tiling of materials must be done in the “parameters” area of the UVW MAP modifier.  Do not tile in the “coordinates” section of the character material.

 

Character Faces

All Textures must be 16, 32, 64, 128 or 256 pixels, square.

Figure 1.2 - Face Texture Map (128 x 64)

The face texture maps size is 128 pixels wide by 64 pixels tall (see figure 1.2).

Figure 1.3 - Facial Expression Map (128 x 128)

The facial expression texture map size is 128 pixels wide by 128 pixels tall. (see figure 1.3)

All of the character’s facial expressions must be laid out on the same .bmp  (see figure 1.3)  

The transparent color is  R = 255   G=0   B=255

All of the facial expressions are laid out on the sheet in the following order (left to right, top to bottom)... 

Use the first 3 letters, separated by an underscore, of each of the following, to create a character name...

...then add _EXP. The game engine will look for the “character name _EXP.bmp” (BG1_GENERIC_FACE_EXP.bmp) file to use for the facial animations.  

 

Typically, the window for the eyes is 64w x 16T and the window for the mouth is 32w x 24T (see figure 1.4)

X/Y coordinates must be determined and entered into the Skins.dat file (see the Skins.dat file, located under the Swatdata.res file, for entry information). Determine the X/Y coordinate of the facial feature by pointing to the upper left corner of the feature window after it has been placed in the face itself.  

Figure 1.4 - Standard Eye - Mouth Window (E : 64 x 16 M : 32 x 24)  

In the Multi/sub-object character material, the layer used for the Face/facial animation needs to be named FACE.  (The game engine will look for the “character name _EXP.bmp” (TAC_NEW_GUY_FACE_EXP.bmp) file to use for the facial animations.

If there is a handgun in the mesh (in a holster) that you want to hide (when drawn from the holster) the Multi/sub-object material layer for that gun needs to be named HANDGUN.

Characters with grippers need the proper gripper syntax added to the “user defined properties” for that mesh.

This particular example is for the TAC class.

            SkeletonRoot=Bip_TAC Pelvis

            CreateGripper=Bip_TAC R Hand Grips GRIPPER_TEMPLATE1 As Grip1

            CreateGripper=Bip_TAC L Hand Grips GRIPPER_TEMPLATE2 As Grip2

            CreateGripper=Bip_TAC Spine Grips GRIPPER_TEMPLATE3 As Grip3

 

Physique

 

Do NOT use the "triangle pelvis" option on your biped.  Do NOT resize, rework, add or subtract bones from the SWAT3 bipeds. You can move the character in figure mode to line up with the mesh.

Attach to node BIP_TAC_PELVIS.

The game engine does not support deformable vertex.  When initializing the physique on the character the “vertex link assignment” must be “rigid”.  The maximum setting for blending between links is 3.  It is better to try and assign less blending if possible.

SWAT3 supports Physique envelopes and weighted vertex assignments.  SWAT3 does not support links, bulges or tendons.

GRIPPER_TEMPLATE1 needs to be linked to “Bip_TAC R Hand”

GRIPPER_TEMPLATE2 needs to be linked to “Bip_TAC L Hand”

GRIPPER_TEMPLATE3 needs to be linked to “Bip_TAC Spine” 

You can move GRIPPER_TEMPLATE 1 & 2 on your new character to get proper alignment of in-game weapons and other items.  GRIPPER_TEMPLATE 3 cannot be moved because it is specifically placed to work with an animation.

 

Naming Convention

Use the first 3 letters, separated by an underscore, of each of the following, to create a character name….. 

So a high polygon new guy tactical character would be named TAC_NEW_GUY_HIGH .

  Use this name on everything.  Meshes, textures, exported files, etc.

You may add more texture maps as you see fit, but this will slow down game play.

Weapons

You only need to build one version of the New Game Weapon.  It should be around 100-200 polygons.  It should have a maximum texture size of 128x128.  You can use a larger texture, but it will slow down game play.

An extra polygon is added to the end of the muzzle and given it’s own texture layer in the Multi/sub-object material for that weapon. That polygons normal will be referenced by the game engine and used to place the muzzle flash and smoke.  This polygon’s texture is named MUZZLE.

An extra polygon is added to the end of the flashlight and given it’s own texture layer in the Multi/sub-object material for that weapon. That polygons normal will be referenced by the game engine and used to place the flashlight beam.  This polygon’s texture is named FLASHLIGHT.

If there is a Detachable Magazine for the New Weapon, give it its own texture layer in the Multi/sub-object material for the weapon. The texture name will be MAG.  If you need to use more than one Multi/sub-object material layer to texture the detachable magazine, name ALL of the layers MAG.  The game engine will look for all instances of the word MAG and hide that texture when the detachable magazine is removed & reloaded, etc.  Remember to build a set of polygons to cover the hole in the weapon where the detachable magazine is removed.

New Weapon files need to include GRIPPER_TEMPLATE1 and GRIPPER_TEMPLATE3.  The gripper templates need to be placed in the location where the character will grip the weapon. GRIPPER_TEMPLATE1 and GRIPPER_TEMPLATE3 will be in the exact same location.  Do not link the gripper to the weapon.

New Weapon files need the proper gripper syntax added to the “user defined properties” for that mesh.

The New Weapon should be Physiqued to a single bone that is named RIFLE_ROOT. When initializing the physique on the New Weapon, the “vertex link assignment” must be “rigid”.  Use the NO BLENDING option in the “Blending Between Links” area.

Do not include an ORIGIN OBJECT in the New Weapon file.

 

Detachable Magazines

 

Build a separate detachable magazine for the weapon that can be held and dropped by the character. 

Detachable magazine files need to include the ORIGIN OBJECT.  The top/center of the ORIGIN OBJECT needs to be placed in 0,0,0 the location of the World coordinate system.  The ORIGIN OBJECT acts as a floor reference.

The Detachable magazine needs to be placed on it’s side. (As you would want it to appear if it had be dropped and discarded by a player.)

Detachable magazine files need the proper gripper syntax added to the “user defined properties” for that mesh.

The Detachable magazine should be Physiqued to a single bone that is named BONE 1. When initializing the physique on the Detachable magazine, the “vertex link assignment” must be “rigid”.  Use the NO BLENDING option in the “Blending Between Links” area.  

 

Shell Casings

If you're creating a new ammo type, you'll need to create a shell casing model that represents the spent shell casing that is ejected out of weapons firing the new ammo.

Shell casing files work exactly like detachable magazines.

Shell casing files need to include the ORIGIN OBJECT.  The top/center of the ORIGIN OBJECT needs to be placed in 0,0,0 the location of the World coordinate system.  The ORIGIN OBJECT acts as a floor reference.

The shell casing needs to be placed on it’s side. (As you would want it to appear if it had be dropped and discarded by a player.)

Shell casing files need the proper gripper syntax added to the “user defined properties” for that mesh.

The shell casing should be Physiqued to a single bone that is named BONE 1. When initializing the physique on the shell casing, the “vertex link assignment” must be “rigid”.  Use the NO BLENDING option in the “Blending Between Links” area.  

 

 

>> Next: Creating Missions