Skip to content

Простой инструмент для локального предпросмотра и отладки эффектов частиц в сцене. Работает в 2D и 3D, запускает эффекты по триггеру, по кнопке и с поддержкой лупов. Настраивается прямо в инспекторе через удобные кнопки.

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta
Notifications You must be signed in to change notification settings

RimuruDev/FXTesterTool

Repository files navigation

FXTesterTool -> быстрый тестер партиклов для ExploitDev. Для внутреннего использования студии AbyssMoth

Простой инструмент для локального предпросмотра и отладки эффектов частиц в сцене. Работает в 2D и 3D, запускает эффекты по триггеру, по кнопке и с поддержкой лупов. Настраивается прямо в инспекторе через удобные кнопки.


Установка

Вариант А: пакет из релиза

  1. Скачай .unitypackage из раздела Releases.
  2. В Unity: Assets → Import Package → Custom Package… и импортируй.

Вариант Б: копирование исходников

  1. Скопируй папки FXTester.cs и Editor/FXTesterEditor.cs в проект.
  2. Скрипт редактора обязан лежать в папке Editor.

Вариант В: по ссылке

https://github.com/RimuruDev/FXTesterTool.git

изображение изображение изображение

Поддержка: Unity 2022+ / Unity 6. Работает в URP/Built-in.


Быстрый старт (2–3 минуты) (*Видос по использованию в лс кинул если совсем туго по доке)

  1. Создай пустой объект FX_Container.

  2. Помести внутрь один или несколько дочерних объектов с Particle System.

  3. На FX_Container добавь компонент FXTester.

  4. Добавь Collider или BoxCollider2D и включи Is Trigger (скрипт включит сам).

  5. На объект игрока поставь Tag = "Player".

  6. Нажми Play и пользуйся кнопками в инспекторе:

    • Play Once — разовый запуск
    • Play Loop — запуск в лупе
    • Stop — остановка
    • Collect Children — автосбор всех ParticleSystem из детей

Параметры компонента

Поле Что делает
Player Tag Тег игрока, по которому срабатывают триггеры. По умолчанию Player.
Auto Collect Children Автособирает все ParticleSystem из дочерних объектов при старте/валидации. Отключи, если хочешь управлять списком вручную.
Play On Start Запускает эффект при старте сцены.
Play On Trigger Enter Автозапуск при входе объекта с тегом Player в триггер.
Stop On Trigger Exit Остановка при выходе игрока из триггера.
Loop Принудительно включает/выключает луп для всех собранных ParticleSystem.
Restart On Retrigger Повторный триггер перезапускает эффект заново.
Restore Original Loop On Stop Возвращает исходные значения main.loop у частиц после остановки.
Manual Key Горячая клавиша одноразового запуска (работает только со старой системой ввода).
Delay Задержка перед запуском, сек.
Cooldown Минимальный интервал между запусками, сек.
Max Plays Лимит запусков. 0 — без лимита.
Particles Ручной список управляемых систем частиц. Можно оставить пустым и пользоваться автосбором.

Управление в инспекторе (Play Mode)

  • Play Once — одноразовый старт с учётом Delay, Cooldown, MaxPlays.
  • Play Loop — включает Loop = true и стартует.
  • Stop — останавливает все частицы. Если включено Restore Original Loop On Stop, исходные loop вернутся.
  • Trigger — быстрый одноразовый запуск, имитирующий событие.
  • Collect Children — заново собирает все ParticleSystem из детей.

Блок Информация показывает количество найденных ParticleSystem.


Режимы использования

1) По триггеру (область на сцене)

  • На FX_Container оставь включённым Play On Trigger Enter.
  • В 2D используй BoxCollider2D, в 3D — обычный Collider.
  • Не забудь Is Trigger = true и тег игрока.

2) По кнопке в инспекторе

  • Жми Play Once / Play Loop / Stop.
  • Удобно, когда эффекты не завязаны на игровую геометрию.

3) По горячей клавише

  • Задай Manual Key.
  • Работает только при активной старой системе ввода (Legacy).

Поддержка систем ввода

  • ENABLE_LEGACY_INPUT_MANAGER — старая система ввода (Input Manager).
  • ENABLE_INPUT_SYSTEM — новая система (Input System package).
  • При Both активны оба символа. Инструмент слушает только Legacy для Manual Key.

Если используешь только новую систему, Manual Key не сработает. Кнопки в инспекторе и триггеры остаются рабочими.


Типовые сценарии художника как по мне:

  • Взрыв / удар / всплеск: выключи Loop, жми Play Once.
  • Портал / дождь / млечный путь: включи Loop, жми Play Loop, смотри поведение, останови Stop.
  • Короткая версия длинного эффекта: стартуй и нажми Stop через нужное число секунд — так проверишь «обрезанную» версию.

Советы по иерархии (на созвоне если что можно обсудить дополнительно):

FX_Container (FXTester + Trigger)
 ├─ Explosion_A        (ParticleSystem → core)
 ├─ Explosion_Sparks   (ParticleSystem → sparks)
 └─ Explosion_Smoke    (ParticleSystem → smoke)
  • Держи все части проекта эффекта детьми одного контейнера.
  • Включи Auto Collect Children, чтобы не настраивать список вручную.
  • Для нескольких разных эффектов создай несколько контейнеров с собственными FXTester.

Частые проблемы

  • Не срабатывает триггер: проверь Is Trigger, тег игрока, и что у игрока есть Collider/Collider2D (обычно с Rigidbody/Rigidbody2D).
  • Loop не сохраняется после Stop: включи Restore Original Loop On Stop.
  • Горячая клавиша не работает: включи Legacy Input или используй кнопки инспектора.
  • Частицы не собираются: отключи/включи Auto Collect Children или нажми Collect Children.

Ограничения :(

  • Нет автоматической привязки к новой системе ввода для Manual Key.
  • Компонент управляет только ParticleSystem. Для VFX Graph нужен отдельный контроллер.

Лицензия

Смотри файл LICENSE в репозитории.


About

Простой инструмент для локального предпросмотра и отладки эффектов частиц в сцене. Работает в 2D и 3D, запускает эффекты по триггеру, по кнопке и с поддержкой лупов. Настраивается прямо в инспекторе через удобные кнопки.

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Packages

No packages published

Languages