Web Analytics

bevy_animation_graph

⭐ 192 stars French by mbrea-c

_Crate bibliothèque :_ Crates.io Crates.io

_Crate éditeur :_ Crates.io Crates.io

CI

Bevy Animation Graph

_AVIS :_ Si vous utilisez actuellement la version 0.8.0 ou inférieure, notez que
la version 0.9.0 a introduit plusieurs changements incompatibles. Consultez le
guide de migration
pour la mise à jour.

Motivation

Les graphes d'animation sont un outil essentiel pour gérer la complexité présente dans les pipelines d'animation des jeux 3D modernes. Lorsque votre jeu comporte des dizaines de animations avec des fondus et transitions complexes, ou que vous souhaitez générer vos animations de manière procédurale à partir de très peu d'images clés, la simple lecture de clips d'animation ne suffit pas.

Ce crate fonctionne comme une alternative à la plupart de bevy_animation, et vise à fournir un système d'animation complet et un flux de travail de développement incluant des graphes d'animation, des machines d'état d'animation (c'est-à-dire des contrôleurs d'animation) et un éditeur graphique pour créer vos graphes d'animation et machines d'état.

_NOTE : Ce projet est distinct des graphes d'animation introduits dans bevy_animation à la version 0.14._

capture d'écran d'exemple d'utilisation

Fonctionnalités actuelles

en code avec une API ergonomique. et cible. sont animés cinématiquement par une pose d’animation cible. en enregistrant leurs nœuds personnalisés supplémentaires dans le registre de types Bevy. L’éditeur détectera automatiquement tous les nœuds enregistrés.

Fonctionnalités prévues

à une pose cible en utilisant des forces physiques : cible est suivie et utilisée comme ancrage pour une force de ressort sur l’os du ragdoll. position/rotation de la cible relative à son os parent. Nous pourrions avoir besoin du support des moteurs d’articulation sur Avian pour implémenter ce mode correctement.

Installation

Bibliothèque

bevy_animation_graph est la partie bibliothèque de ce projet. Elle doit être ajoutée comme dépendance à votre projet afin d’utiliser les graphes d’animation. Pour installer la dernière version publiée depuis crates.io, exécutez

cargo add bevy_animation_graph
ou ajoutez manuellement la dernière version à votre Cargo.toml.

Pour installer la dernière version git master, ajoutez ce qui suit à Cargo.toml :

# ...
[dependencies]

...

bevy_animation_graph = { git = "https://github.com/mbrea-c/bevy_animation_graph.git" }

...

Éditeur

bevy_animation_graph_editor est l'éditeur. Vous pouvez l'installer comme vous installeriez n'importe quel autre binaire Rust :

# for the latest crates.io version
cargo install bevy_animation_graph_editor

for the latest master

cargo install --git https://github.com/mbrea-c/bevy_animation_graph bevy_animation_graph_editor

for the version from a local workspace

cargo install --path bevy_animation_graph_editor

use the --force flag to force reinstall

Alternativement, je recommande de jeter un coup d'œil à l’éditeur en tant qu’exemple de plugin afin de configurer votre propre binaire d’éditeur dans votre crate/espace de travail, utilisant la même version de la bibliothèque que votre jeu. Cela vous permettra d’enregistrer des nœuds personnalisés pour le graphe d’animation, qui sont une fonctionnalité puissante de ce crate.

Pour commencer

Consultez les tutoriels dans le livre en cours de rédaction (merci beaucoup à @SarahIhme pour avoir lancé cela !).

Des exemples supplémentaires et à jour sont inclus dans le répertoire examples.

Les ressources suivantes peuvent également être utiles, mais elles sont quelque peu dépassées :

une introduction à la bibliothèque et à l’éditeur ainsi qu’une explication d’un exemple simple de graphe d’animation. Voir aussi la vidéo ci-dessous pour une démonstration de l’utilisation de l’éditeur. vidéo de présentation d’utilisation un peu datée.

Contribution ou aide

Si vous rencontrez un bug ou souhaitez discuter de nouvelles fonctionnalités potentielles, n’hésitez pas à poster un problème, ouvrir une PR ou me contacter sur Discord (@mbreac dans le Discord Bevy, il y a un post d’aide crate pour bevy_animation_graph là-bas : lien).

FAQ

Est-ce prêt pour la production ?

Cela dépend.

Cela peut déjà être utile pour des projets de petite taille, mais je ne peux pas garantir l’API

stabilité entre différentes versions 0.x (c'est une grosse bibliothèque, elle est relativement jeune et je n'ai pas d'expérience préalable en programmation d'animation, donc je suis encore en train de trouver les meilleures façons de faire). Cela signifie qu'il sera probablement nécessaire de modifier manuellement vos actifs de graphe d'animation et de les migrer entre les versions, au moins jusqu'à ce que je trouve une meilleure manière de gérer les migrations.

De plus, il y aura des bugs et d'autres problèmes. J'essaie de les corriger au fur et à mesure qu'ils apparaissent.

Allez-vous implémenter la fonctionnalité X ?

Si c'est une petite fonctionnalité (par exemple un nœud supplémentaire pour l'arithmétique vectorielle ou à virgule flottante), il est probable que je ne l'ai tout simplement pas encore faite. Si vous ouvrez un ticket, je l'implémenterai probablement rapidement. Les PR sont également les bienvenues.

Pour les fonctionnalités plus importantes, il est préférable de commencer par ouvrir un ticket pour en discuter ou de me contacter sur le discord de Bevy.

Tableau des versions

| bevy | bevy_animation_graph | | ------ | ---------------------- | | 0.18 | master | | 0.18 | 0.10 | | 0.17 | 0.9 | | 0.17 | 0.8 | | 0.16 | 0.7 | | 0.15 | 0.6 | | 0.14 | 0.5 | | 0.13 | 0.4 | | 0.13 | 0.3 | | 0.12 | 0.2 |

Remerciements

Un grand merci à Bobby Anguelov pour ses cours sur la programmation d'animation.

--- Tranlated By Open Ai Tx | Last indexed: 2026-06-13 ---