Coder Social home page Coder Social logo

abstractivenord / bevy_motiongfx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nixon-voxell/bevy_motiongfx

0.0 0.0 0.0 35.39 MB

Motion graphics creation tool in Bevy. (Highly inspired by Motion Canvas and Manim)

License: Apache License 2.0

Rust 100.00%

bevy_motiongfx's Introduction

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:

  • Ease of use.
  • Performance by default.
  • Real-time preview.
  • First class support for Bevy ECS.
  • 2 way playback support.
  • Robust (can be used not just for animation productions, but for all sorts of applications e.g. game development).

Why this tool?

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

  • Streamlining timeline editing with code-based animation. Reorganizing strips and keyframes, particularly when rearranging clips, can be a laborious endeavor. However, with coded animations, the process becomes remarkably efficient. Swapping sections in the timeline is as simple as shifting lines of code up and down, allowing for swift and hassle-free adjustments.

    Here is an image (by aarthificial) comparing keyframes and code:

  • Seamless version control. With most of our assets represented as code or serialized values, we seamlessly integrate version control using Git!

  • Unleashing the full power of programming for animation. In animation, tasks such as handling repetitions, reusing common effects, and more become a breeze by harnessing programming concepts like loops and functions.

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

The 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.

bevy_motiongfx's People

Contributors

nixon-voxell avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.