# Настройка .def файла модели дома

Т.к. каждый из заэкспорченных кусков структуры имеет свой путь, то и настраивать их нужно каждый по отдельности. Но во главе есть общий файл, в котором указываются основные настройки модели.

## Главный файл структуры def <a href="#igyexmtvlqr5" id="igyexmtvlqr5"></a>

В нем должно быть прописано:

* в начале actor
* подключен файл selection/vehicle.inc - отвечает за спрайт выделения. Параметр scale отвечает за размер спрайта
* подключен файл properties/house.inc
* placer
* extender "structure", в котором описываются связи для линковки частей.

![](/files/S3gzVfxGLGNCwMk7QDrq)

[На скрине выше, в строке 6 указано, что кусок ger01\_piece01 цепляется по кости ger01\_piece01\_point. Сначала указывается место (place) , потом что к нему можно залинковать. Если линковать ничего не нужно, либо нужна такая опция, то указываются пустые кавычки (""), как в строке 7.](#user-content-fn-1)[^1]

* extender "assault" отвечает за линковку юнитами своих мест в доме. Здесь указываются только куски, к которым этот экстендер должен применяться. Конкретные настройки прописываются уже в конкретном def файле.

<img src="/files/tBOfaxjl2BaRzrqAlssU" alt="" width="251">

* extender "house\_fortification" описывается возведение укреплений. По аналогии с extender "structure", первое название - поинт куска, дальше кусок, в котором это применяется, потом название сущности, которое спавнится, в конце название кости по которой линкуется.

![Пример для фортификации окон](/files/M58XGx1P243oXbJSwaMv)

![Пример для фортификации стен](/files/qzrLGMYsklH7vRY6A6Sn)

![Описание волюма bottom\_floor и добавление extender "land\_patch"](/files/IStu6yfqYatB71iiijqW)

Для вращающихся кусков строений (например, лопасти мельницы) в общем дефе модели нужно указать:

![](/files/Yz5WWaKTG4cLvFuO0DWw)

## def файлы отдельных кусков <a href="#xfj60161aiff" id="xfj60161aiff"></a>

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

Набор пропсов для строений обычно следующий:

{props "cornered" "concrete" "windowed" "parts" "construction" "wall" "burning" "wood\_floor\_destroyed\_stamp"}

Если кусок должен быть лэндовым, указывается extender "land\_patch"

Можно задать тип брони, например ("armor\_stone\_house") для каменных сооружений.

Дальше описываются волюмы кусков и окон.

![](/files/9rVoMuVuthG6HLJZynP8)

![](/files/8dk0CjOoKfo3GSWdvHod)

{% hint style="info" %}
**Важно!** Х-модели окон должны по умолчанию иметь visibility 0, чтоб не рендериться одновременно с целыми моделями (визуально будет незаметно, т.к. они будут находиться внутри них). В таком случае, разбитое окно подставится непосредственно в момент разрушения, что немного улучшит производительность. Прописывается для всех окон в доме.
{% endhint %}

![](/files/CFUqGCvuutebbjaUeAbG)

visible 0 или 1 означает: будет ли волюм проецировать, своего рода, стену, за которой юнита нельзя будет заметить. Если стоит значение 1, то за таким волюмом юнит может укрываться от враждебных визоров. Для волюмов верхних ярусов и и которые расположены над арками или дверными/оконными проемами всегда указывается значение 0, т.к. движок проецирует по волюму до самого ленда, он не может различить где первый этаж, а где второй. Проверить visibility в движке можно по хоткею alt+H

obstacle 0 или 1 означает: будет ли волюм проецировать обстакл. Обстаклы лучше задавать вручную через rectangle, но если нужно, можно и по волюму.

В extender "structure\_bone" расписывается зависимость костей fix при разрушении. В примере ниже указано, что кусок “Х” держится с помощью фиксов 025 и 032/033.

Т.е. чтоб этому куску обрушиться должно выполняться два условия: отлетает fix025 и один из fix032 или fix033. Эта зависимость прописывается индивидуально к каждому куску в зависимости от геометрии и типа конструкции, поэтому может быть как более замудренная зависимость, так и на 1-2 фикса.

Плейсеры юнитов, которые занимают здание:

Сначала указывается номер плейса, далее поза и в конце кость линковки.

* hide\_squat - сидит в доме у стены, без "дыр" и окон для стрельбы, не стреляет
* snipe\_cover - стоит, целится, стреляет
* squat\_lie - сидит, целится, стреляет (как правильно в остовах х-моделей, у разрушенных кусков в основном они садятся и смотрят в дыры)

{% hint style="info" %}
**Важно!** Для вращающихся кусков строений (например, лопасти мельницы) в дефе такого куска нужно прописать {groupmesh 0}.
{% endhint %}

[^1]:


---

# 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/nastroika-modeli-doma/nastroika-.def-faila-modeli-doma.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.
