【个人项目】 Easecurve 2.0 · 缓动引擎

概述

Easecurve 缓动引擎是一款采用多区段拟合技术,基于.ecr缓动结构文件来完成数据回调并执行高度自定义化缓动效果的多元化程序缓动动效开发引擎。Easecurve 相较于其他的缓动支持,具有高效多态、拓展性强、可维护性强、精度可调、可跨语言等特点。

启动界面 Easecurve 2.0 启动界面


一、概述

1. 关于 Easecurve 缓动引擎

  Easecurve 缓动引擎是一款采用多区段拟合技术,基于.ecr缓动结构文件来完成数据回调并执行高度自定义化缓动效果的多元化程序缓动动效开发引擎。Easecurve 相较于其他的缓动支持,具有高效多态、拓展性强、可维护性强、精度可调、可跨语言等特点。

  本引擎(包)由 EasecurveBuilder 与 EasecurveInterface 两大部分组成,并提供一定量的.ecproject模板文件及相应的接入例程,旨在帮助广大开发者们更快更好地入门到缓动开发中。

  使用 EasecurveBuilder,您可以快速高效地对.ecr缓动文件进行可视化的开发与调整,实现缓动视觉与程序本体的逻辑分离,大大提高动效设计的效率,保护了接入源程序的独立性与迭代更新的轻便性。

  使用 EasecurveInterface,您可以简明快速地将.ecr缓动结构文件所提供的模板动效接入到您的目标程序当中,也可以单纯自由地取得任意相对地时刻下缓动结构文件中的回调数据,这有效地规避了 ECI 接口自身的局限性,以便您更加自由地利用模板数据设计独一无二的缓动动效。
StartPageEasecurve 2.0 起始页

2. Easecurve 2.0 的优势

  1. 提供可视化的缓动开发工具,告别复杂而繁琐的抽象化设计过程,使得缓动更加轻松自由。

  2. 接入代码与实际缓动效果相互分离,具备极强的后期可维护性,更换缓动效果无需更新源程序,甚至无需更新任何代码。

  3. 具有庞大的缓动模板库,支持对所有缓动模板进行二次开发,提供多段曲线拼接支持。

  4. 支持多轴多级缓动,兼备对定位移动与循环运动两种形式的动效支持,不局限于短时性缓动,适用于交互动效开发。

  5. 统一采用窗口句柄作为缓动标识,使得任意组件和窗口的缓动得到支持,为开发者的二次封装和跨语言移植工作提供便利。

  6. 支持空白缓动,即缓动数据的实时回调,规避了接口自身的局限性,使得基于拟合数据的动效形态变得丰富多彩。

  7. 得力于全新的 ECP 缓动模式,使得基于一个文件的多组件缓动成为可能,也为全局变动的自封装支持提供了便利。

  8. 引入 EXML,进一步增大了前端设计师与后端工程师的合作强度。

3. 版权声明

  未经版权所有者明确授权,禁止发行本文档及其被实质上修改的版本。

  未经版权所有者事先授权,禁止将此作品及其衍生作品以标准(纸质)书籍形式发布。

  如果有兴趣再发行或再版文档的全部或部分内容,不论修改过与否,或有任何问题,请联系版权所有者(iSuwish@qq.com)。

二、入门

1. 引擎获取

  Easecurve 2.0 是一款公开使用的,基于多种语言开发的优秀缓动动效引擎。

  您可以通过以下渠道获取纯净原版的 Easecurve 2.0 缓动引擎:

  • 通过访问 Easecurve 官方网站:Easecurve.com 获取下载。
  • 通过加入 Easecurve 官方交流群: 540459921 获取下载。
  • 通过与作者Sunwish(iSuwish@qq.com)进行亲密的PY交♂易,获取纯净特别版。

如果您是普通用户,开发的软件不用于商业用途,则无需向作者进行授权申请。

如果您是商业用户或开发的软件用于商业用途,则需要另外向作者申请授权才可以在该软件中合法使用。

作者保留对在商业用途中使用本产品而未经授权的开发者及其软件追究责任的权利。

workspace在 Easecurve 2.0 中编辑缓动曲线

2. 环境要求

  系统要求:Windows、Linux

3. 整体架构

Easecurve 缓动引擎由 ECB (EasecurveBuilder) 、 ECI (EasecurveInterface) 两部分组成,与其密切相关的有 ECR (EasecurveResource) 、 ECP (EasecurvePackage) 、 EXML (EasecurveXML) 三大结构文件。本小节仅对其做基本的介绍,如有详细了解结构文件的需求,请跳转至 标准封装 章节

