Creating Armour

From Baldur's Gate 3 Modding

In this guide, we will go over the steps required to prepare the model, materials, and textures for new armour to work correctly in your mod.

Model

The first step is creating the asset you want. Below are example male and female human basemeshes, along with their limitation references:

HUM_F_NKD_Mesh_Limits.fbx HUM_M_NKD_Mesh_Limits.fbx

If you want the armour to be available for other races, you’ll need to adjust it for each of those races individually. We have provided the basemeshes for other races in a package here:

BG3_Armor_Limit_Guides.zip

General Topology Rules

Try to create as clean a topology as possible. It will make skinning the asset easier later.

Make sure you can easily select different loops and elements in your mesh.

  • Create clean loops and split off elements where needed.
  • Minimise triangulated areas.
  • Avoid spirals. (These greatly prolong the time it takes to skin a mesh.)
Make sure you can easily select different loops and elements in your mesh.
  • Make use of the centre line and symmetrise elements where possible.
Make use of the centre line and symmetrise elements where possible.

Check your mesh for common small issues like:

  • Backfaces popping through the mesh
  • Smoothing group mistakes, hard edges, or inverted normals
  • Intersecting meshes not aligning nicely
Check your mesh for common small issues like popping backfaces and intersecting meshes.

Check for common issues such as:

  • N-gons, zero-length edges, or floating topology
  • Unwelded vertices or vertices that got welded when they shouldn’t have
  • Bad topology flow in the model
Check for common issues like bad topology flow.

Check the fit against the actual body reference.

Check the fit against the actual body reference.

Try to avoid holes in your mesh. Make an inside and/or cap your mesh whenever possible.

Make an inside or cap your mesh to avoid holes.

At this point, also check if any body parts would be hidden by the asset, and whether there are any gaps or clipping issues with other areas, especially when working with transparency.

Check for hidden body parts, gaps, and clipping.

Topology for Joints

To deform correctly, joints and corner points need specific topologies, as indicated in the image below.

The topologies for different joints.

Deviating from these specific topologies can cause unnatural deformations. In those cases, increasing the topology will not make skinning easier, but potentially far worse.

In the following examples, you can see that this topology also carries over to the creature pipeline, and anything else that has these types of bending point.

The red mesh doesn't have joint topology.
The red mesh doesn't have space to straighten the leg.

In short, all layers in this deformation area need the correct topology.

Even when hidden, this topology must be preserved. If you don’t, there is a chance it will pop out of the overlying model when animated, as shown in the next section.

Topology for Movement

To support movement, make sure your armour has the same topology as the naked body, especially in regions that deform a lot and on skin-tight armours where you cannot hide the body mesh.

You have more leeway if parts of the body will be hidden, but even then, it is a good habit to get into to match the armour and body topologies as closely as you can.

Matching the shirt topology to the body topology.
Matching the body loops to the shirt loops.

When there are different layers, apply this rule to all the layers.

Applying this rule to all the layers.

Every layer needs to have enough topology to support the deformation of the layer under it.

Further advice for modelling clothing:

  • Make sure the upper body/skirt works with trousers.
  • Avoid solid objects like clasps in low areas on skirts. These need openings to correctly simulate or stretch.
  • Keep belts and ropes close to the body if they are not simulated. They will look odd otherwise.
Make sure the upper body works with trousers, avoid clasps in low areas, and keep belts close to the body.
  • Don’t put rigid objects on rotation points. They will heavily deform and look bugged.
Don’t put rigid objects on rotation points.

Armor Across Races

Keep in mind that certain races (e.g. dragonborn and dwarves) have different proportions. While optimising is very important, don’t forget that meshes generally need to have enough loops available to support all of the race/gender variations, as you’ll want to keep the vertex order between versions identical.

The glove below looks a lot more low res on male dwarves (DWR_M) because it’s heavily stretched.

A glove getting heavily stretched on a male dwarf's arm.

Certain races have shorter limbs and are more prone to clipping issues, so armours need to be scaled proportionally. Collars on dwarves, for example, need to be shorter than on humans to support their neck proportions.

Clipping issues on races with different proportions.

Armor Limitations

Our equipment system allows you to equip many different items at once. Make sure to follow the same rules for all meshes so they can function in-game.

We have set up certain limitation meshes that, when followed, will ensure that everything easily clicks together. We have made these available for male and female humans. They can be found at the top of this guide.

Boots and Gloves

Width Limitations

Trouser and sleeve meshes need to always be thinner than the orange limit. They should never stick out at any location, unless it is with the green vertex colour and will be hidden.

Sleeve meshes need to always be thinner than the orange limit.
Trouser meshes need to always be thinner than the orange limit.

Glove and boot meshes need to always be bigger than the orange limit. They need to fit snugly around it.

Glove meshes need to always be bigger than the orange limit.
Boot meshes need to always be bigger than the orange limit.

If you adhere to both these limitations, all trouser–boot and sleeve–glove combinations will work together and not intersect.

A sleeve–glove combo done neatly (L) and another one where the sleeve and glove intersect (R).
A trouser–boot combo done nearly (L) and another one where the trousers and boots intersect (R).
Length Limitations

Gloves need to reach the length disc (at minimum). Otherwise, there will be gaps.

Gloves need to reach the length disc (at minimum).

Necks and Collars

Necks and collars, reference 1.
Necks and collars, reference 2.
Necks and collars, reference 3.
Necks and collars, reference 4.
Necks and collars, reference 5.

Capes

Capes, reference 1.
Capes, reference 2.

Export

Remember that after you finish creating your model, you will need to skin it.

To import your final mesh into the Baldur's Gate 3 Toolkit, it needs to be in the .gr2 file format. The final .gr2 file can contain multiple meshes.

Material

If your model consists of different meshes, you will need multiple materials for the outfit. If you are re-using existing pieces of armour, you can simply re-use those materials instead of creating copies.

Textures

Depending on whether you make an entirely new armour or adjust an existing one, you may have custom textures for it.

Textures should be exported as .tga files.

Basic Textures

In most cases, you'll have the following textures:

  • Base Map (BM or BMA): This is your base colour. This should be mostly greyscale values if you want your outfit to be colour-customisable. If your outfit has opacity, that texture will be in the alpha channel of this map.
  • Normal Map (NM): This contains the baked details from your highpoly sculpt.
  • Physical Map (PM): This is a collection of different greyscale textures packed together.
    • Red Channel: Metalness map
    • Green Channel: Roughness map
    • Blue Channel: Ambient occlusion map
  • MSKcloth or MSK: This is the ID mask that maps different areas of the outfit onto different colour options. This will enable colour customisation on the asset. MSKcloth is the more complex armour shader, whereas MSK is a simplified RGB mask with only 3 options (perfect for underwear meshes, for example!).

Your ID mask would look like this:

The ID mask.

These are the different values your mask should have:

The different values your mask should have.

Optional Textures

  • Glow Map (GM): If your armour needs to glow (like the adamantine armour), you will need a glow map to indicate which regions should do so.

What Next?

Once you're created your armour, you'll need to import it into the engine and set it up for use. Please move on to the Adding Armour guide for more details.