> 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/redaktor/redaktor-fx.md).

# Редактор cпецэффектов

## Введение

**Редактор спецэффектов** в Gem RTS является встроенным инструментом для создания, настройки и модификации спецэффектов для игр, разработанных на этом движке.

**Инструментарий Редактора спецэффектов** обеспечивает интуитивно понятное проектирование спецэффектов с помощью системы блоков-шаблонов, позволяя разработчикам легко добавлять и настраивать параметры поведения элементов спецэффектов на основе:

* частиц и их физических свойств;
* спрайтов;
* декалей;
* световых эффектов;
* звукового сопровождения.

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

{% hint style="info" %}
Список существующих в проекте спецэффектов можно изучить в разделе **fx** списка пресетов объектов на вкладке **entity** в редакторе карт или редакторе миссий.
{% endhint %}

### Каталог категорий спецэффектов

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2F4LwXoUR0Bz7EcfdhtLs0%2F%D0%9F%D0%B0%D0%BF%D0%BA%D0%B0%20%D1%81%D0%BF%D0%B5%D1%86%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D0%BE%D0%B2.png?alt=media&amp;token=05725214-1c22-419f-9c0c-1ba6f0e976e7" alt="" width="563"><figcaption><p>Папка существующих спецэффектов</p></figcaption></figure>

{% hint style="info" %}
Систематитизация спецэффектов по категориям не несет никакой функциональности и служит исключительно целям упорядочивания эффектов для облегчения поиска нужного эффекта.
{% endhint %}

<table><thead><tr><th width="145">Категория</th><th>Описание</th></tr></thead><tbody><tr><td>сommon</td><td>Общая</td></tr><tr><td>detonation</td><td>Эффекты, сопровождающиеся детонацией</td></tr><tr><td>dust</td><td>Эффекты пыли.<br>Обычно используются для спавна пыли при разрушениях строений и при движении юнитов по соответствующим типам территорий</td></tr><tr><td>flash</td><td><p>Эффекты, сопровождающиеся вспышкой света:</p><ul><li>эффекты, сопровождающие выстрелы</li><li>эффекты электрической сварки</li><li>стопсигналы</li></ul></td></tr><tr><td>hit</td><td>Эффекты попаданий</td></tr><tr><td>light</td><td>Эффекты для объектов, которые светят: фары, лампы, фонари, факелы</td></tr><tr><td>smoke</td><td>Эффекты дыма и открытого огня</td></tr><tr><td>water</td><td>эффекты для поверхности воды</td></tr><tr><td>weapon</td><td>специфические эффекты для разных видов оружия</td></tr></tbody></table>

{% hint style="info" %}
Большинство пресетов спецэффектов используются для спавна эффектов непосредственно во время игры игровым движком или скриптами миссий.

Если в списке свойств объекта выбранного спецэффекта отсутствует параметр **storeable**, то данный пресет спецэффекта не предназначен для выставления в качестве объекта антуража на карте или в миссии.
{% endhint %}

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FDI7GeYUzDgPrvN6SgOlW%2FStoreable%20Entity's%20property.png?alt=media&amp;token=a1eda78f-610a-431d-848d-f2b04ece5f7b" alt=""><figcaption></figcaption></figure>

## Запуск Редактора спецэффектов

Запуск **Редактора спецэффектов** осуществляется по нажатию клавиши **F4** из активного окна [Редактора карт](/gem-rts-v1-ru/redaktor/redaktor-kart.md) или [Редактора миссий](/gem-rts-v1-ru/redaktor/redaktor-missii.md).\
Это позволяет разработчикам эффективно переключаться между редактированием карт или миссий и настройкой спецэффектов, что значительно ускоряет процесс разработки и тестирования, и позволяет точнее адаптировать спецэффекты к игровым сценариям.

## Элементы окна редактора спецэффектов

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2Fb0VdBd7jB3Z8KA1JrS9V%2F%D0%9E%D0%BA%D0%BD%D0%BE%20%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%20%D1%81%D0%BF%D0%B5%D1%86%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D0%BE%D0%B2.png?alt=media&amp;token=a505f508-f100-46c3-bd61-07982891c0ae" alt=""><figcaption><p>Элементы окна редактора спецэффектов</p></figcaption></figure>

1. Меню основных функций (New, Open, Save, Save as)
2. Рабочая область редактора спецэффектов
3. Refresh - кнопка обновления визуализации спецэффекта
4. Инструмент настройки размеров рабочей области

