Skip to content

项目介绍

bevy_alight_motion 是一个专门为 Bevy 引擎设计的插件,用于加载和播放 Alight Motion 项目文件 (.amproj)。它能够解析 AM 的 XML 结构,并在 Bevy 引擎中忠实地重现动画效果。

什么是 Alight Motion?

Alight Motion 是一款移动端专业的动态图形应用。用户可以使用图层、形状、效果和关键帧插值来创建复杂的动画。

核心目标

  • 忠实还原:力求与 AM 原始渲染效果保持一致(文档中特别注明的差异除外)。
  • 高性能:利用 Bevy 的 ECS 和现代渲染技术,如 SDF(有向距离场)和 RTT(到纹理渲染)。
  • 易于使用:提供简单的 API,只需几行代码即可加载项目并将其作为组件添加到 Bevy 场景中。
  • 动态集成:支持在 Bevy 系统中与 AM 项目进行交互。

关键特性

  • 图层支持:形状、空对象、嵌入场景(编组)、图像和文本。
  • 动画系统:位置、旋转、缩放和锚点动画,完整支持线性、步进和三次贝塞尔插值。
  • 渲染技术
    • SDF 形状:高质量、分辨率无关的矩形和圆形渲染,支持描边。
    • RTT 架构:高效处理嵌套编组和复杂裁剪。
    • 统一着色器:强大的着色器,可在单次 pass 中组合多种效果(擦拭、拉伸、遮罩)。
  • 高级效果:高斯模糊、调色板映射、颜色替换、缩放辅助等。

文档结构

本文档分为以下几个部分:

  • 指南 (Guide):了解如何安装和使用插件,以及其内部架构。
  • 效果 (Effects):详细介绍每个已实现的 AM 功能和效果,包括技术实现细节和关联的测试文件。
  • 示例 (Examples):用于测试的 .amproj 文件列表及其当前状态。

Released under the MIT License.