> For the complete documentation index, see [llms.txt](https://docs.bestway.com.ua/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bestway.com.ua/gem-rts-v1-ru/nastroiki-igrovykh-parametrov/nastroika-parametrov-vetra.md).

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

## Чувствительность объекта к ветру

### Параметр чувствительности к ветру

Для настройки чувствительности объектов сцены к ветру используется параметр `wind_sensibility`.\
Его значение задается в файлах конфигурации следующим образом:

```plaintext
{wind_sensibility X}
```

где `X` — степень чувствительности к ветру :

* `X=0` — ветер выключен (используется по умолчанию);
* `X=1` — низкая чувствительность (например, для деревьев);
* `X=3` — высокая чувствительность (например, для травы).

### Настройка чувствительности к ветру

Параметр чувствительности к ветру `wind_sensibility` задается в следующих файлах:

* `properties/tree.inc` — для деревьев;
* `properties/bush.inc` — для кустов;
* `properties/grass.inc` — для травы;
* `.def` файл конкретного объекта.

Для отключения чувствительности объекта к ветру можно использовать свойство `"no_wind"` в разделе `props`.

### Управление реакцией объекта на ветер в скриптах

Реакцией объекта на ветер в процессе игры можно управлять с помощью скриптов, описанных в файлах из папки `scene\set\interaction_entity`.

<details>

<summary>Пример управления реакцией объекта на ветер с помощью скриптов</summary>

```
{on "update_wind"
        {if flag "bare"
            {depend_on_wind 0}
        else fallen
            {depend_on_wind 0}
        else
            {depend_on_wind 1}
        }
    }
```

Отключение реакции объекта на ветер `{depend_on_wind 0}`

</details>

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

Основные параметры ветра настраиваются в файле конфигурации `main/scene/set/wind.set`.

**Описание параметров ветра**

<table><thead><tr><th width="352">Параметр</th><th>Описание</th></tr></thead><tbody><tr><td><code>global_wind_speed</code></td><td>Указывает скорость анимации текстуры порывов ветра, измеряется в единицах перемещения за кадр.</td></tr><tr><td><code>tree_bend_offset</code></td><td>Определяет базовый угол отклонения деревьев в направлении ветра без учета порывов, измеряется в градусах.</td></tr><tr><td><code>tree_bend_range</code></td><td>Задает максимальный диапазон отклонения деревьев во время порывов ветра, измеряется в градусах.</td></tr><tr><td><code>grass_bend_gust_start</code></td><td>Устанавливает минимальный порог порыва ветра для анимации травы, диапазон значений [-1..1].</td></tr><tr><td><code>grass_bend_gust_end</code></td><td>Устанавливает максимальный порог порыва ветра для анимации травы, диапазон значений [-1..1].<br>Значение данного параметра должно быть больше значения параметра <code>grass_bend_gust_start</code>.</td></tr><tr><td><code>grass_bend_angle_offset</code></td><td>Указывает базовый угол отклонения травы в направлении ветра без учета порывов, измеряется в градусах.</td></tr><tr><td><code>grass_bend_angle_range</code></td><td>Определяет диапазон отклонения травы во время порывов ветра, измеряется в градусах.<br>Следует избегать значений, которые визуально погружают траву под землю.</td></tr><tr><td><code>grass_bend_angle_power</code></td><td>Управляет амплитудой колебаний травы в направлении ветра во время порывов, измеряется в градусах.</td></tr><tr><td><code>grass_bend_angle_freq</code></td><td>Определяет частоту колебаний травы в направлении ветра во время порывов, измеряется в условных единицах.</td></tr><tr><td><code>grass_large_scale_power</code></td><td>Настраивает интенсивность крупных волновых колебаний травы в отсутствие порывов, диапазон значений [0..1].</td></tr><tr><td><code>grass_large_scale_gust_power</code></td><td>Настраивает интенсивность крупных волновых колебаний травы в условиях максимального порыва ветра, диапазон значений [0..1].</td></tr><tr><td><code>grass_large_scale_freq</code></td><td>Определяет частоту крупных волновых колебаний травы, измеряется в условных единицах.</td></tr><tr><td><code>grass_small_scale_power</code></td><td>Настраивает интенсивность мелких волновых колебаний травы в отсутствие порывов, диапазон значений [0..1].</td></tr><tr><td><code>grass_small_scale_gust_power</code></td><td>Настраивает интенсивность мелких волновых колебаний травы в условиях максимального порыва ветра, диапазон значений [0..1].</td></tr><tr><td><code>grass_small_scale_freq</code></td><td>Определяет частоту мелких волновых колебаний травы, измеряется в условных единицах.</td></tr></tbody></table>

**Рекомендуемый порядок настройки параметров ветра**

1. Задаются значения для параметра `global_wind_speed` ;
2. Задаются параметры ветра для деревьев `tree_bend_offset`, `tree_bend_range`;
3. Параметры для травы:
   * `grass_bend_gust_start`, `grass_bend_gust_end`;
   * `grass_bend_angle_offset`, `grass_bend_angle_range`;
   * `grass_bend_angle_freq`, `grass_bend_angle_power`;
   * `grass_large_scale_*`, `grass_small_scale_*`.

<details>

<summary>Пример настройки параметров ветра</summary>

Каждый элемент настраивается для различных значений ветра по шкале от 0 до 10.\
Если значения пропущены, то они вычисляются путем интерполяции:

```plaintext
{grass_small_scale_power 
     0 0.004   ; штиль
     1 0.010
     10 0.100  ; ураган
}
```

</details>

## Консольные команды

Для диагностики и управления ветром в игре доступны следующие консольные команды:

* Перезагрузить настройки ветра из файла `wind.set`:

  ```plaintext
  ed_reloadWind
  ```
* Отобразить на экране чувствительность объектов к ветру:

  ```plaintext
  v_entityWind [0|1]
  ```

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FKJ83ijJN7RularvandXL%2Fv_entityWind.png?alt=media&amp;token=56eb3b72-8f84-46d0-b9ba-0d72d5142367" alt=""><figcaption><p>Отображение чувствительности объектов на экране с помощью команды v_entityWind</p></figcaption></figure>
