前端怎么将图片写成json文件_Lottie前端实现AE动效

项目中为了优化用户体验加入了几处微交互动画,过期的流程都是设计输出合成的雪碧图,前端通过序列帧实现动画效果,如下图动画效果:

a36bae30b5718493e54e464c580892eb.gif

bac55c19787262b6afa65c00bec9d221.png 序列帧 bac55c19787262b6afa65c00bec9d221.png

00cf2167b1a5262441196273adc09c0e.png

bac55c19787262b6afa65c00bec9d221.png动画效果 bac55c19787262b6afa65c00bec9d221.png

ff49d345f025f24190924502e0ccfe59.gif

bac55c19787262b6afa65c00bec9d221.png序列帧 bac55c19787262b6afa65c00bec9d221.png

5735d4dc30459f1d2cd6ddd972e16f3b.png

帧动画的缺点和局限性比较明显,合成的雪碧图文件大,且在不同屏幕分辨率下可能会失真。经调研发现,Lottie是个简单、高效且性能高的动画方案。

Lottie是可应用于Android, iOS, Web和Windows的库,通过BodyMovin解析AE动画,并导出可在移动端和web端渲染动画的json文件。换言之,设计师用AE把动画效果做出来,再用Bodymovin导出相应地json文件给到前端,前端使用Lottie库就可以实现动画效果。

ab7e9c44b4c787ddc7fc257e19d2c75d.png

bac55c19787262b6afa65c00bec9d221.pngBodyMovin插件的安装与使用 bac55c19787262b6afa65c00bec9d221.png

1.  关闭AE

2.  下载并安装ZXP installer

https://aescripts.com/learn/zxp-installer/

3.  下载最新版bodymovin插件

https://github.com/airbnb/lottie-web/blob/master/build/extension/bodymovin.zxp

4.  把下载好的bodymovin.zxp拖到ZXP installer

71683730c7f74135f3c23d4b071d0ecb.png

5.  打开AE,在菜单首选项->常规中勾选:ballot_box_with_check:允许脚本写入文件和访问网络(否则输出JSON文件时会失败)

6.  在AE中制作动画,打开菜单窗口->拓展->Bodymovin,勾选要输出的动画,并设置输出文件目录,点击render

bf277a1fcd2d9e658c0d28606d384bd1.png

7.  打开输出目录会看到生成的JSON文件,若动画里导入了外部图片,则会在images中存放JSON中引用的图片

bac55c19787262b6afa65c00bec9d221.png前端使用lottie bac55c19787262b6afa65c00bec9d221.png

静态URL
https://cdnjs.com/libraries/lottie-web

NPM

npm install lottie-web

 调用loadAnimation

lottie.loadAnimation({

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值