# Создание иерархии элементов модели

## Базовая кость модели

Кость `basis` — это главная кость в иерархии любой модели техники. Она представляет собой хэлпер dummy, свойства которого содержат важную информацию о модели, включая:

* тип модели;
* путь экспорта модели в игру;
* вид и длительность основных анимаций;
* скорость вращения и размер колес (если модель содержит колеса одинакового размера, иначе, размер колес задается непосредственно в костях колес )
* параметр инверсной кинематики `IKType=revolute` c лимитами на поворот (если для модели доступна возможность вращения корпусом)

<img src="/files/B9c0pBCy60qCTPj5bGAa" alt="Пример свойств кости basis" width="563">

В иерархии элементов модели все кости основных элементов модели привязываются к кости `basis`, а все вспомогательные кости модели привязываются к костям основных элементов.

**Правила расположения и ориентации кости basis**

* Кость `basis` устанавливается в точке с координатами `X=0`, `Y=0`, `Z=0`, что обеспечивает правильное позиционирование модели в игровом пространстве.&#x20;
* В окне проекции **"Front"** модель отображается с правого борта, что следует учитывать при ее настройке.&#x20;
* Направление вектора движения кости `basis`, а следовательно, и всей модели, ориентировано по оси **X**.&#x20;

<figure><img src="/files/QZAh0WndNWXcWp6J7gYp" alt=""><figcaption><p>Иллюстрация ориентации кости basis в окне проекции Front</p></figcaption></figure>

Правильная ориентация кости `basis` важна для:&#x20;

* корректного позиционирования и движения модели в игре;
* отображения спрайта под выделенной моделью.

<figure><img src="/files/9NHoYKrdZaoPv03DwHEZ" alt=""><figcaption><p>Иллюстрация отображения спрайта выбора под юнитом, находящимся в управлении</p></figcaption></figure>

## Видимые кости модели техники

