К содержимому

Практика игровых эффектов

Native или Baked: что нужно сохранить в VFX

Редактируемые параметры и совпадающее изображение — разные цели. Определите главное до выбора режима экспорта.

Попробовать в браузере Без аккаунта. Локально до выбора Save online.

Что означают два режима 2VFX

Native Semantic сопоставляет поддерживаемые поля открытого документа с модулями Unity ParticleSystem. В префабе можно проверить время жизни, эмиссию, формы, кривые и другие переносимые настройки. Браузерный шейдер при этом не превращается в нативную Unity-симуляцию инструкция в инструкцию.

Baked Visual использует PNG-атлас для дополнительного префаба на флипбуке. Изображение проходит через более простой рендер-контракт. В текущем прототипе атлас генерируется из процедурного пресета или загружается вами; это не автоматическое запекание всех изменений в Modules.

ВопросNative SemanticBaked Visual
Можно настраивать движение в Unity?Да, поддерживаемые поля ParticleSystem редактируются.Последовательность изображений фиксирована; для её изменения нужен новый атлас.
Сохраняются произвольные 3D-ракурсы?Нативные частицы видны в сцене, но их вид зависит от движка.Эффект представлен изображением, направленным к камере.
Будут одинаковые пиксели?Равенство параметров и seed этого не обещает.Ограниченный тест атласа, камеры и blending позволяет измерить сходство.

Зафиксируйте условия сравнения

Для полезного визуального сравнения недостаточно двух скриншотов. Зафиксируйте transform модели и эффекта, камеру, размер кадра, фон, время, цветовое пространство и смешивание. На диагностическом этапе отключите постобработку, затем отдельно верните реальные настройки игры.

Используйте последовательность моментов, например 0, 0,25, 0,5 и 1 секунду, а также непрерывное воспроизведение. Такой протокол выявляет ошибки старта и цикла, скрытые пиковым кадром. Изменение расстояния камеры или экспозиции нарушает сравнение даже при неизменном эффекте.

Измеряйте и прозрачность, и цвет

Alpha intersection-over-union оценивает пересечение силуэтов при указанном пороге. Средняя абсолютная ошибка альфы показывает различия прозрачности. Ошибку цвета нужно считать в общем представлении: PNG браузера может хранить straight RGB, а прозрачный render target — premultiplied RGB.

В проекте 2VFX есть проверка одного эталонного случая огня 4×4/12 FPS: браузер → новый TGZ → настоящий Unity Baked prefab. Это подтверждение конкретного контракта, а не сертификат для всех импортированных атласов, камер и рендер-пайплайнов. Сохраняйте условия теста вместе с результатом, а не только число без контекста.

Нативному экспорту нужны семантические тесты

До оценки картинки проверьте значения импортированных модулей: enabled, режимы констант и кривых, группы XYZ, время burst и связи sub-emitter. Unity требует совместимых mode внутри группы осей; численные значения при этом могут различаться.

Затем проверяйте runtime. Для child на событии Death убедитесь, что он не испускает частицы самостоятельно до смерти родителя. Повторите builder для поиска дублирующихся объектов и связей. Успешная компиляция C# сама по себе не проверяет такое поведение.

Выбирайте под задачу игры

Native подходит, когда важна настройка поведения в движке. Baked — когда предсказуемая анимированная форма важнее объёмной свободы. В обоих случаях сохраняйте исходный .2vfx для возврата к авторингу.

Успешная проверка Built-in не подтверждает URP, HDRP, VFX Graph или Niagara. Версия движка и рендер-пайплайна — часть контракта ресурса. При их изменении нужен отдельный этап проверки.

Читайте дальше

Практические руководства, ограничения и проверяемые примеры.

Проверьте на своём эффекте

Сохраните исходный .2vfx и оцените результат в целевом проекте Unity.

Открыть редактор ↗