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 itsObject Properties
.
Working with the mesh
Combine/divide meshes. Divide or combine meshes into elements, assign them appropriate names, and specify the
poly
value in theirObject 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 inObject 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