{% hint style="info" %}
**Видимые кости модели** - [**основные**](#osnovnye-kosti) и [**второстепенные**](#vtorostepennye-kosti) кости иерархии элементов модели, содержащие меш **компонентов** модели.
{% endhint %}

### Основные кости

{% hint style="info" %}
**Основные кости** представляют собой **родительские кости** в иерархии элементов модели, формирующие основную часть видимого меша Компонентов техники.
{% endhint %}

К основным костям относятся:

* `body`: основная кость Компонента [Корпус](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli/korpus.md)
* `turret`: основная кость Компонента [Башня](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli/bashnya.md)
* `cabin`: основная кость Компонента [Кабина](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/osobennosti-nastroiki-modelei-kolesnoi-tekhniki.md#ierarkhiya-kostei-kabiny)
* `gun_rot`: кость механизма вертикальной наводки орудия
* `gun`: основная кость Компонента [Орудие](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli/orudie.md)
* `engine`: основная кость Компонента [Двигатель](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli/dvigatel.md)
* `track` и `wheel`: кости [трансмиссии](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli/transmissiya.md)

**Схема иерархии основных костей**

* `basis`
  * `body`
    * `engine`
    * `cabin`
    * tracks\weels
    * `turret`
      * `gun_rot`
        * `gun`

<figure><img src="/files/6ewroHcUkAT4c0djMkfh" alt=""><figcaption><p>Иллюстрация схемы привязки элементов техники</p></figcaption></figure>

### Второстепенные кости

{% hint style="info" %}
**Второстепенные кости** включают элементы меша компонентов техники и чаще всего связаны с деталями модели.&#x20;
{% endhint %}

К второстепенным костям относятся:

* `detail` \[визуальные детали]
* `shield` \[дополнительные листы бронирования]
* `enumerator` \[номер боевой машины]
* `cover`/`door` \[люки и двери]
* кости подвески

**Второстепенные кости** обычно линкуются к **основным костям**, визуальной частью которых они являются.&#x20;

<figure><img src="/files/UhIYTF5zskaOHUAz739Z" alt=""><figcaption><p>Пример второстепенных костей для кости Корпус</p></figcaption></figure>

### Свойства костей

Свойства костей прописываются в окне **Object Properties:**

<table data-header-hidden><thead><tr><th width="280">Параметр</th><th>Описание</th></tr></thead><tbody><tr><td><code>poly</code></td><td>Определяет видимость кости. <br>Если в свойствах кости параметр <code>poly</code> отсутствует, кость становится невидимой.</td></tr><tr><td><code>ID=&#x3C;значение></code></td><td>Идентификатор компонента техники.<br>Значение параметра ID позволяет идентифицировать кость, как Компонент или часть Компонента техники. </td></tr><tr><td><code>Animation=&#x3C;имя></code></td><td>Список анимаций, если предусмотрены.</td></tr><tr><td><code>IKType=revolute</code><br><code>IKType=socket</code><br><code>IKSpeed=&#x3C;значение></code><br><code>IKLimit=&#x3C;значение></code></td><td>Параметры инверсной кинематики.<br>Позволяют кости работать по законам инверсной кинематики, устанавливают скорость и лимиты поворота кости по ИК.</td></tr></tbody></table>

<figure><img src="/files/NuVWtEvLYOtZUWgLoeFZ" alt=""><figcaption><p>Иллюстрация свойств для кости turret (основной кости компонента "Башня")</p></figcaption></figure>

### Значения ID для Компонентов техники

<table data-header-hidden><thead><tr><th width="233">Значение id</th><th>Описание</th></tr></thead><tbody><tr><td><code>body</code></td><td>Корпус</td></tr><tr><td><code>engine</code></td><td>Двигатель</td></tr><tr><td><code>cabin</code></td><td>Кабина машины</td></tr><tr><td><code>turret</code></td><td>Башня</td></tr><tr><td><code>gun</code></td><td>Орудие</td></tr><tr><td><code>trackleft</code><br><code>trackright</code></td><td>Левый и правый траки</td></tr><tr><td><code>wheelright&#x3C;N></code><br><code>wheelleft&#x3C;N></code></td><td>Правые и левые колеса (<code>&#x3C;N></code> - порядковый номер колеса)</td></tr></tbody></table>

Значение идентификатора (`ID`) у **второстепенных костей**, как правило, совпадает со значением идентификатора **основных костей**, визуальной частью которых они являются, и к которым они привязаны по иерархии.

{% hint style="warning" %}
Несмотря на совпадение названий, **кость** не является эквивалентом **компонента техники**. \
**Компонент техники** может состоять из нескольких костей, имеющих разные названия, но при этом одинаковое значение параметра `ID`. Совокупно кости с одинаковым `ID` формируют в игре определенный **компонент техники**.\
**Примеры:**

* кости `turret`, `cover` и `detail`, в свойствах которых прописано `ID=turret` формируют в игре компонент **Башня**.&#x20;
* кости `body`, `cover` и `detail`, в свойствах которых прописано `ID=body` формируют в игре компонент **Корпус**.&#x20;
  {% endhint %}

### Виды анимаций для основных костей Компонентов

* `break` — анимация поломки Компонента;
* `repair` — анимация ремонта х-модели Компонента.

***

Подробнее про настройку иерархии элементов видимых костей можно узнать из статей:

<table data-view="cards"><thead><tr><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/pages/6AqWj5MGMA9jGOTuiEot">/pages/6AqWj5MGMA9jGOTuiEot</a></td><td><a href="/files/3mJeNfhxAHmyi3PjTTTZ">/files/3mJeNfhxAHmyi3PjTTTZ</a></td></tr><tr><td><a href="/pages/cRDtpawIJSUTtt5yx94b">/pages/cRDtpawIJSUTtt5yx94b</a></td><td><a href="/files/tKWatTnjqeYix1RsC9oM">/files/tKWatTnjqeYix1RsC9oM</a></td></tr><tr><td><a href="/pages/Kdu95gjaWbkdbc6fbuBz">/pages/Kdu95gjaWbkdbc6fbuBz</a></td><td><a href="/files/DH51iWUYVwl9IHI4mnlK">/files/DH51iWUYVwl9IHI4mnlK</a></td></tr><tr><td><a href="/pages/RcUPHWVlaDVx18ByR6wk">/pages/RcUPHWVlaDVx18ByR6wk</a></td><td><a href="/files/JLiBzkZeIyidyyt6NxVl">/files/JLiBzkZeIyidyyt6NxVl</a></td></tr><tr><td><a href="/pages/j8KXPwkuaLLNFTIPLW5r">/pages/j8KXPwkuaLLNFTIPLW5r</a></td><td><a href="/files/UhIYTF5zskaOHUAz739Z">/files/UhIYTF5zskaOHUAz739Z</a></td></tr><tr><td><a href="/pages/6jPw9ZwJjxXgew24q6JN">/pages/6jPw9ZwJjxXgew24q6JN</a></td><td><a href="/files/HvDxntQmSTIhn0zWjnKe">/files/HvDxntQmSTIhn0zWjnKe</a></td></tr></tbody></table>

***

## Вспомогательные кости

{% hint style="info" %}
**Вспомогательные кости** — это преимущественно невидимые кости-хелперы, необходимые для обеспечения правильной работы визуальных, функциональных и анимационных аспектов модели.
{% endhint %}

### Кости зрения

* `visor1` - невидимый хелпер, кость обзора из башни, линкуется к кости `turret`
* `visor2` -  невидимый хелпер, служащий «глазами» танка по вектору движения, линкуется к кости `body`, в место смотровой щели на лобовой броне.

Для правильной работы зрения юнита, кости типа visor должны быть ориентированы по оси X.&#x20;

### Кости для спецэффектов

Для реализации спецэффектов создаются кости-эффекторы. \
При позиционировании костей стоит учитывать, что проигрывание спецэффектов в игре происходит по оси **X** пивота кости-эффектора.

<table><thead><tr><th width="235">Название эффектора</th><th>Назначение</th></tr></thead><tbody><tr><td><code>fxfire1</code></td><td>Эффект горения двигателя</td></tr><tr><td><code>fxfire2</code></td><td>Эффект горения корпуса</td></tr><tr><td><code>fxfire3</code></td><td>Эффект горения башни</td></tr><tr><td><code>fxshot</code></td><td>Пыль при выстреле танка</td></tr><tr><td><code>fxsmoke</code></td><td>Эффекты выхлопных труб.<br>Если костей несколько, то в название добавляется порядковый номер: <code>fxsmoke1</code>, <code>fxsmoke2</code>,..</td></tr><tr><td><code>fxstop</code></td><td>Стоп-сигналы.<br>Если костей несколько, то в название добавляется порядковый номер: <code>fxstop1</code>, <code>fxstop2</code>,..</td></tr><tr><td><code>headlight</code></td><td>Свечение фар.<br>Если костей несколько, то в название добавляется индексы сторон (L и R)</td></tr><tr><td><code>fxlight</code></td><td>Дополнительные кости для эффектов свечения фар.<br>Если костей несколько, то в название добавляется добавляется порядковый номер, причем, первая кость  не содержит в названии порядковый номер.</td></tr><tr><td><code>fxtrace</code></td><td>Пыль и грязь от гусениц или колес.<br>Если костей несколько, то в название добавляется порядковый номер и индексы сторон (L и R)</td></tr><tr><td><code>foresight</code></td><td>Эффекты выстрелов орудий и пулеметов.<br>Если костей несколько, то в название добавляется порядковый номер</td></tr></tbody></table>

### Места для старта анимаций посадки экипажа

Для корректного воспроизведения анимаций посадки экипажа в юнит техники используются специальные кости типа `emit`. Эти кости определяют точки старта анимаций, поэтому их  позиционирование в пространстве важно.

<table><thead><tr><th width="185">Название</th><th>Описание</th></tr></thead><tbody><tr><td><code>emit0</code>, <code>emit1</code>, <code>emit2</code></td><td>Основные кости, указывающие точки старта проигрывания анимаций посадки экипажа непосредственно в танк. <br>Кости <code>emit1</code>, <code>emit2</code> располагаются по обе стороны модели напротив башки.<br>Кость <code>emit0</code> выставляется опционально, если в модели предусмотрен отдельно открывающийся люк для механика водителя.</td></tr><tr><td><code>emit3</code>, <code>emit4</code>, <code>emit5</code> и далее</td><td>Кости, определяющие точки в пространстве рядом с танком, указывающие места для посадки солдат-пассажиров на броню танка.</td></tr></tbody></table>

![Иллюстрация расположения костей emit](/files/BM1kL2Hw8A8IK60syaKm)

#### Правила работы с костями типа `emit`

* **Наличие и количество костей** типа `emit` должно соответствовать потребностям анимации. Отсутствие необходимого числа костей может привести к некорректному поведению юнитов при посадке в технику
* **Ориентация пивота**\
  Пивот каждой кости `emit` должен быть ориентирован по оси X к кости `body`. Это обеспечивает правильную ориентацию юнитов при проигрывании анимации посадки.
* **Свойства костей**\
  Кости типа `emit` остаются невидимыми и не требуют прописывания свойств в \[Object Properties]

### Посадочные места на технике для юнитов-пассажиров

Для обозначения мест, где юниты солдат размещаются на броне техники, используются невидимые кости типа `seat`. Эти кости тесно связаны с костями `emit` и определяют конечные позиции для анимаций посадки юнитов-пассажиров.

#### Назначение костей типа `seat`

* `seat01`, `seat02` и т.д. — кости, которые размещаются напротив соответствующих `emit` и обозначают места, где будут сидеть солдаты на броне танка.

#### Правила работы с костями типа `seat`

* **Наличие и количество костей** типа `seat` должно соответствовать количеству костей  `emit` для видимых юнитов-пассажиров. Это гарантирует правильное воспроизведение анимаций посадки пассажиров.
* **Позиционирование**\
  Корректное расположение костей `seat` обеспечивают реалистичное поведение юнитов при посадке на броню.
* **Свойства костей**\
  Кости типа `seat` остаются невидимыми, окно свойств костей в **Object Properties** оставить пустым.

### Дополнительные кости для экипажа и пулеметчиков

В моделях танков и машин с открытой рубкой, где видны дополнительные члены экипажа, необходимо добавить и настроить дополнительные кости для всех видимых юнитов членов экипажа. Это позволяет реалистично анимировать экипаж и пулеметчиков, обеспечивая их корректное взаимодействие с объектами окружения.

<table><thead><tr><th width="185">Кость</th><th>Описание</th></tr></thead><tbody><tr><td><code>gunner</code></td><td>Используется как место для основного стрелка и запуска его анимаций.</td></tr><tr><td><code>gunner2</code></td><td>Место для зенитного пулеметчика. <br>Кость используется для проигрывания  анимаций зенитного пулеметчика.</td></tr><tr><td><code>commander</code></td><td>Место командира танка. <br>Кость используется для проигрывания  анимаций командира танка.</td></tr><tr><td><code>charger</code></td><td>Место для заряжающего. <br>Кость используется для проигрывания  анимаций заряжающего.</td></tr><tr><td><code>driver</code></td><td>Отвечает за анимацию водителя в моделях машин.</td></tr></tbody></table>

### Кости пулеметов

Кости типа `mgun` служат местами для пулеметов. \
Эта кость может быть как видимой, состоящей из полигонов, так и невидимой — в виде хэлпера. \
Кость `mgun` линкуется к тому элементу, на котором предусмотрено место крепления пулемета.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc2HHt2S1ws3kt2q2wVM-96Aq96Zs-OZCUxod_WBE5Fa825bxQ4D6Ivo-iCjVGEQjoKMZAXcJKo8FrZ-7w3dXKDynVRhnxvPSM6CBAk7TMN-mglyti1GVGvA6zSJg9ol3ZK23f0fmYUXkZQbhv5v0gALV_Y?key=lL_zWhi9OpK0iXcLXfnQFw" alt="" width="563"><figcaption><p>Иллюстрация невидимой кости mgun</p></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdTNS1MB1LpoF4hjEnCWECLiviqY7B1YpaI3lFBVo6tWPXi1ZIJv7jn5HyO5CsUU-VxyE7uUUarjRWUraig9OvyYJ5GN0-zlYvcCXPeEKl7eF5_Au_wH4IjSqZC7kmJTRT-9FvIOb7zAoWJZzopsF8eGvo?key=lL_zWhi9OpK0iXcLXfnQFw" alt="" width="563"><figcaption><p>Иллюстрация свойств кости mgun, работающей по законам инверсной кинематики</p></figcaption></figure>

#### Свойства костей типа `mgun`

<table data-header-hidden><thead><tr><th width="211">Параметр</th><th>Описание</th></tr></thead><tbody><tr><td><code>poly</code></td><td>Наличие параметра poly в Object Properties делает кость видимой.<br>Кость должна быть видимой, если в модели присутствует меш пулемета. <br>Если в модели присутствует только пулемётное гнездо (то есть место, где пулемет может быть установлен, но сам пулемет не видно), то кость должна быть невидимой. </td></tr><tr><td><code>IKType=revolute</code><br><code>IKMin=&#x3C;значение></code><br><code>IKMax=&#x3C;значение></code></td><td>Параметры инверсной кинематики, если предусмотрено наведение пулемета по законам инверсной кинематики</td></tr></tbody></table>

К костям `mgun` линкуются хелперы `foresight`, спавнящие по оси X спецэффект пулеметного выстрела.

**Правило соответствия названий** `mgun`-`foresigh`

{% hint style="success" %}
Если на технике имеется несколько дополнительных пулеметов, необходимо **строго  соблюдать** правило соответствия названий эффектора `foresight` и места его линковки к кости `mgun:`

* `mgun` — `foresight3`
* `mgun1` — `foresight4`
* `mgun2` — `foresight5`
* `mgun3` — `foresight6`
  {% endhint %}

{% hint style="danger" %}
Несоответствие названий приведет к ошибкам работы скриптов.&#x20;
{% endhint %}

#### Привязка моделей пулеметов к костям mgun

На этапе моделирования важно предусмотреть нужное количество костей типа `mgun`, соответствующее максимально возможному количеству мест установки пулеметов на технику.&#x20;

**Типы пулеметов на технике:**

<table data-header-hidden><thead><tr><th width="166">Название пулемета</th><th>Описание</th></tr></thead><tbody><tr><td><code>aa</code></td><td>Зенитный</td></tr><tr><td><code>hull</code></td><td>Курсовой пулемет, расположен в корпусе</td></tr><tr><td><code>coaxial</code></td><td>Спаренный пулемет, расположен в башне</td></tr><tr><td><code>rear</code></td><td>Задний пулемет</td></tr></tbody></table>

Настройка привязки пулеметов к костям прописывается в .def файле модели с помощью  блоков `placer`

{% code title="Формат записи" %}

```
{placer "mgun<N>" [...]}
```

{% endcode %}

где N - номер соответствующего пулемета, \[...] содержимое описания привязки.

<details>

<summary>Пример привязки спаренного пулемета к кости mgun2 модели </summary>

```
{place "mgun2"  
  {type "coaxial"}  
  {weapon "dt_vh" filled}  
  {foresight "foresight5"}  
  {gunner "gunner"}  
  {charger "gunner"}  
  ("sequential_aim")  
  ("abm_mgun")  
  {basic}  
}
```

</details>

***

## Волюмы

Волюм `volume` — это параметрическая (например, box, sphere, cylinder) или мешевая (edit poly) форма, покрывающая меш модели, по которой рассчитываются физические взаимодействия юнита в игре.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdOOqJ-fTlhDaauqQgI1xqiAcKjn-ZP4BPRSq3JHh8xv-glyFB7ZtS52mqgziPZeVBAZEehgELchDKAgA-aVnQU3MdUtxqtlVpQWUJ3j9KgPuCL67LCaci7NUVn5xMxsnpf7se6zvVG0ClYg71CHaQzeKJv?key=lL_zWhi9OpK0iXcLXfnQFw" alt=""><figcaption><p>Пример волюмов корпуса и двигателя</p></figcaption></figure>

### Изготовление и настройка волюмов

Кости типа `volume` делаются для всех **основных костей** модели. \
Для каждой основной кости делается свой волюм или набор волюмов.

{% hint style="warning" %}
Для костей типа detail  делать волюмы не нужно, так как в игровом движке волюмы для визуальных частей не поддерживаются.
{% endhint %}

Форму меша волюмов нужно подбирать таким образом, чтобы обеспечить реалистичные  физические взаимодействия.\
В \[Object Properties] волюмов необходимо прописать параметр `volume`. \
На полигоны меша волюма назначается `Material ID`, по которому происходит расчет бронепробиваемости.

{% hint style="success" %}
Волюм следует начинать вытягивать из прямоугольника в окне проекции **Top**, тогда **`Material IDs`** на плоскости волюма назначаются автоматически и не требуют дополнительной проверки или переназначения, согласно установленным правилам.
{% endhint %}

{% hint style="warning" %}
Волюмы должны оставаться стандартными примитивами. \
Перевод примитива в полигональные формы с помощью инструментов editable poly рекомендуется только в случаях, когда сложную геометрию части модели невозможно описать примитивом.
{% endhint %}

Допускается изменение геометрии примитива, из которого сделан волюм, на уровне подобъектов, если форма созданной модели не является однообъемной. В таких случаях разрешается создание нескольких костей типа `volume` с одинаковыми свойствами.\
Между такими волюмами не должно быть промежутков, однако незначительное пересечение волюмов допускается.

**Примеры изготовления волюмов.**\
На первом скриншоте волюмы созданы правильно. \
На втором скриншоте волюм создан неправильно, так как будет препятствовать попаданиям снарядов/пуль по юнитам, находящимся  в кабине.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc1AUkMozHkvmeMHpBJlCVTvCEZiIUz2gRKInAxEzD2KKaXFG89mAsPSIw6rfzPzWOhSEU0rR0ElXoXckQIDh2QlMdDTrZCoVxEB6VUiQpaaaLSQ5L2416qSwhrfnVoUnXhxzNxeM4QZ6dOHEU43zQ2bBgb?key=lL_zWhi9OpK0iXcLXfnQFw" alt=""><figcaption><p>Пример правильно сделанных волюмов</p></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfvFTIMh2_Lwk1SjNfwXRJoRsIrOGMqbehTp6TJf4TGUzhMf3gald3AzuMxZ5AJ7O66CUc1dB0Zx9uUIijN-ZTAV991CbCbq82YFQj8B5spSjq76xllgRmYPyIuM-HOpCeIrSrYbYa__3CACGQa83bBuwJt?key=lL_zWhi9OpK0iXcLXfnQFw" alt=""><figcaption><p>Иллюстрация неправильно сделанных волюмов</p></figcaption></figure>

### Правила именования волюмов&#x20;

* Волюм, покрывающий меш **основной кости**, имеет в названии имя этой кости. \
  Например, body\_vol, turret\_vol, engine\_vol.
* Если волюмов, покрывающих кость несколько, то в именах волюмов используется нумерация. Шаблон для именования волюмов: bonenameN\_vol, где N - порядковый номер. \
  Например, body01\_vol, body02\_vol, body03\_vol.

### Переназначение `Material ID` для плоскостей волюмов-полигидронов

В волюмах-полигидронах для корпуса необходимо каждому полигону в свойствах блока `Polygon: Material IDs` для параметра `Select ID` задать значение,  которое строго соотвествует таблице:

* Front - 1
* Top - 2
* Left - 3
* Right - 4
* Back - 5
* Bottom - 6

По параметру ID рассчитывается виртуальная броня компонент техники: лобовая броня, борта, корма и т.д.

<figure><img src="https://lh7-us.googleusercontent.com/yx1GglAd7UHq8Cm0RUPcPay0ZZs0dj3J0IpttbdJRHppL3J71cpCFXQ9ksjFVqrpBQ9r3mFRcJK9uA_HT0q-RUXbisnKxjemRUn9tg3CPlPElXlSKUQ38MqbE8_J7S63d8uSf9A8POuFYgUx__WIjQ" alt="" width="375"><figcaption><p>Окно <code>Polygon: Material IDs</code></p></figcaption></figure>

### Волюмы для стекол кабины

Для машин и других юнитов, имеющих стекла создаются волюмы для стекол. \
Название они имеют `window<N>_vol`, где \<N> - уникальный индекс волюма.&#x20;

Для добавления анимации разрушения стекла в .def файле юнита в блоке `props` необходимо добавить свойство  `windowed`.

<figure><img src="https://lh7-us.googleusercontent.com/d1ewBwm81kWMKlJWh8w3mhWNXX3pi7BEpb9Zub3sGbC1mfIfROpRN6c2gWuZWYVN_YfhxkzmAV0-iAHXBEipT4QorwInIIZlgLSxW8vQQl0-uvbM61NZK-Sx4lbcNT9ZRC2p1YUvSUsdngGDF0REhw" alt="Иллюстрация добавления свойства windowed в блоке props"><figcaption><p>Иллюстрация добавления свойства windowed в блоке props</p></figcaption></figure>

### Волюмы специального назначения

#### Волюм для рассчета тарана&#x20;

Волюм `ram_vol`, используется для расчета столкновений при таране техники. \
Представляет собой полигидрон с центральной выпуклостью, минимизирующей вероятность застревания техники при ударе под прямым углом с другими объектами. \
Назначения Material ID плоскостей не требуется.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexqUqbYPviLmbXQSVivkh0MMOn-cyHdshRtqhqLvaZV6EKPheC1EcJo02y9KnN62HlkPQhrbwLPLMyj_cJ8TBNIiMEDVs9mC7JNzwwgxeouirS_b5pKfZJ97nd3NP_43M-UHOHgY-2kk5hAxsGTewgCR4?key=lL_zWhi9OpK0iXcLXfnQFw" alt="Иллюстрация кости ram_vol"><figcaption><p>Иллюстрация кости ram_vol</p></figcaption></figure>

#### Волюм экипажа

Волюм `crew_vol`, обеспечивает взаимодействие с экипажем внутри техники. \
Применяется в моделях тяжелой техники с открытой рубкой или в транспортных средствах с кузовом. \
Может быть реализован как примитивная геометрическая фигура или как полигидрон, в зависимости от структуры модели. \
Назначения Material ID плоскостей не требуется.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOJ1H7aPzPQFoF9aj3g7FPDlHw7ngN0zo0astTwphUO2niQWgagwnHtIpuSqNdOKHogjgTCUheBpfplGUkEZVE1yYCxmjFxeQAUlgFb9u7tr7eY76CeBETc_nSOrUK5KM3PsrDho7-LjAqCe68OnEaN-0?key=lL_zWhi9OpK0iXcLXfnQFw" alt="Иллюстрация кости crew_vol"><figcaption><p>Иллюстрация кости crew_vol</p></figcaption></figure>

#### Волюм-ловец гранат&#x20;

Волюм `sticky_vol` отвечает за притягивание брошенных в юнит техники гранат к определенным зонам техники. \
Используется в тяжелой технике с открытой рубкой или в транспортных средствах с кузовом. Формируется по внутреннему пространству техники для повышения вероятности попадания гранаты внутрь уязвимой области.

<figure><img src="/files/D8kXc9euS9JMLQ1G0OAB" alt="Иллюстрация кости sticky_vol"><figcaption><p>Иллюстрация кости <code>sticky_vol</code></p></figcaption></figure>

#### Волюм топливного бака.&#x20;

Волюм `fuel_vol` обозначает геометрию взаимодействия с внешним топливным баком автомобильной техники.

<figure><img src="/files/iO2XLFjZJfFS3fta8TDv" alt="Иллюстрация кости fuel_vol"><figcaption><p>Иллюстрация кости <code>fuel_vol</code></p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bestway-1.gitbook.io/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