## **Контекстное меню редактора спецэффектов**

Наполнение и редактирование тела спецэффекта происходит с помощью контекстного меню.\
Контекстное меню открывается по клику ПКМ на нужном элементе спецэффекта и отображает доступные команды и опции, связанные с выбранным элементом или контекстом работы с ним.

Контекстное меню состоит из блоков и доступных команд работы с блоками.

### Команды контекстного меню

Список доступных команд также зависит от выбранного элемента.\
В таблице представлен полный набор команд:

<table><thead><tr><th width="125">Действие</th><th width="456">Описание</th><th>Клавиша</th></tr></thead><tbody><tr><td>Add inside</td><td>Добавить новый блок или элемент внутрь текущего блока</td><td>ALT + INSERT</td></tr><tr><td>Copy</td><td>Копировать текущий выбранный блок</td><td>ALT + C</td></tr><tr><td>Delete</td><td>Удалить текущий выбранный блок</td><td>DELETE</td></tr><tr><td>Up</td><td>Переместить выбранный блок вверх в иерархии</td><td>ALT + UP</td></tr><tr><td>Down</td><td>Переместить выбранный блок вниз в иерархии</td><td>ALT + DOWN</td></tr><tr><td>Turn on</td><td>Включить выбранный блок</td><td></td></tr><tr><td>Turn off</td><td>Выключить выбранный блок</td><td></td></tr></tbody></table>

### Блоки первого уровня

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FVMrCjSiN5Otces7fEokB%2F%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%20%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%B3%D0%BE%20%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F.png?alt=media&amp;token=99c8ed51-9ad5-42ec-bf1c-5efa2f0eb781" alt=""><figcaption><p>Блоки первого уровня в контекстном меню Редактора спецэффпектов</p></figcaption></figure>

<table><thead><tr><th width="151">Блок</th><th>Описание</th></tr></thead><tbody><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/nastroika-vfx-na-osnove-spraita.md">spriteview</a></td><td>Управление визуализацией спрайта</td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/nastroika-vfx-na-osnove-dekalya.md">decalview</a></td><td>Управление визуализацией декаля</td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/nastroika-vfx-na-osnove-istochnika-sveta.md">lightview</a></td><td>Управление визуализацией спецэффекта на основе источника света</td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/vfx-na-osnove-generatora-chastic.md">particleview</a></td><td>Визуализация движения частиц</td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/svoistva-vfx.md">soundview</a></td><td>Подключение и управление звуковым сопровождением эффекта</td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/svoistva-vfx.md">damage</a></td><td>Настройка урона, наносимого эффектом</td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/svoistva-vfx.md">storeable</a></td><td>Добавляет в свойства эффекта возможность сохранения эффекта на карте или в миссии</td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/svoistva-vfx.md">fire</a></td><td>Добавляет свойства открытого огня в спецэффект. При спавне такого эффекта возможно возгорание объектов окружения в радиусе действия эффекта</td></tr></tbody></table>

### Блоки второго уровня

Список блоков второго уровня зависит от выбранного элемента первого уровня.

{% hint style="info" %}
Состав и описание блоков второго уровня представлен на страницах описаний блоков первого уровня.
{% endhint %}

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FMFM8ETEJC9rhvJuyrFJP%2F%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%20%D0%B2%D1%82%D0%BE%D1%80%D0%BE%D0%B3%D0%BE%20%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%20%D0%B4%D0%BB%D1%8F%20spriteview.png?alt=media&amp;token=d63570e2-9b24-4caf-a602-fe9779f1124b" alt=""><figcaption><p>Блоки второго уровня на примере блока spriteview</p></figcaption></figure>

