À propos du projet
Bevy Hanabi est un plugin moderne de système de particules piloté par GPU pour le moteur de jeu Bevy. Il délègue la majeure partie du travail de simulation et de rendu au GPU via des compute shaders, permettant des effets visuels (VFX) en temps réel à grande échelle. La conception s'inspire des systèmes de particules des moteurs de jeu leaders du secteur.
**Caractéristiques principales :**
- **Spawn :** Taux constant, burst unique, burst répété, réinitialisation, activation/désactivation et paramètres aléatoires.
- **Initialize :** Position sur des formes (cercle, sphère, cône/cône tronqué), décalages aléatoires, vélocité sur des formes, couleur/taille/âge/durée de vie par particule.
- **Update :** Intégration du mouvement eulérien, forces (gravité, radiale, tangentielle, champs de force, traînée linéaire), durée de vie, changements de taille/couleur au fil du temps, conditions de simulation (toujours ou uniquement lorsque visible).
- **Render :** Quads texturés, maillages 3D génériques, déformation (étirement, traînées/rubans), support caméra (2D/3D, caméras doubles, viewports multiples, HDR/bloom), billboarding, modes d'orientation et dimensionnement en espace écran.
- **API Expressions :** Personnalisez les attributs des particules (position, couleur, etc.) via un système d'expressions basé sur un graphe.
**Utilisation :**
1. Ajoutez `bevy_hanabi = "0.19"` dans `Cargo.toml`.
2. Enregistrez `HanabiPlugin` dans votre application Bevy.
3. Créez un `EffectAsset` avec les paramètres de spawn, les initialiseurs, les updaters et les modificateurs de rendu.
4. Spawn un composant `ParticleEffect` avec un handle vers l'asset.
**Compatibilité :**
- Compatible avec les versions de Bevy >= 0.6 ; la branche `main` suit la dernière version de Bevy.
- Le support WebAssembly (via WebGPU) est disponible depuis la v0.13.
**Fonctionnalités Cargo :**
- `2d` (par défaut) : Active le rendu caméra 2D.
- `3d` (par défaut) : Active le rendu caméra 3D.
- Les utilisateurs peuvent désactiver les fonctionnalités par défaut pour optimiser pour un seul type de caméra.
**Statut :** En développement intensif ; adapté aux effets de taille modérée. Retours et contributions bienvenus.
**Licence :** Double licence MIT ou Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.