Vehicle Model Setup Pipeline

Before starting the setup

  • Check the dimensions of the vehicle. Ensure that the overall dimensions (length, width, height) and the caliber of the gun match the original.

  • Check the model's orientation. The front of the model should be oriented along the X-axis.

  • Assign materials. Apply the necessary materials to the model for visualization.

  • Create the main additional bone. Create the Basis bone and specify the game entity type and the model's export path to the game in its Object Properties.

Working with the mesh

  • Combine/divide meshes. Divide or combine meshes into elements, assign them appropriate names, and specify the poly value in their Object Properties.

  • Create layers. Create a layer structure for working with the mesh (lod0-lod3), volumes, tracks, wheels, special effects, and additional bones. It is recommended to structure the layers for ease of work.

  • Add boxes. For the mesh components where the interior of the model might be visible (body, turret, engine, etc.), add boxes to cover the openings and assign dark texture areas. This will create the illusion of internal components.

Working with bones and hierarchy

  • Add additional bones:

    • Bones for the start points of boarding animations (emits);

    • Crew bones (seats);

    • Visors;

    • Enumerators;

    • Special effects bones (FX);

    • Rollers;

    • Roller_joints;

    • Other bones if necessary.

  • Set pivots. Check and, if necessary, adjust the pivots for meshes, bones, and suspension bones.

  • Set values in Object Properties. Specify the necessary parameters for objects (both meshes and bones).

  • Establish hierarchy. Arrange the model elements according to the hierarchy, linking them to the Basis bone.

Working with volumes

  • Create and set up volumes. Create and rename volumes, link them to "parent" objects, and specify the volume value in Object Properties.

  • Check armor mapping. Check and, if necessary, reassign the IDs of the armor mapping planes.

  • Describe volumes in the .def file. If the component has additional volumes (e.g., body01_vol, body02_vol, etc.), include their descriptions in the model's .def file.

Testing basic functionality in-game

  • Check visual consistency. Ensure that the model's textures visually match similar vehicles.

  • Check unit movement. Ensure that all the main components of the model work correctly:

    • The main gun fires and has correct rotation limits.

    • Machine guns (if any) fire and have correct rotation limits.

    • Wheels and/or tracks rotate and turn.

    • Armor screens (if any) detach when damaged.

Working with LODs

  • Create LODs.

    • Lod 1. Retain ~75-80% of the original triangles.

    • Lod 2. Retain ~50% of the original triangles.

    • Lod 3. Retain ~30-35% of the original triangles.

Working with textures

  • Assign materials. Assign material to the model and apply the corresponding textures. For meshes with alpha, create a separate material with alpha channel support.

  • Check seams and joints. Ensure that the texture is not distorted at seams, cuts, and joints. If necessary, reassign through Unwrap UVW.

  • Remove alpha channel from specular. Ensure that the specular texture does not contain an alpha channel.

  • Clean up shadows. Check that shadows are removed in areas where objects have been deleted in the textures for X- and XX-models.

Creating an X-model

  • Change the export path. In the Basis bone properties, change the model's export path to the folder with X-models.

  • Create textures. Create textures for the X-model based on the general lightmap.

  • Work on the X-model mesh. Remove unnecessary elements from the model, create dents, bullet holes, and damage points.

  • Work on the LODs. Perform the same actions for all LODs (or simultaneously for all).

  • Work on damaged tracks. For models with tracks, work on the mesh of damaged tracks.

  • Clean up shadows on the X-model. Remove shadows in areas where objects have been deleted in the X-model's texture.

  • Check the destructibility of components:

    • Destroy a component using the console command g_component break “component_name”.

    • Check component repair with the command g_component restore “component_name”.

    • Shoot the unit from a tank with two types of shells.

    • Shoot the unit with an anti-tank weapon (e.g., Bazooker).

    • Throw an anti-tank grenade at the unit.

    • Drop a bomb (bomb called in the editor using the G key).

Creating a XX-model

  • Change the export path. In the Basis bone properties, change the model's export path to the folder with XX-models.

  • Remove helpers. Delete unnecessary helpers.

  • Reassign the diffuse texture. Use Multiply material for the diffuse texture.

  • Transfer the layout. Transfer the layout to the second channel under the lightmap for all elements and LODs.

  • Work on the XX-model mesh. Remove unnecessary elements, including the rubber mesh for wheeled vehicle models.

  • Work on the LODs. Perform the same actions for all LODs.

  • Create parts and volumes. Create and set up parts and volumes for them in the XX-model.

  • Check the destructibility of components:

    • Destroy a component using the console command g_component destroy “component_name”.

    • Trigger an explosion effect with the command g_effect “explosion”.

    • Shoot the unit from a tank with two types of shells.

    • Shoot the unit with an anti-tank weapon (e.g., Bazooker).

    • Throw an anti-tank grenade at the unit.

    • Drop a bomb (triggered by the "G" key).

    • Ensure that the parts detach correctly during the explosion.

Setting up the .def file

  • Create the model's .def file. It is allowed to copy the .def file from an already configured and similar model in terms of type and functionality. For more precise adjustments, edit the .def file in a text editor.

  • Add basic props. Add props corresponding to the model's type and functionality.

  • Describe additional volumes. Describe all additional volumes (e.g., body01_vol, body02_vol, turret01_vol, turret02_vol, etc.).

  • Describe emits and crew bones. Describe emits and crew bones in the .def file. If the .def file specifies an additional crew.ext file, make the necessary edits there.

  • Add crew animations and poses. Add correct animations and poses for the crew.

  • Describe additional equipment. If applicable, describe additional equipment such as mesh-mounted machine guns or machine guns integrated via auxiliary bones.

  • Specify physical properties. Specify the model's physical properties (mass, speed, fuel tank volume, etc.).

Animation

  • Set up the tracks. Apply and configure the Skin modifier for all tracks.

  • Create basic animations:

    • start/stop

    • hit

    • fire

    • fire_mgun

    • door and hatch opening/closing during crew boarding/disembarking;

    • other animations if necessary.

Last updated