> For the complete documentation index, see [llms.txt](https://docs.bestway.com.ua/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bestway.com.ua/modeling/vehicle-model-setup-pipeline/bone-hierarchy-in-vehicle-models/secondary-bones.md).

# Secondary bones

This section describes the setup of secondary bones, which are a visual complement to the primary bones of model Components.

## Visual details

Meshes of additional geometric elements that introduce visual variety to the model without affecting its functionality are referred to as `detail` bones. When the model spawns in-game, these bones are selected randomly, creating different visual variations.

<figure><img src="https://2358506489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2UV9d5d9aTZPISbocWyo%2Fuploads%2FEELEWnv8Vmk6Oi75C7dk%2Fdetail.png?alt=media&amp;token=2afd1c91-4670-4ca7-85c2-9c5c90ed953e" alt=""><figcaption></figcaption></figure>

Each `detail` bone must have a unique name in the format detail\<N> , \<N> is a sequential number, and be linked in the bone hierarchy to the **primary bone** of the **Component** it visually belongs to. For example, if it adds elements to the hull, it should be linked to the `body` bone (`id=body`), while one affecting the turret should be linked to the `turret` bone (`id=turret`).

Each `detail` bone must have a unique name, achieved by adding a sequential number to its name, e.g., `detail1`, `detail2`, etc.

**Properties of `detail` bones:**

<table data-header-hidden><thead><tr><th width="170">Property</th><th>Description</th></tr></thead><tbody><tr><td><code>poly</code></td><td>Indicates that the bone will be visible.</td></tr><tr><td><code>ID=&#x3C;value></code></td><td>Specifies the identifier of the component to which the bone belongs.</td></tr><tr><td>Animation (optional)</td><td></td></tr></tbody></table>

{% hint style="warning" %}
No volumes are required for `detail` bones.\
The game engine does not support volumes of this type.
{% endhint %}

***

## Hatches

Meshes representing hatches are assigned to `cover` bones.

<figure><img src="https://2358506489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2UV9d5d9aTZPISbocWyo%2Fuploads%2FM4zf9HzmClzLvlPOGImj%2Fcover.png?alt=media&amp;token=7abe25fd-5515-4492-aa21-da4fca790fd6" alt=""><figcaption><p>Cover bones</p></figcaption></figure>

Depending on the functional design of the hatch, it may consist of multiple independent parts. In this case, each part must be represented by a separate `cover` bone.

Each `cover` bone must be linked in the bone hierarchy to the primary bone of the **Component** to which the hatch belongs.\
The bone name must be unique and follow the format `cover<N>`, where `<N>` is a sequential number (`cover1`, `cover2`, etc.).

The `ID` of the `cover` bone must match the identifier of the **Component** to which the hatch belongs.

**Properties of `cover` bones:**

<table><thead><tr><th width="309">Property</th><th>Description</th></tr></thead><tbody><tr><td><code>poly</code></td><td>Indicates that the bone will be visible.</td></tr><tr><td><code>ID=&#x3C;value></code></td><td>Specifies the identifier of the <strong>Component</strong> to which the hatch belongs.</td></tr><tr><td><code>AnimationResume=open,cover</code></td><td>Defines the animation name.<br>This animation plays when the tank crew member enters or exits the vehicle.</td></tr></tbody></table>

{% hint style="warning" %}
No volumes are required for `cover` bones.\
The game engine does not support volumes of this type.
{% endhint %}

***

## Add-on armor shields bones

f the model includes **add-on armor**, it can be configured as part of the vehicle's armor system.\
Each armor piece can be set up as a unique element by separating the mesh into individual shields and assigning each a unique identifier: `ID=shield<N>`, where `<N>` is a unique identifier segment.

In most cases, add-on armor shields are symmetrical. Therefore, the `<N>` index in the name can include a combination of `L`or `R` to indicate whether the shield belongs to the left or right side, along with a sequential number.\
For example: `shieldL1`, `shieldR1`.

<figure><img src="https://2358506489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2UV9d5d9aTZPISbocWyo%2Fuploads%2FGlgPD9NKEQpuZtwvE1Q2%2FShield.png?alt=media&amp;token=46232240-3661-4edf-81de-a4fce4a04907" alt=""><figcaption><p>Add-on armor shields and their bones</p></figcaption></figure>

**Properties of `shield` bones:**

<table data-header-hidden><thead><tr><th width="178">Property</th><th>Description</th></tr></thead><tbody><tr><td><code>poly</code></td><td>Makes the armor shield visible.</td></tr><tr><td><code>ID=shield&#x3C;N></code></td><td>Unique identifier of the shield.<br><code>&#x3C;N></code> represents the shield number.</td></tr></tbody></table>

A **volume** `shield<N>_vol` is linked to the corresponding `shield<N>` bone, defining the physical volume of the armor.

<figure><img src="https://2358506489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2UV9d5d9aTZPISbocWyo%2Fuploads%2FJqkh8OdGFR1qFCjrLPxh%2Fimage.png?alt=media&amp;token=2446bd29-8f8f-4356-9d5a-3a027b0180a1" alt="Shield bone hierarchy"><figcaption><p>Shield bone hierarchy</p></figcaption></figure>

### **Shield attachment bones**

Each shield is also linked to its own attachment bone, `shield_binding<N>`.\
These bones serve as anchor points for the shields and define their movement and destruction behavior.

A `shield_binding` bone can be either:

* An auxiliary invisible bone that exists purely for positioning and hierarchy purposes.
* A part of the shield mesh itself, acting as the attachment point.

In the bone hierarchy, `shield_binding<N>` bones must be linked to the primary bone of the **Component** to which the shield is attached. For example:

* If the shield is part of the hull, the attachment bone should be linked to `body`.
* If the shield is part of the turret, it should be linked to `turret`.

If the model supports destruction effects for shields, animations or physics constraints can be applied to these attachment bones.

**Properties of `shield_binding` bones:**

| `poly` (optional)      | If the attachment bone is part of the mesh, this property determines its visibility.                 |
| ---------------------- | ---------------------------------------------------------------------------------------------------- |
| `ID=shield_binding<N>` | <p>Unique identifier of the attachment point.<br><code>\<N></code> represents the shield number.</p> |

{% hint style="warning" %}
No volumes are required for `shield_binding` bones.\
The game engine does not support volumes of this type.
{% endhint %}

***

## Vehicle identification number

The `enumerator` bone represents a model composed of three (or six for U.S. vehicles) polygons, each assigned a unique `id material` corresponding to textures displaying the identification number.

<figure><img src="https://2358506489-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2UV9d5d9aTZPISbocWyo%2Fuploads%2FE85aOzJX2CIHigTT3PSg%2Fimage.png?alt=media&amp;token=d0950f40-452d-4781-a44d-ad1f122eb1e0" alt=""><figcaption><p>Enumerator bone hierarchy</p></figcaption></figure>

**Number attachment to a model component**

In the bone properties, the `ID` of the component where the unit number is visually applied must be specified.\
For tank models, this is typically `ID=body` or `ID=turret`.
