# Редактор травяного покрова

**Редактор травяного покрова \[Grass]** в GEM RTS предназначен для добавления и редактирования **травяного покрова** на поверхности карты.

**Травяной покров** карты представляет собой совокупность всех **бассейнов травы**.\
**Бассейн травы** представляет собой слой поверхности, содержащий модели травы из одного или нескольких **шаблонов травы**.

Редактор травяного покрова позволяет создать бассейны травы с уникальными настройками для каждого из них. Наложение бассейнов травы друг на друга увеличивает плотность и разнообразие травяного покрова в местах наложения.

Для доступа к редактору необходимо открыть вкладку `Grass` в [Редакторе ландшафта](/documentation/gem-rts-v1-ru/redaktor/redaktor-kart/redaktor-landshafta.md).

## Элементы интерфейса Редактора травы

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfUDpqUvjNAfGFbON173sHCwEkmbQWKpAUqRmV7uF2FV4L86rWKSZMuBadxjKwZvX3mau3mVkcOHKZSDVh5D042A6la4aHbTNSYKC0AjIEAoUxFmu2AWQDEzmE93NyWf8ER1pNdVg?key=QaKaK7SdEZtj-dPBBVCvXShY" alt=""><figcaption><p>Окно вкладки <code>Grass</code> Редактора ландшафта</p></figcaption></figure>

1. Слайдеры настройки кисти `Grass` &#x20;
2. Список бассейнов травы &#x20;
3. Кнопки управления списком бассейнов травы &#x20;
4. Окно настройки модификаторов для выбранного бассейна &#x20;
5. Список доступных шаблонов (паттернов) травы &#x20;
6. Сцена&#x20;

Создание, редактирование и удаление травяного покрова осуществляется на сцене в реальном времени с использованием кисти `Grass`.

## Настройка параметров кисти Grass

<figure><img src="/files/nPIItapdpk7vY3cscWI6" alt="" width="563"><figcaption><p>Настройка параметров кисти <code>Grass</code></p></figcaption></figure>

* `Sharp`/`Soft` - регулирует степень размытия границ области рисования. &#x20;
* `Slow`/`Fast` - управляет скоростью добавления моделей травы в процессе рисования.
* Размер кисти `Grass` регулируется кнопками клавиатуры `+` (Плюс) и `-` (Минус)&#x20;

## Список бассейнов травы

Список отображает имена всех бассейнов травы, используемых в текущей карте. \
Имя выбранного бассейна травы подсвечивается.\
**Имя бассейна** содержит **имя типа** бассейна и **краткое описание** бассейна. \
Например, `grid ‘grass green’`:&#x20;

* grid - имя типа бассейна;
* grass green - описание бассейна.

Подсветка местоположения моделей травы из выбранного бассейна на поверхности карты активируется при нажатии клавиши `Shift`.

<figure><img src="/files/s52asquUvDJ9NyhK9H4S" alt=""><figcaption><p>Пример окна списка бассейнов</p></figcaption></figure>

### Кнопки управления списком бассейнов &#x20;

* Add - добавляет новый бассейн. &#x20;
* Delete - удаляет выбранный бассейн.

{% hint style="info" %}
В текущей версии редактора доступен только один тип бассейна травы - grid.\
Также предусмотрена возможность реализации других типов бассейнов, например, процедурно-генерируемых.
{% endhint %}

### Окно модификаторов бассейна

Каждый бассейн обладает индивидуальным набором модификаторов, влияющих на внешний вид травяного покрова. &#x20;

Модификаторы управляют настройками параметров бассейна травы, а также параметрами спавна моделей травы в процессе использования кисти Grass. &#x20;

Окно модификаторов открывается при выборе имени бассейна в списке бассейнов или создании нового.

<figure><img src="/files/344KEnZHzAuujYkBKSXs" alt="" width="563"><figcaption><p>Настройка модификаторов выбранного бассейна травы</p></figcaption></figure>

<table data-header-hidden><thead><tr><th width="212">Название параметра</th><th>Описание</th></tr></thead><tbody><tr><td><code>name</code></td><td>Cодержит кодовое имя бассейна или краткое его описание.<br>Пример: <code>‘grass fields’</code></td></tr><tr><td><code>cell size</code></td><td>Определяет размер ячейки сетки (<code>grid</code>), задающий плотность размещения травы.<br><strong>Изменение параметра доступно только для пустого бассейна.</strong></td></tr><tr><td><code>rotation</code></td><td>Изменяет угол поворота сетки бассейна типа <code>grid</code>.<br>С помощью модификатора <code>rotation</code> можно создавать бассейны травы для полей, развернутых на произвольный угол по отношению к разметке поверхности земли.<br><strong>Изменение параметра доступно только для пустого бассейна.</strong></td></tr><tr><td><code>scale range</code></td><td>Задает диапазон масштабирования объектов травы в процессе использования кисти <code>Grass</code>.<br>Каждая модель объекта травы масштабируется случайным образом в пределах указанного диапазона .</td></tr><tr><td><code>spreading</code></td><td>Определяет степень смещения объектов травы от узлов сетки в процессе использования кисти <code>Grass</code>. При значении <code>spreading = 0</code> модели размещаются строго в узлах, что используется для создания полей с растениями, расположенными вдоль "борозд" на текстуре земли.</td></tr><tr><td><code>strict angle</code></td><td>Регулирует угол размещения объектов травы на склонах. <br>*<em>В текущей версии редактора данный модификатор отключен</em>.</td></tr></tbody></table>

