用Lottie制作动画,我的月薪翻了...

  • 经验类型教程
  • 经验属性原创文章
  • 经验版权署名-非商业性使用-禁止演绎
38507 47 680 2018-06-14

Lottie是Airbnb发布的开源动画库. 帮助动效落地。学会使用Lottie,会极大地提高工作效率。

Lottie是一种新的开发动画的方式. 学会使用Lottie,会极大改善你和开发小哥哥撕逼的情况, 因为动画我们都给做好了他只需要给播放一下就好了!! 下面的效果可以轻松实现.


Image title


官网地址:https://airbnb.design/lottie/


Image title



Image title

Image title

Image title

Image title

Image title

Image title



Lottie的优势



1. 开发无需编写动画,只需加载


2. Android, iOS, 和React Native多平台支持


3. Path,flat等风格动画实现完美


4. 可手动设置进度,绑定手势,事件等


5. 可网络加载,动态控制播放速度等


6. 性能好,显示效果完


...



Lottie的劣势



1. 能在AE中实现的效果非常有限


2. 对AE使用要求高一点, 动画更加依赖设计师


3. 使用位图后,资源消耗大


...


了解Lottie的应用范围



首先我们得知道Lottie的边界在哪里,是否采用这个方案,制作的动画能不能完美实现,那么我们必须从文档开始


1. 对Android和iOS的支持范围(这和我们的产品要覆盖的用户群体息息相关)



1)  Lottie支持API 16及以上版本(也就是Android版本至少得是4.1 Jelly Bean糖豆)


2)  Lottie支持iOS 8+




2. 了解支持的AE特性(**我大概总结下)**



1)  基本的形状都支持.填充支持渐变,


2)  mask 大部分混合效果不支持(少用mask,影响性能)


3)  Mattes 用alpha matte就好(少用,影响性能)


4)  merge Path(合并路径) 也尽量避免使用,应用Android只支持4.4以上,iOS都不支持.


5)  图层效果和效果等都几乎不支持哦


6)  文字最好在转动画前就转为形状(因为iOS不支持)


7)  表达式不支持


8)  预合成现在已经支持


...


从AE开始


1. 安装必备的工具



After Effects(尽量选择17以后的版本)


原版Bodymovin(如何安装插件网上已经很多,只是老版本AE和新版AE安装方式有些区别,这个插件价格你自己定,填0就是免费!!!),这里同时有个汉化版本的汉化版Bodymovin


下载 Lottiefiles preview app(这个Android版本的app功能要更强大一些)




2. 安装bodymovin插件


插件下载地址已经在上面提到了,选择哪个版本看你,我一般都选新的. 下载下来格式是后缀为.zxp的文件,这里我们需要安装一个Adobe官方的插件管理工具 ZXP Installer进行安装, 这个很简单,但是不知道我安装后无法识别到我电脑上的ae软件.



Mac OS上安装


1.将.zxp文件重命名为.zip

2. 解压缩zip文件

3. 在Finder(访达)中 使用快捷键 ⌘+shift+G,输入 ~/Library/Application Support/Adobe/CEP/extensions 到达相应文件夹

4. 将刚刚的解压的文件移入这个文件夹


Windows上安装


1. 将.zxp文件重命名为.zip

2. 解压缩zip文件

3. 将解压文件夹拖入 C:/Program Files(x86)/Common Files/Adobe/CEP/extensions/

4. 在HKEY_CURRENT_USER/Software/Adobe/CSXS.5中创建一个注册表项“PlayerDebugMode”,其字符串值为1(要创建和修改注册表项,您可以在Windows菜单中搜索“regedit”程序)


3. 这个是我制作的一个AE动画 

Image title

Image title


Image title


可以看到我基本是用的AE的五大属性(位置,缩放,旋转,透明度,锚点)以及修剪路径,和路径做的动画,因为我看了Lottie的文档知道这样去做最为安全


4. 表达式转为关键帧



刚刚截图也发现,我有用表达式. Lottie本身不支持表达式的. 但是一些微动效果(比如抖动这类),我们用表达式做出来更方便,效果更好.这里有个插件能将表达式烘焙转为关键帧,那么也就解决我们的问题了.


下载表达式烘焙插件 Easy Bak

将下载文件夹中的Easy Bake.jsxbin文件移入/Applications/Adobe After Effects CC 2018/Scripts/ScriptUI Panels中,然后打开AE-首选项-常规-允许脚本写入文件和访问网络.这样你的插件才可以正常工作.  

Image title


安装的插件会出现在红色的位置

Image title


打开你的AE文件中的合成, 点击Bake(其它不用调节), 完成可以看到,所以表达式都被关闭,替代他们的是排列紧密的关键帧.关键这个插件还可以Unbake,点击就可还原表达式,屌不屌!!!

Image title

Image title


5. 导出Lottie需要的json文件



这里我们的动画部分都基本完成了, 整个动画是图标变换

这里需要使用到第二个工具 bodymovin,这里我用汉化版(前面有提到下载地址)来说明:

Image title


选择要导出的合成,进入设置

Image title


这个汉化版已经说明了每个选项的作用了, 按照我之前听过一个大佬说过,软件如果有默认选项,那么选默认总是没错的. 这里我们之间选择默认的第二个,其它只是特殊需求情况下需要改选的.


点击渲染, 这里我保存在桌面, 出现了一个后缀.json的文件

Image title


不要关闭软件,我们先预览看看,依旧使用这个插件,旁边的 预览按钮

Image title


拖动下面的按钮,查看真个帧率下,显示是否正常.


最好利用官网的预览功能再次查看(因为涉及到平台,你得在iOS和Android下查看),打开Lottiefile 进行预览

Image title

Image title

Image title


