Skip to content

animgraph/animgraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Animgraph

What is Animgraph?

Animgraph is a data flow library using hierarchical state machines written in Rust for animation. It provides a set of features including a data model, compiler, and interpreter to evaluate animation logic graphs and generate animation blend trees. The library supports parallel workflows, allowing developers to create and compose multiple graphs to create complex animation systems.

Key Features:

  • Built-in support for conditional expressions, arithmetic operations, state machines, and transitions
  • Default linear transition behavior that can be customized by connecting to the graph
  • Extensibility through custom resources and nodes
  • Runtime resource selection per graph (e.g., animation, bone groups, skeleton)
  • Selection of available nodes at compile-time and runtime
  • Serialization support for the data model and compiled runtime definition
  • Lightweight runtime with the option to include the compiler
  • Ability to compose multiple graphs for parallel workflows
  • Various parameter types (boolean, number, vector, event, resource)
  • Event system for communication between gameplay code and graphs, as well as between graphs
  • Simple but effective debug triggers

Demo: Ragtime Chairs

Demo available at https://github.com/animgraph/ragtime_chairs created with Ambient.

Prototype UI

The prototype UI for Animgraph was developed using egui, and is not included as part of Animgraph itself. Its main objective is to provide a glimpse of the desired user experience.

UI Prototype

WARNING: Early development

This library is in early development.

Docs

Documentation is currently missing. See examples meanwhile.

Examples

License

All code in this repository is dual-licensed under either:

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

An animation graph with hierarchical state machines

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages