项目介绍
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文件列表及其当前状态。