之后用你的手机,扫描右边的二维码进行预览(商店搜索Lottie Preview,分别用Android和iOS进行测试),如果动画有问题,继续回去看看AE用了什么不支持的属性,然后调整输出,重新导出,再次检测.


到这里,整个Lottie的动画导出就结束了.接下来只要将你的json文件交付给开发小哥哥就好了, 他们会在代码中添加Lottie库来加载我们制作的动画.下图是本人用framer实现的实际原型效果(后面可能会出相关教程哦) 
Image title
需要的插件,   在公众号回复  Lottie插件  即可下载

更多设计干货与资讯, 尽在海华社Hiwow, 不关注血亏。

Image title



全部评论:47

  • wanruyi2011

    2020-01-10 11:12

    Lottie插件

  • IU槑

    2020-01-07 10:01

    插件哪里下载

  • Caityln

    2019-12-18 12:00

    @JiaSen: 试试切换成英文版本的AE

  • 微加幸福

    2019-07-17 17:11

    我在AE里面预览是ok的,为啥在LottieFiles网站上预览时图片显示不出来呢?

  • zmm2113

    2019-07-09 15:47

    如何操控这些动画,例如你这个往回拖动倒放。

  • 吾理涛涛

    2019-06-06 14:42

    大神,我这边在用bodymovin时,遇到了一个问题:在到处的json文件发给 程序员时他用不了,一共做了51帧的动画,在他这边运行出来的就显示三帧(而且这三帧是关键帧),但是我把json文件放到lottie网站上预览的时候没有毛病,程序那边从Lottie上面下的别人的文件 放到程序里面运行也没问题,咋回事儿,愁死 我用的是ae2019

  • 2019-04-22 14:21

    Easy Bak插件哪里整???

  • 2019-03-18 17:45

    Lottie插件

  • happyness

    2019-01-25 14:35

    ”用framer实现的实际原型效果“什么时候出教程啊

  • JiaSen

    2018-12-20 11:04

    @WHEE2014: 我知道支持渐变,但是导出的js文件预览时颜色会丢失,求解决办法

  • kingsmile369

    2018-12-06 17:49

    @WHEE2014: 可以简单描述一下怎么输出有渐变的动画吗?

  • WHEE2014

    2018-11-28 17:57

    @海华社: 不要误导人,我已经给我们公司的开发同事输出了渐变的动画资源, iOS和Android 明确可以支持渐变(你可以查阅Arbnb出的lottie官方文档)

  • 原来是叶子啊

    2018-11-28 15:59

    大神你好,请问Framer终是怎么实现的呢?

  • 我的同桌是猪

    2018-08-07 10:42

    汉化的Bodymovin在哪下载啊

  • snail_design

    2018-07-23 15:41

    大神,我用lottie preview预览效果时,图片无法显示,只有动效,怎么回事

  • 会飞的猪x

    2018-07-04 12:51

    请问预览没有问题,导出给开发,手机上的效果是显示不全是什么问题呢

  • IvenQueen

    2018-06-29 14:09

    @海华社: 所以最后用了切图,放弃了json

  • 海华社

    2018-06-28 14:32

    @IvenQueen: 对于iOS和Android渐变是不支持的哦

  • 海华社

    2018-06-28 14:32

    @咖喱土豆牛腩饭: 是的

  • 海华社

    2018-06-28 14:24

    @柴chai烟: 一直都有缺点的,文中也提到过,如果粒子动效的话没有这么容易实现,Lottie更多的是支持路径动画哦

  • 海华社

    2018-06-28 14:23

    @嘉爱吃mango: 仔细阅读官方文档,看看是不是用了什么不支持的效果,不同平台下支持的属性是游一下差异的

  • 可乐cola

    2018-06-25 17:41

    @嘉爱吃mango: 请问解决了吗?

  • IvenQueen

    2018-06-21 17:05

    大神,我在ae里做的填充渐变,用bodymovin总是导出黑白渐变,不是我做的彩色,是什么原因,不知你有没有遇到过

  • 咖喱土豆牛腩饭

    2018-06-21 10:29

    bodymovin输出文件开发不就是能直接调用么?

  • 海华社

    2018-06-20 16:23

    @柴chai烟: 粒子动画,实现起来还是很难。目前还是有很多局限性。 不过这个局限性不影响你现在学习和了解这个插件,毕竟适合公司产品和团队的方案才是最优的。

  • 柴chai烟

    2018-06-20 15:39

    有一个问题,我粒子插件做的一些动效,如果导出JSON文件的时候,有一部分是没有导出来的,我只觉得这个JSON插件,只能在AE里面绘图和加动画后,才能交接到技术开发手上,这样对于设计师来说太大的限制了,个人感觉这Bodymovin还是有缺点的,就是加入其它AE的效果插件在动画里面就不能完整的导出了

  • 嘉爱吃mango

    2018-06-20 10:14

    在AE插件预览显示正常,为什么在官网预览显示有问题?

  • 海华社

    2018-06-20 09:25

    @肉桑大魔王Roshan: 嗯嗯,你说的都对。

  • my梦圆

    2018-06-19 13:28

    @海华社: 适合公司产品和团队的方案才是最优的,这句话我赞同

  • 肉桑大魔王Roshan

    2018-06-19 10:37

    @海华社: 老铁,我玩lottie都玩了一年多了。。针对不同产品策略要有不同的应对方法,我的意思是写科普得写全面,我只是提醒你,像我们的产品,是分产品策略来加库的,效率优先的产品,每1k都要严审的产品非常的多,容量是很大的一个门槛,你接触多一些不同类型的产品你就知道了,如果是严控容量的,只能靠webview的形式来加

  • 更多

更多作品

发表评论

取消

点击右上角
分享给朋友吧

分享到

取消

每人每天仅限5票,快给你心仪的作品鼓励的一票。

投票