Skip to main content
Version: Legacy

Effekseer

Создание как простых частиц

effekseer

так и продвинутых




Примечание

Мне лень настраивать под светлую тему. Если хотите — делайте PR или присылайте мне готовый css.

Что такое Effekseer

text-img

Effekseer - это программа-инструмент, предназначенная для генерации частиц и эффектов для различных 3D вещей (OpenGL, Unity, UE, и т.д.). Вы можете быстро создавать эффекты, частицы, используя для них либо обычные текстуры (для 2D частиц), либо целые 3D модели.



Данный гайд не научит вас по полной пользоваться программой, а лишь только расскажет про простые возможности. Вы сами можете ознакомиться с программой скачав её и прочитав официальную документацию. Учтите что она на Английском языке!.



Более подробно вы можете узнать сами, просто наведя курсор мыши на имя параметра!



Знакомство с интерфейсом

effekseer-gui

Для начала стоит ознакомиться с интерфейсом данной программы, чтобы знать что где что лежит:
1. 3D Вьюпорт — Все внесённые изменения вы увидите здесь.
2. Список источников — Здесь будут видные ваши источник частиц в виде простого списка.
3. Параметры источника - Параметры для источника. Здесь вы будете задавать параметры для последующего отображения ваших частиц.
4. Плеер и таймлайн — Временная шкала с плеером. Здесь вы можете настраивать продолжительность, воспроизводить, ставить на паузу и останавливать генерацию частиц. Так есть ест ь4 кнопки триггеров.


Управление

  • Колёсико мыши — Перемещение 3D сцены.
  • Правая кнопка мыши — Поворачивать 3D сцену.



Создание частиц

Создание частиц

Настройки источника

settings-emitter

  • Visibility - Отображение частиц (а зачем трогать её).
  • Name - Имя источника.
  • Spawn Count - Количество частиц которые должны появится за всё время.
  • Infinity - Бесконечно, частицы будут появляться пока есть время.
  • Destroy after time - Уничтожение частицы через какое-то время.
  • Time to live - Время жизни частицы.
  • Mean - время жизни.
  • Dev - разница жизни.
  • Spawn Rate - Время между созданием каждой частицы. Не ставьте 0, будет долго думать.
  • Mean - время.
  • Dev - разница.
  • Initial Delay - Задержка перед появлением частиц.

Положение частиц

Статичное

settings-pos-static

pos-static-preview

Положение частицы никак не меняется со временем. Частицы всегда будут находиться на указанных координатах X, Y и Z.

PVA

settings-pos-pva

pos-static-preview

Частицы начинают движение, в зависимости от заданных параметров. У частицы появляется некая сила, которая тащит их.

Параметр Pos устанавливает изначальное положение частицы.
Параметр Speed устанавливает равномерную скорость смещения частицы.
Параметр Accel устанавливает ускорение смещения частицы.

Под-параметры Dev регулирует разброс сил, или же их разницу.
Easing

settings-pos-easing

pos-easing-preview

Частица будет двигаться по прямой от начальной (Start) до конечной (End) точки.

Параметр Start устанавливает начальную позицию частицы, где будет начинаться движение.
Параметр End устанавливает конечную позицию частицы, до куда она будет двигаться.

Под-параметры Dev контролируют смещение координат Start и End.

Через параметры ниже (Type, Ease In и Ease Out), можно контролировать плавность движения в начале и в конце.

Поворот частицы

Статичное

settings-rot-static

Поворот частицы не меняется со временем.

Примечание:
На 2D частица поворот может быть не заметен, так что для демонстрации используется 3D модель!
PVA

settings-rot-static

Частицы меняют свой поворот в зависимости от параметров.

Параметр Angle устанавливает изначальный поворот частицы.
Параметр Angular Velocity контролирует равномерную скорость поворота частицы.
Параметр Angular Accel устанавливает ускорение поворота.

Под-параметр Dev контролирует разницу скорости и ускорения.
Easing

settings-rot-static

Частица будет поворачиваться по прямой он начала (Start) и до конца (End).

Параметр Start устанавливает изначальный поворот частицы.
Параметр End устанавливает конечный поворот частицы.

Под-параметры Dev контролируют разницу поворота на Start и End

Через параметры ниже (Type, Ease In и Ease Out), можно контролировать плавность изменения поворота частицы в начале и в конце.

Размер частицы

Статичное

settings-scl-static

scl-static-preview

Размер частицы не меняется со временем.

PVA

settings-scl-static

Частицы меняют свой размер в зависимости от параметров.

Параметр Scaling Factor устанавливает изначальный размер частицы.
Параметр Expansion Speed устанавливает равномерную скорость изменения размера частицы.
Параметр Expansion Accel устанавливает ускорение изменения размера частицы/

Под-параметр Dev контролирует разницу изменения размера частицы.
Easing

settings-rot-static

Частица будет менять свой размер по прямой от начала (Start) и до конца (End).

Параметр Start устанавливает изначальный размер частицы.
Параметр End устанавливает конечный размер частицы.

Под-параметр Dev контролирует разницу размера частицы на Start и End.

Через параметры ниже (Type, Ease In и Ease Out), можно контролировать плавность изменения размера частицы в начале и в конце.
Текстура

В параметр Texture устанавливает текстуру частицы. Поддерживаемые форматы: png, dds и tga.
Параметр Blend контролирует режим смешивания частиц.
Параметры Fade-In и Fade-Out контролирует как плавно будет появляется и исчезать частица при появлении и при исчезании.

Модель

Думаю и так понятно...



Местоположение и Экспорт эффектов

Местоположение и Экспорт эффектов

Чтобы правильно экспортировать эффект для дальнейшего использования - в программе нажмите на Files -> Save as... и выберите названием.

Правильный экспорт эффектов с текстурами

Если в ваших эффектах используются текстуры, то сначала создайте папку textures там, где у вас будет сохранён эффект (т.е. допустим my_effect.efkefc и textures), после в самом эффекте переопределите текстуры и после экспортируйте.

my_top_effect/
|- textures/
| \- particle_sprites.png # тут текстурав для эффекта
\- my_effect.efkefc # сам эффект

Теперь ваши эффекты должны находится в вашем mod_id (который находится в assets) в папке effeks.

assets/
\- my_mod_id/
\- my_effect/
\- my_effect_folder # Не обазательно создавать под эффекты папку
|- textures/... # здесь хранятся текстуры для эффекта
\- my_effect.efkefc # сам эффект



Использование эффекта

Использование эффекта
Шаблон
effekseer {
world = "<mod_id>:<dimenstion_id>" // Измерение, в котором появится эффекта. Если измерение из ванильной игры — то необязательно указывать mod_id как minecraft
path = "<mod_id>:path/to/effect" // За место path/to/effect - указываете путь, относительно папке effeks

/* Если эффект долженг появился где-то на координатах */
pos = pos(x, y, z) // Координаты, где должен появится эффект

/* Если, вы хотите прикрепить к какой-то части тела */
target = "<BoneName>" // Имя кости/папки/группы, которая в модели
entity = <npcID>() /* или */ <player>() // На кого нужно прикрепить эффект

scale(x, y, z) // Размер эффекта
}

Пример
effekseer {
world = "overworld"
path = "docs:boom/boom.efkefc"
pos = pos(-789.5, 65.5, 28.5)
scale(1, 1, 1)
}

effekseer-previw