# План настройки моделей техники

Рекомендуется соблюдать предложенный порядок разработки и настройки модели. Это позволит своевременно выявлять ошибки и, в случае их обнаружения, избежать сложных переделок. \
Работу по созданию лодов, х- и хх-моделей рекомендуется выполнять после первичного тестирования основного функционала модели в игре. \
Анимации целесообразно добавлять на этапе, когда модель полностью готова.

{% stepper %}
{% step %}

## Подготовительная работа

* **Проверить габариты техники**\
  Убедиться, что общие размеры (длина, ширина, высота) и калибр орудия соответствуют оригиналу.
* **Проверить направление модели** \
  Лицевая сторона модели должна быть направлена по оси Х.
* **Назначить материалы**\
  Применить необходимые материалы на модель для визуализации объекта.
* **Создать базовую кость модели**\
  Создать кость `Basis` и в её `Object Properties` указать тип игровой сущности и путь экспорта модели в игру. \
  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli.md#bazovaya-kost-modeli)
  {% endstep %}

{% step %}

## Работа с мешем

* **Объединить/разделить меши**\
  Разделить или объединить меши на элементы (основные кости), задать им соответствующие названия и в `Object Properties` указать значение `poly`.  \
  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli.md#vidimye-kosti-modeli-tekhniki)
* **Создать слои**\
  Создать иерархию слоев  для работы с мешем, лодами (lod0-lod3), волюмами, траками, колесами, спецэффектами и дополнительными костями. Рекомендуется структурировать слои для удобства работы.
* **Добавить боксы для иммитации внутренностей**\
  Для мешей компонент техники, где возможно заглянуть внутрь модели (body, turret, engine и т.д.), добавить боксы закрывающие отверстия и назначить на них темные участки текстуры. Это создаст иллюзию наличия внутренностей в модели.
  {% endstep %}

{% step %}

## Работа с костями и иерархией

* **Выстроить иерархию**\
  Разместить элементы модели в соответствии с иерархией, прилинковав все ветки элементов к базовой кости модели (`basis`).\
  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli.md)
* **Задать значения параметров в свойствах \[Object Properties]**\
  Указать необходимые параметры для объектов (как мешей, так и дополнительных костей).
* **Настроить пивоты**\
  Проверить и при необходимости настроить пивоты для мешей, костей и костей подвески.\
  Проверить направление всех пивотов модели. Убедиться, что вращения таких объектов, как колеса, башня и ствол происходит по оси Z.
* **Добавить дополнительные кости:**

  * Кости для мест старта анимаций посадки (emit-ы);
  * Кости для пассажиров (seat-ы);
  * Кости для всех видимых членов экипажа и пулементчиков
  * Визоры;
  * Энумераторы;
  * Кости спецэффектов (FX);
  * Кости шасси и управления подвеской;
  * Другие кости, если необходимо.

  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli.md#vtorostepennye-kosti)
  {% endstep %}

{% step %}

## Работа с волюмами

* **Создать и настроить волюмы**\
  Создать и переименовать волюмы, прилинковать их к "родительским" объектам и прописать свойство `volume` в \[Object Properties].\
  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli.md#volyumy)
* **Проверить бронирование**\
  Убедиться, что полигонам  волюмов назначены верные ID в свойствах блока `Polygon: Materials IDs`.  Если волюм является полигидроном, то переназначить ID плоскостей для рассчета бронирования, согласно [установленному правилу](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli.md#volyum-korpusa).
* **Описать волюмы в .def файле**\
  Если компонент имеет дополнительные волюмы (например, `body01_vol`, `body02_vol` и т.д.), то после первичного экспорта необходимо добавить их описание в .def файл модели.
  {% endstep %}

{% step %}

## Проверка основного функционала в игре

* **Провести первичный экспорт**\
  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/eksport-v-igru-modeli-tekhniki.md)
* **Проверить .def файл модели**\
  Убедиться, что в .def файле прописаны все элементы, необходимые для проверки основного функционала модели в игре.
* **Проверить визуальное соответствие**\
  Убедиться, что в результате экспорта модели в игру конвертация исходных текстур в dds-текстуры прошла корректно. Модель в игре должна визуально соответствовать модели в рабочем окне 3ds Max
* **Проверить движение юнита и работу его подвижных частей**\
  Убедиться, что все основные компоненты модели работают корректно:

  * основное орудие стреляет и имеет правильные лимиты вращения;
  * пулеметы (если имеются) стреляют и имеют корректные лимиты вращения;
  * подвеска при движении ведет себя корректно, колеса и/или гусеницы вращаются и поворачивают в нужных направлениях;
  * экраны брони (если имеются) отлетают при повреждениях.

  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/testirovanie-modeli-tekhniki.md)
  {% endstep %}

{% step %}

## Работа с лодами

**Создать лоды**

* Lod 1. Оставить \~75-80% исходных треугольников.
* Lod 2. Оставить \~50% исходных треугольников.
* Lod 3. Оставить \~30-35% исходных треугольников.

[Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/urovni-detalizacii-lody.md)
{% endstep %}

{% step %}

## Работа с текстурами

* **Назначить материалы**\
  Назначить материал на модель и применить соответствующие текстуры.&#x20;
* **Проверить назначение материала с поддержкой альфа-канала**\
  Создать отдельный материал с поддержкой альфа-канала и назначить его только на полигоны, на которых присутствуют прозрачные элементы. \
  Это необходимо для оптимизации рендера объектов, содержащих прозрачные элементы.

<figure><img src="/files/J1ZGu7X4YL5EW5q0jwQ9" alt="" width="563"><figcaption><p>Иллюстрация назначения материла с поддержкой альфы</p></figcaption></figure>

