voxell-tech / bevy_motiongfx

Motion graphics creation tool in Bevy. (Highly inspired by Motion Canvas and Manim)
Apache License 2.0
156 stars 3 forks source link
bevy-plugin motion-graphics

Bevy MotionGfx

Bevy MotionGfx is a motion graphics creation tool in Bevy. It is highly inspired by Motion Canvas & Manim.

hello_world gif

Associated example here!

Goal

The goal of this tool is to procedurally generate animations with code. Below are some of the core design principles used in Bevy MotionGfx:

Why this tool?

Procedurally coded animations can be easily scaled to larger projects (e.g. code can be reused/extended/structured).

2 way playback support

In addition to all of the above, Bevy MotionGfx also provides 2 way playback support. This means that the animations you created can be played in both forward and backward directions without any extra computational cost! This is a feature that is very lacking in other code-based animation libraries.

Easing Functions

Bevy MotionGfx also comes with built-in easing functions which are crucial for animation creation.

easings gif

Associated example here!

Vector Graphics

In Bevy MotionGfx, all vector graphics are rendered using Vello! This is done using the minimal Bevy Vello Renderer.

vello_basic_gif

Associated example here!

Typst Integration

Bevy MotionGfx also supports Typst! It comes with a compiler that compiles Typst content into Svg and display them using Vello.

typst_basic_gif

Associated example here!

Join the community!

You can join us on the Voxell discord server or our project focused VOS (Voxell Open Source) discord server.

License

bevy_motiongfx is dual-licensed under either:

This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.