Об этом проекте

Bevy Hanabi — это современный плагин системы частиц с управлением на GPU для игрового движка Bevy. Он переносит большую часть работы по симуляции и рендерингу на GPU через вычислительные шейдеры, обеспечивая визуальные эффекты (VFX) в реальном времени в больших масштабах. Дизайн вдохновлён системами частиц в ведущих игровых движках отрасли. **Ключевые возможности:** - **Spawn:** Постоянная скорость, однократный выброс, повторяющийся выброс, сброс, активация/деактивация и рандомизированные параметры. - **Initialize:** Позиция по формам (круг, сфера, конус/усечённый конус), случайные смещения, скорость по формам, цвет/размер/возраст/время жизни для каждой частицы. - **Update:** Интеграция движения по Эйлеру, силы (гравитация, радиальная, тангенциальная, силовые поля, линейное сопротивление), время жизни, изменение размера/цвета со временем, условия симуляции (всегда или только когда видимо). - **Render:** Текстурированные квады, произвольные 3D-меши, деформация (растяжение, трейлы/ленты), поддержка камер (2D/3D, двойные камеры, несколько вьюпортов, HDR/bloom), билбординг, режимы ориентации и размер в экранном пространстве. - **Expressions API:** Настройка атрибутов частиц (позиция, цвет и т. д.) через графовую систему выражений. **Использование:** 1. Добавьте `bevy_hanabi = "0.19"` в `Cargo.toml`. 2. Зарегистрируйте `HanabiPlugin` в вашем приложении Bevy. 3. Создайте `EffectAsset` с настройками спавна, инициализаторами, обновлятелями и модификаторами рендеринга. 4. Заспавните компонент `ParticleEffect` с дескриптором ресурса. **Совместимость:** - Совместим с версиями Bevy >= 0.6; ветка `main` отслеживает последний релиз Bevy. - Поддержка WebAssembly (через WebGPU) доступна начиная с v0.13. **Функции Cargo:** - `2d` (по умолчанию): Включает рендеринг 2D-камеры. - `3d` (по умолчанию): Включает рендеринг 3D-камеры. - Пользователи могут отключить функции по умолчанию, чтобы оптимизировать под один тип камеры. **Статус:** В активной разработке; подходит для эффектов среднего размера. Отзывы и вклад приветствуются. **Лицензия:** Двойное лицензирование под MIT или Apache-2.0.