<table data-card-size="large" data-view="cards"><thead><tr><th data-type="content-ref"></th><th data-hidden></th><th data-hidden></th><th data-hidden></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/nastroika-vfx-na-osnove-spraita.md">Настройка VFX на основе спрайта</a></td><td></td><td></td><td></td><td><a href="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FrCk1dAvSKKe04Fp9WkP4%2Fsplash_editor_3.jpg?alt=media&amp;token=a89d5e03-56d3-401d-b04b-8da366458bd9">cover picture default</a></td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/nastroika-vfx-na-osnove-dekalya.md">Настройка VFX на основе декаля</a></td><td></td><td></td><td></td><td><a href="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FrCk1dAvSKKe04Fp9WkP4%2Fsplash_editor_3.jpg?alt=media&amp;token=a89d5e03-56d3-401d-b04b-8da366458bd9">cover picture default</a></td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/nastroika-vfx-na-osnove-istochnika-sveta.md">Настройка VFX на основе источника света</a></td><td></td><td></td><td></td><td><a href="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FrCk1dAvSKKe04Fp9WkP4%2Fsplash_editor_3.jpg?alt=media&amp;token=a89d5e03-56d3-401d-b04b-8da366458bd9">cover picture default</a></td></tr><tr><td><a href="/gem-rts-v1-ru/redaktor/redaktor-fx/vfx-na-osnove-generatora-chastic.md">VFX на основе генератора частиц</a></td><td></td><td></td><td></td><td><a href="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FrCk1dAvSKKe04Fp9WkP4%2Fsplash_editor_3.jpg?alt=media&amp;token=a89d5e03-56d3-401d-b04b-8da366458bd9">cover picture default</a></td></tr></tbody></table>

## **Создание спецэффекта с нуля**

### 1. Создание нового спецэффекта

Процесс создания нового спецэффекта начинается автоматически сразу при запуске Редактора спецэффектов или по нажатию кнопки New. Редактор создает пустой SDL файл с расширением .def

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FKjGY6kbxcYNJL1uiHwGZ%2F%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA%20%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0%20%D1%81%D0%BF%D0%B5%D1%86%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D0%BE%D0%B2.png?alt=media&amp;token=79716f8c-91b8-464c-9cb9-4fc9af8b94ac" alt="" width="563"><figcaption><p>Окно Редактора спецэффектов в режиме создания нового спецэффекта</p></figcaption></figure>

### 2. Сохранение эффекта

Сразу после создания нового спецэффекта рекомендуется его сохранить.

При первом сохранении рекомендуется использовать функцию **Save as**, чтобы задать имя спецэффекта.

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FH60FqL6hDMjg7CaSSkzR%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-05-13%20%D0%B2%2018.47.29.png?alt=media&amp;token=286a7af5-d36a-445c-9947-efabffde1e83" alt="" width="563"><figcaption><p>Окно функции "Сохранить как" в редакторе спецэффектов</p></figcaption></figure>

#### **Алгоритм действий при первом сохранении:**

1. В каталоге существующих эффектов выбрать подходящую категорию.
2. В поле **File** ввести имя спецэффекта

После того, как файл спецэффекта получил имя, вносимые изменения сохраняются с помощью функции **Save**.

#### Правила именования спецэффекта

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

{% hint style="warning" %}
Для избежания визуальных ошибок во время игры необходимо следить, чтобы все спецэффекты имели **уникальные имена**.\
Игровой движок игнорирует название каталога, в котором находится файл спецэффекта. Имеет значение только имя эффекта.
{% endhint %}

<figure><img src="https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FG1OwUc8e4i4eLQUsdOxE%2F%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%20%D1%81%D0%BF%D0%B5%D1%86%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D0%B0.png?alt=media&amp;token=2bc91cd2-c310-414c-bd2a-7dfdf7c5bf0e" alt=""><figcaption><p>Окно функции Save as (Сохранить как)</p></figcaption></figure>

### 3. Наполнение спецэффекта

Рабочая область редактора спецэффектов позволяет добавлять блоки для настройки параметров спецэффекта.

#### Алгоритм действий

1. Добавить блоки первого уровня и настроить значения параметров блоков первого уровня
2. При необходимости добавить блоки второго уровня для нужных параметров и настроить значения параметров

Кнопка **Refresh** позволит обновить визуализацию спецэффекта после внесенных изменений без необходимости перегружать редактор.

## Создание спецэффекта на основе имеющегося

1. Выбрать в редакторе карт подходящий спецэффект из списка доступных пресетов.
2. Запустить редактор спецэффекто&#x432;**.**
3. Нажать кнопку Открыть \[Open]
4. Найти в списке эффектов выбранный спецэффект и нажать кнопку **оk**

{% hint style="info" %}
Для быстрого поиска можно воспользоваться вводом имени нужного эффекта в поле File
{% endhint %}

5. Сохранить открывшийся файл под новым именем с помощью функции Save as
6. Настроить параметры нового эффекта:
   * удалить или отключить ненужные блоки;
   * настроить значения параметров в блоках первого и второго уровней;
   * добавить необходимые блоки первого и второго уровня, если это необходимо;
7. Сохранить спецэффект с помощью функции Save