ECB (EasecurveBuilder)

EasecurveBuilder(ECB)是 Easecurve 提供的能够对.ecr缓动结构文件进行曲线化设计的新型开发工具。使用 EasecurveBuilder,您可以快速高效地对.ecr缓动文件进行可视化的开发与调整,实现缓动视觉与程序本体的逻辑分离,大大提高动效设计的效率,保护了接入源程序的独立性与迭代更新的轻便性。

ECI (EasecurveInterface)

EasecurveInterface(ECI)是 Easecurve 提供的能够快速地将经由 EasecurveBuilder 设计的缓动曲线文件接入应用到实际需求场景下的强大接口。使用 EasecurveInterface,您可以简明快速地将.ecr缓动结构文件所提供的模板动效接入到您的目标程序当中,也可以单纯自由地取得任意相对时刻下缓动结构文件中的回调数据,这有效地规避了 ECI 接口自身的局限性,以便您更加自由地利用模板数据设计独一无二的缓动动效。

ECR (EasecurveResource)

EasecurveResource(ECR)是经由 EasecurveBuilder 渲染生成的标准的缓动结构文件,其内包含了利用 ECI 完成一个标准缓动所必须的全部数据,有且不限于曲线段数、段占比、时间映射。因为 ECR 文件当中存储了大量的数据,因此较高的精度通常需要以文件体积的增大作为代价。

ECP (EasecurvePackage)

EasecurvePackage(ECP)是经由 EasecurveBuilder 渲染生成的标准的缓动结构包文件,其内包含了利用 ECI 完成一个标准包缓动所必须的全部数据,有且不限于曲线段数、段占比、时间映射。因为 ECP 文件当中存储了大量的数据,因此较高的精度通常需要以文件体积的增大作为代价。

EXML (EasecurveXML)

EasecurveXML(EXML)是 Easecurve 提供的一种强大的缓动模式文件,通过EXML与ECI的有机结合能够帮助开发者快速高效地实现程序中的大规模缓动(全局变动)。在 EasecurveBuilder 中可借助布局文件可视化地对EXML文件进行开发与修整, EXML文件短小精悍,具有可调控、易维护、独立性强等优点。

ECProject(EasecurveProject)

EasecurveProject(ECProject) 是缓动曲线设计软件 EasecurveBuilder 的专用格式,可以保存 EasecurveBuilder 的曲线路径、缓动设置等数据。用 ECProject 格式保存缓动曲线文件时只保留必要的设置数据及关键点信息,属于有损保存,所以当缓动需求十分复杂、精度要求十分高时也能够保持极小的体积与磁盘占用。使用 EasecurveBuilder 完成曲线的设计后最好存储一个 ECProject 的文件备份,直到确认不需要在 EasecurveBuilder 中再次编辑该曲线。

ecpFileStruct.ecp文件架构

三、完整文档

  戳我看完整文档

博主是个念旧的人,在看案例欣赏前先强制回味下老版本 Easecurve 1.0

OLDeasecurve老版本 Easecurve 1.0 低low界面

四、案例欣赏

1. 采用 Easecurve 2.0 开发的实际项目登录界面(迅析统计 · 一步到位

迅析登录界面

2. 采用 Easecurve 2.0 开发的实际项目更新提示框(dpRun,现已转型为Alterful

dpRun更新提示

3. 基于 Easecurve 全局变动与差时技术开发的界面动效

全局变动与差时动效

4. 基于 Easecurve + ECI 回调开发的图像转场动效

图像转场动效

5. 基于 Easecurve 缓动回调的渐显隐效果

渐显隐效果

6. 基于 Easecurve 与原创算法开发的仿QQ登录界面低多边形动效

低多边形动效

7. 基于 Easecurve + ECI 的矩阵变换动效

观察任意向量变换观察任意向量变换

伸缩变换及张成空间的降维伸缩变换及张成空间的降维

五、引擎现状

  由于 Easecurve 开发团队(猴开发)开发人员不足(只有本菜鸡一人)、开发经费不足(开发经费为零)、开发信仰缺失(单干历时近两年已经无聊死)、开发时间欠缺(目前忙的一批),本引擎已饿死在摇篮中(不过诈尸可以有),若有人看中(能看见就不错了,摊手)本项目,有勇气接盘,或有意愿加入 Easecurve 开发,或是有意向资助博主红票子继续开发、愿意充值信仰的,请速速联系博主!博主保证卷款就走,不胜感激!

--- END ---
如果你觉得文章内容对你有帮助,可以打赏支持一下哦!

0%