* **Проверить швы и стыки**\
  Убедиться, что текстура не исказилась в местах резки, сшивания и смещения. Если необходимо, переназначить через раскладку (Unwrap UVW).
* **Очистить тени**\
  Проверить, что в местах удаления объектов на текстурах для Х- и ХХ- моделей отсутствуют тени.

  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/naznachenie-materialov-na-model.md)
  {% endstep %}

{% step %}

## Создание Х-модели

* **Изменить путь экспорта** \
  В свойствах кости `Basis` изменить путь экспорта модели в папку с Х-моделями.
* **Создать текстуры для Х-модели**\
  На текстурах должны быть элементы нанесенного ущерба (пятна ржавчины, следы гари и копоти, места выгоревшей краски, разбитые стекла и т.п.).&#x20;
* **Проработать меш Х-модели**\
  Удалить ненужные элементы модели, сделать вмятины, пробития и места поломок.
* **Проработать лоды Х-модели**\
  Выполнить те же действия для всех лодов (либо одновременно для всех).
* **Проработать сбитые гусеницы**\
  Для моделей с гусеницами проработать меш сбитых гусениц.
* **Очистить тени на Х-модели**\
  Удалить тени в местах удаления объектов на текстуре Х-модели.
* **Проверить разрушаемость компонентов:**

  * разрушить компонент с помощью консольной команды \
    `g_component break “название компонента”`;
  * проверить ремонт компонента командой\
    &#x20;`g_component restore “название компонента”`;
  * выстрелить по юниту из танка двумя типами снарядов;
  * выстрелить по юниту из противотанкового орудия (например, Bazooker);
  * кинуть в юнит противотанковую гранату.

  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/kh-model-tekhniki.md)
  {% endstep %}

{% step %}

## Создание ХХ-модели

* **Изменить путь экспорта**\
  В свойствах кости `Basis` изменить путь экспорта модели в папку с ХХ-моделями.
* **Удалить хелперы**\
  Удалить ненужные хелперы.
* **Переназначить диффузную текстуру**\
  Использовать Multiply-материал для диффузной текстуры. \
  Для моделей, использующих PBR-материалы используется схема `pbr/standart_dirt`, иначе `gem2/bump_specular_lightmap`
* **Перенести раскладку**\
  [Перенести раскладку во второй канал под лайтмап](#user-content-fn-1)[^1]у для всех элементов и лодов.

<figure><img src="/files/8OTd95aawDTxB1ElrDIF" alt="" width="563"><figcaption><p>Иллюстрация переноса раскладки во второй канал</p></figcaption></figure>

* **Проработать меш ХХ-модели**\
  Удалить ненужные элементы, включая меш резины для моделей колесной техники.
* **Проработать лоды**\
  Выполнить те же действия для всех лодов.
* **Создать part’ы и волюмы**\
  Создать и настроить part’ы и волюмы для них в ХХ-модели.
* **Проверить уничтожаемость компонентов:**

  * разрушить компонент с помощью консольной команды:\
    &#x20;`g_component destroy “название компонента”`;
  * запустить эффект взрыва командой `g_effect “explosion”`;
  * выстрелить по юниту из танка двумя типами снарядов;
  * выстрелить по юниту из противотанкового орудия (например, Bazooker);
  * кинуть в юнит противотанковую гранату;
  * проверить, что кости `part` отлетают при взрыве.

  [Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/khkh-model-modeli-tekhniki.md)
  {% endstep %}

{% step %}

## Настройка .def файла

Во время первичного экспорта модели в игру создается его упрощенная версия **.def** файла, достаточная для проверки основного функционала модели в игре. Когда модель полностью готова, то **.def** файл необходимо доработать, воспользовавшись текстовым редактором.  Допускается скопировать **.def** файл с уже готовой и настроенной схожей по типу и функционалу модели техники и внески в него необходимые изменения.

* **Добавить базовые props**\
  Добавить `props`, соответствующие типу и функционалу модели.
* **Описать дополнительные волюмы** \
  Описать все дополнительные волюмы&#x20;
* **Описать кости для анимаций посадки юнитов в технику (emit) и кости экипажа**\
  Описать эмиты и кости посадки экипажа в **.def** файле. \
  \*Если в **.def** указан дополнительный файл **crew\.ext**, то описания вносятся в него.
* **Добавить анимации и позы экипажа**\
  Прописать корректные анимации и позы экипажа.
* **Описать дополнительное оборудование** \
  Если предусмотрено, описать дополнительное оборудование, например, мешевые пулеметы или пулеметы, встраиваемые вспомогательными костями.
* **Указать физические свойства**\
  Указать физические свойства модели (масса, скорость, объем топливного бака и т.п.).

[Подробнее](/documentation/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/bazovaya-nastroika-def-faila.md)
{% endstep %}

{% step %}

## Анимация

* **Настроить гусеницы**\
  Применить и настроить модификатор `Skin` для всех гусениц.
* **Создать базовые анимации**:
  * `start/stop`;
  * `hit`;
  * `fire`;
  * `fire_mgun`;
  * анимации открывания/закрывания дверей и люков при посадке/высадке экипажа;
  * прочие анимации, если необходимо.
    {% endstep %}
    {% endstepper %}

[^1]: Перенос раскладка делается таким образом: \
    1\. Выделяются объекты\
    2\. Назначается модификатор Unwrap UVW\
    3\. В окне Channel заменить значение канала с 1 на 2. \
    4\. В появившемся окне выбрать кнопку Move для переноса информации с 1 канала во 2.

    \ <br>


---

# 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.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.