## Окно списка шаблонов травы

Окно `Patterns` содержит список имен доступных шаблонов для кисти `Grass` для рисования травяного покрова в выбранном бассейне.&#x20;

Имя выбранного шаблона подсвечивается.&#x20;

<figure><img src="/files/13lYX83ZlrqDcDBKKH6m" alt="" width="563"><figcaption><p>Примеры шаблонов, шаблон <code>plant_3</code> выбран из списка для рисования</p></figcaption></figure>

{% hint style="info" %}
Описание шаблонов находится в файле `scene/set/grass.set`
{% endhint %}

{% hint style="success" %}
Модели травы, используемые в шаблонах, обладают ниже перечисленными свойствами: &#x20;

* поддерживают различные материалы; &#x20;
* отбрасывают тень и обладают свойством самозатенения; &#x20;
* взаимодействуют с "ветром"; &#x20;
* поддерживают функцию "горения".
  {% endhint %}

## Принцип работы кисти Grass

Кисть добавляет или удаляет травяной покров на поверхности карты: &#x20;

* `ЛКМ` добавляет траву с учетом параметров выбранного бассейна и шаблона. &#x20;
* `ПКМ` удаляет травяной покров из выбранного бассейна. &#x20;

Заданные модификаторы **бассейна травы** применяются при спавне **объектов травы** из выбранного **шаблона травы** в процессе рисования кистью `Grass`.

### Рекомендации к работе с Редактором травы:

* Использование различных шаблонов позволяет создать более естественный и разнообразный ландшафт.
* Индивидуальная настройка модификаторов бассейна травы позволяет настроить кисть в зависимости от конкретной задачи, будь то создание густого леса или редкой травы на лугах, или ряды высаженных растений на полях;
* Сочетание травяного покрова с другими элементами ландшафта, такими как объекты деревьев и кустарников позволяет оптимизировать сцену и создавать более реалистичные и функциональные пейзажи.

### Алгоритм использования кисти Grass

#### Добавление травы

1. Добавить в список бассейнов травы новый бассейн или выбрать из списка существующий.
2. Для пустого бассейна настроить параметры сетки (размер сетки `сell size` и поворот сетки `rotation`). &#x20;
3. Настроить модификаторы для моделей травы (масштабирование `scale range` и рассеивание `spreading`).
4. Из списка `Patterns` выбрать шаблон травы. &#x20;
5. Провести кистью с зажатой `ЛКМ` или совершить одиночные клики по карте в тех местах, где нужно добавить травяной покров.&#x20;

{% hint style="info" %}
Пункты 3, 4 и 5 можно повторять, выбирая различные шаблоны травы из списка `Patterns`, а также  подбирая более подходящие значения параметров масштабирования `scale range` и рассеивания `spreading`.
{% endhint %}

#### Удаление травы

1. Выбрать из списка нужный бассейн травы. &#x20;
2. Провести кистью с зажатой `ПКМ`  или совершить одиночные клики `ПКМ` по карте в тех местах бассейна травы, где нужно удалить травяной покров. &#x20;

{% hint style="danger" %}
Удаление бассейна травы приводит к удалению с карты всех моделей травы, принадлежащие удаленному бассейну.
{% endhint %}

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

## Комплексный подход к созданию реалистичного ландшафта

Для достижения максимально реалистичного восприятия пейзажа карты важно применять комплексный подход, используя несколько инструментов Редактора карт:&#x20;

* Редактор материалов земли
* Редактор Color
* Редактор травы
* Редактор Entity для дополнения рисунка текстур на поверхности земли объектами камней, растительности и объектов антуража

**Общие рекомендации для комплексной работы**

1. **Формирование естественного травяного покрова**
   * В реальной среде травяной покров обычно разнообразен и распределён неравномерно, что отражает особенности рельефа и типа грунта. Наложение друг на друга различных бассейнов травы в сочетании с неравномерной по плотности прорисовкой травяного покрова помогает достичь более реалистичного вида.
   * Использование разнообразных шаблонов (короткая, высокая, выгоревшая трава и т. д.) зачастую создает требуемый эффект натуральности.&#x20;
   * В местах, где трава не планируется по сюжету или дизайну карты, будет уместно отказаться от неё полностью.
2. **Использование Кисти Color для сохранения визуальной целостности**
   * На больших расстояниях от камеры прорисовка травы отключается ради оптимизации. При этом умеренное использование кисти `Color` способно создать иллюзию присутствия растительности.
   * Сглаживание переходов между землёй и травой с помощью корректировки цвета нередко помогает избежать резких контрастов. Визуальное единство часто сохраняется, если оттенок земли и травяного покрова соотносятся друг с другом.
3. **Сочетание текстур, объектов окружения и травяного покрова**
   * Часто возникает необходимость скорректировать цвет материала земли и травяного покрова. Нужного эффекта можно достичь двумя способами: корректировкой оттенка текстуры земли в параметрах нужного материала на вкладке `Textures` или добавлением цвета вертексам полигональной сетки поверхности земли кистью `Color`.
   * Размещение отдельных объектов (высоких трав, камней, небольших кустарников) часто делает пейзаж разнообразнее и помогает достичь эффекта живого окружения. Компоновка таких элементов нередко определяется общей стилистикой и логикой карты, включая рельеф и предполагаемый характер местности.


---

# 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/redaktor/redaktor-kart/redaktor-landshafta/redaktor-travyanogo-pokrova.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.
