Skip to content

lynx-family/animax

Apache licensed

A high-performance, cross-platform animation library built entirely in C++ with a self-rendering engine. It is fully compatible with the Lottie format, and uniquely supports standalone playback of Alpha Videos as well as seamless mixing of Lottie 2D vector layers and Alpha Video layers.

By leveraging a unified C++ self-rendering architecture, AnimaX achieves pixel-perfect consistency across iOS and Android, avoids platform-specific rendering discrepancies, and delivers superior performance by offloading graphics work off the main thread.

Its unique ability to mix 2D vector layers with Alpha Video layers empowers designers to deliver visually rich, complex animations that were previously impossible with Lottie alone

Content

Showcase

Here are some stunning animations rendered seamlessly by AnimaX. Click on the images below to watch the demo videos 🎬

Tip: Use ⌘ + Click (macOS) or Ctrl + Click (Windows/Linux) to open videos in a new tab without leaving this page.

Alpha Video Layer Image Layer Alpha Video And Image Layer
Vector Layer With Effects Text Layer Text And Image Layer

Glossary

Term Description
Lottie An open-source animation file format originally developed by Airbnb. Designers create animations in Adobe After Effects and export them as lightweight JSON files, which can then be rendered natively on mobile and web platforms. AnimaX is fully compatible with the Lottie format.
Alpha Video A video format that includes an alpha (transparency) channel, allowing parts of the video to be transparent. This enables overlaying video content on top of other UI elements with smooth edges. AnimaX supports standalone playback of Alpha Videos, making it possible to render complex visual effects that are difficult or impossible to achieve with vector animations alone.
Video Layer Mixing The ability to combine standard 2D vector/image layers with Alpha Video layers within a single animation. This is a breakthrough feature of AnimaX — designers can mix traditional Lottie elements (shapes, text, images) with transparent video layers to create richer, more expressive animations. Key benefits: (1) drastically reduces asset size compared to full image sequences; (2) enables complex visual effects (particle, 3D, live-action) that pure vector layers cannot reproduce; (3) maintains smooth performance since the C++ engine renders all layer types in a unified pipeline on a background thread.
Dynamic Properties Runtime-modifiable animation attributes that allow developers to change colors, text content, positions, and other properties of an animation programmatically. This enables interactive animations that respond to user input, data changes, or application state without requiring new animation assets.

Why AnimaX?

While Lottie popularized vector animations on mobile and web, reproducing complex After Effects features often forces compromises. Designers may have to rely on large image sequences which bloat app sizes, face inconsistent rendering across iOS and Android due to differing platform implementations, or suffer performance drops because traditional Lottie players run heavy parsing and rendering on the main thread.

AnimaX bridges this gap by maintaining full compatibility with the standard After Effects and Lottie workflow while completely re-architecting the runtime engine:

  • Full Lottie Compatibility & Zero-Cost Migration: AnimaX seamlessly parses and plays existing Lottie JSON files. You can drop AnimaX into your project as a direct replacement for traditional Lottie players with zero code changes required.
  • Uncompromised Performance: Unlike traditional Lottie players that compete for main thread resources, AnimaX offloads the most time-consuming graphics rendering entirely to background threads, ensuring silky-smooth frame rates even on low-end devices.
  • Consistent Cross-Platform Rendering: Powered by a unified C++ rendering engine Skity, AnimaX ensures pixel-perfect consistency across platforms without relying on fragmented native APIs.
  • Breakthrough Engine Capabilities: Overcome Lottie's inability to render complex AE effects. AnimaX uniquely supports mixing standard 2D vector layers with Alpha Video (transparent video) layers, unlocking limitless visual potential without sacrificing file size or performance.
  • Advanced Interactivity: Built-in support for dynamic properties allows you to modify animation attributes at runtime or respond to user interactions seamlessly.

AnimaX Export Plugin (AFX)

AFX is an Adobe After Effects plugin that allows designers to export their designs to Lottie-compatible formats. If there are layers that need to be exported as alpha video layers, you must use AFX to export them. The exported artifacts can be played seamlessly by AnimaX.

For more details, please refer to the AFX Plugin Documentation.

Documentation

You shall find documentation for AnimaX on lynxjs.org.

How to Use AnimaX

Requirements

AnimaX apps may target iOS 10 and Android 5.0 (API 21) or newer.

We recommend using macOS as the development operating system. Windows and Linux are not yet verified or guaranteed, so you may encounter problems. If you need assistance, please file an issue, and we will be more than happy to help you address it.

Getting Started

Native Client Examples

You can run AnimaX as a standalone native library. Refer to the platform-specific example guides below:

Integrate as a Lynx Component

AnimaX can also be used as a component within the Lynx framework. For integration details, please refer to the Lynx AnimaX Quick Start Guide.

How to Contribute

We are devoted to ensuring a positive, inclusive, and safe environment for all contributors. Please find our Code of Conduct for detailed information.

We welcome you to join and become a member of AnimaX Authors. It's people like you that make this project great.

Please refer to our contributing guide for details.

Discussions

Bugs and feature requests are filed in Github Issues

Large discussions and proposals are discussed in Github Discussions

Credits

AnimaX makes use of several third-party libraries and draws inspiration from various projects. We would like to express our sincere gratitude to these sources.

Third Party Libraries

AnimaX incorporates the following third-party libraries, which have significantly contributed to its functionality. We appreciate the efforts of the developers and the open-source community behind these projects:

Referenced API Design and Implementations

The design of AnimaX has been inspired by and referenced from the following outstanding projects. Their innovative designs and solutions have been invaluable in shaping AnimaX:

We respect the intellectual property rights of all these projects and adhere to relevant open-source licenses and usage guidelines.

AnimaX is Apache licensed, as found in the LICENSE file.

About

Cross-platform C++ animation engine with full Lottie compatibility, Alpha Video layer support, and advanced features.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors