Свойства и назначение волюмов и зон

```
***Основная статья***

```

## Волюмы

**Volume** – параметрическая (box, sphere, cilinder) или мешевая (edit mesh) форма, покрывающая меш модели, по которой расчитываются физические взаимодействия в игре. По высоте **volume** вычисляется укрытие юнита. Если высота укрытия меньше минимальной, то укрытие не создаётся. Для проверки возможности стрельбы так же используются volume.

Минимальная высота укрытия 0.3. Высота ствола оружия относительно земли:

* лежа - 0.40
* сидя - 0.85
* стоя (snipe) - 1.35

Созданные волюмы не должны иметь назначенных текстур, в свойствах им выставляется visible = 0 или снимается флажок **rendereble**. Названия даются по покрываемым частям модели (roof\_vol, door\_vol, wall\_vol или body\_vol) с добавлением номера в корень. Если волюм единственный, он должен называться body\_vol. Волюм линкуются к покрываемому мешу.

В Object Properties каждому волюму прописывается свойство Volume.

* Если по **volume** будет генерироватся зона **obstacle**, то прописывается свойство Obstacle (по умолчанию включено), если нет, то Obstacle = 0
* Если по **volume** будет генерироватся сетка видимости (напр. спошная стена), то прописывается свойство Visible (по умолчанию включено), если нет, то Visible = 0 (напр. дверной проём)
* Если **volume** пересекает Hole\_vol и в модели должен образовываться проём, прописывается свойство Holed.
* **Volume**, вырезающий проём в модели, называется Hole\_vol и в Object Properties имеет свойства

Volume Hole

* Если сквозь **volume** должны беспрепятственно пролетать пули, то в Object Properties прописывается свойство Bullet = 0. Иначе свойство Bullet (по умолчанию включено).
* Если на **volume** должен наводится курсор в игре (напр. окно), то в Object Properties прописывается свойство Touch.
* Если на **volume** не должна действовать взрывная волна, в Object Properties прописывается свойство Blast = 0. Иначе свойство Blast (по умолчанию включено).
* Свойство Contact (по умолчанию включено) разрешает расчёт физики столкновений.
* Свойство Contact groud (по умолчанию включено) разрешает расчёт физики столкновений с поверхностью ландшафта.
* **Volume** окна в Object Properties прописывается свойство Window.
* Для эффекта колыхания модели на поверхности воды, в Object Properties прописывается свойство Float
* Для спауна эффекта горения в пределах **volume**, в его Object Properties прописывается Tags = fire
* Для взаимедействия физики и юнитов на модель с последующим её разрушением, в её **volume** прописывается Tags = body.

## Зоны

Obstacle – линейная форма (shape), с помощью которой определяется зона препятствия для движения юнитов. Obstacle линкуются к родительскому мешу (группе, вспомогательному объекту). При разработке модели obstacle можно делать отличной от прямоугольника формы: круг, ломаная замкнутая линия. Однако, в игре эти формы будут отображаться прямоугольными зонами. В Object Properties прописываются свойства

* Obstacle
* Rotate

Для моделей с множеством волюмов, желательно отменять автоматическую генерацию obstacle по ним (Obstacle = 0) и создавать один общий obstacle по всей протяжённости меша. В местах стыка obstacles (напр. соединение стен), необходимо перекрывать их с нахлёстом.

## Зона вырезания ландшафта

Зона **Cut** предназначена для вырезания части ландшафта. Она используется для имитации углублений в земле, создания окопов, погребов и проч. Зона **Cut** создаётся в виде shape – rectangle, которая переводится в editable spline. Линкуется к basis модели (или главной родительской кости).