bodymovin踩坑记(GIF/序列动画/svga对比)

工作中遇到要给扫脸门禁机界面配“科技感”动效的需求。要做一个带光效的动效。做GIF以后,开发在安卓系统门禁机上播放会有卡顿,而且内存占用夸张,让整个流程都很卡。开发提出要用别的形式实现。我因此看了很多文章,踩了一些动效方面的坑。

1. GIF

优点:
无需开发配合,简单
缺点:
1、GIF只有不透明和全透明像素,容易有毛边,做光效动画不理想。
2、支持颜色少,渐变很可能会分层。
3、交互拓展差。
4、文件大,非常耗内存和性能。

2. PNG帧动画

实现方式:
在AE中做好动效后在ME中输出时选择png序列。开发每帧替换图片实现动画。
优点:
所有效果都能用这个方法实现
缺点:
1、图片资源大;
2、常用于web端
3、高不高效主要看开发实现方式
4、通过代码的播放设置实现一定交互效果
优化技巧:
1、设计师可将所有帧合成雪碧图,常用于web/H5优化,减少请求次数,有助于缓解切换图片的闪烁和渲染卡顿。图片存储在本地时效果不明显(AE中导出雪碧图插件:CSS Sprite Exporter)。
2、设计师导出的png图片可使用压缩工具进一步压缩,进一步减少资源大小(推荐工具:TinyPNG)。
3、开发可在线程中对图片资源进行预加载,减少使用时一张张载入图片的等待时间。
4、开发可根据平台自行选择canvas、css等方式实现(不推荐使用JS定时器切换图片等性能较低的方法)。

3. bodymovin + Lottie

实现方法:
设计师在AE中使用插件导出Json文件(位图动画时一起导出图片文件)。开发使用lottie动画库重现动画。原理为关键帧动画。
优点:
1、比方法1、2性能好、占用内存小、文件小。
2、做非位图动画时只有一个Json文件。使用简单,开发成本最小好感度高。
3、 根据开发配置能获得一定的交互拓展性。
缺点:
1、插件不支持很多AE自带效果及函数效果,导出的时会丢失:
mask 混合效果不支持(少用mask,影响性能);
Mattes只支持alpha matte(少用,影响性能);
merge Path(合并路径) iOS都不支持;
图层效果和效果等都几乎不支持、文字iOS不支持应转为文字动画;
表达式不支持
2、导出时渐变色变黑白,需要手工改色值。晚上说与非英文环境有关,但系统及AE改为英文环境后还是没用。(手工修正色值教程点这里
3、做位图动画时会导出图片资源,耗内存。
4、只能在iOS 8.0 以上,Android API 14 以上平台使用。
支持情况、插件及预览可在官方网站上查看:https://lottiefiles.com/
踩坑小记:在使用bodymovin导出位图动画时,素材尺寸及缩放的大小会影响最后导出文件的大小。为优化性能素材尺寸最好切的刚刚好。

4. svga

实现方法:
设计师在AE或Animation中使用插件导出svga文件。开发使用svga player播放器播放。 svga原理上是帧动画,经过优化性能更好。官方提供API能实现替换图层等交互效果。
优点:
1、比1、2方法性能好。
2、做位图动画比lottie好,导出的文件不包含图片资源。
3、开发可通官方API替换图层,实现一定交互效果。
缺点:
1、插件不支持很多AE自带效果及函数效果,导出的时会丢失。
2、目前很多炫酷的小礼物动画都是大佬摸索出来的位图动画。想要炫酷需要有一定的经验积累。(推荐一位svga大佬的技术博客http://blog.sina.com.cn/s/blog_be9ad3e30102yuxs.html
支持情况、插件及预览可在官方网站上查看:http://svga.io/intro.html

结尾

由于开发后来点名用Lottie所以最终效果是用png位图+AE简单的动画+bodymovin导出完成这项带光效的动效设计任务的。但我个人认为在技术支持和社区繁荣程度上,svga更有优势。
个人认为简单的交互动画Lottie更适用。碰到要求光效、科技感、炫酷啥的需求,使用svga制作贴图动画更为合适。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容

  • 前言 在开发APP的过程中,需要在APP中实现设计同学的UE效果动画,一般都是通过代码实现的,当对于较复杂的动画时...
    Japho阅读 65,218评论 27 117
  • 在一个月黑风高的夜里,一位开发 Da Lao 在朋友圈吐槽『你们 UED 设计的动画,太炫了!我们实现不了……!』...
    PonyCui阅读 23,329评论 19 42
  • 背景描述 需求中有的地方需要用到动画,设计动画的软件主要有AE和Spine,新入职的动效设计师可能之前是做游戏动画...
    凌霄光阅读 1,033评论 0 0
  • 今日,清晨,拖着行李,内心平静,归途。 坐在公车上,走在麓山南路,看着那一家家熟悉的店铺,鼻子一酸。原...
    梓木同心阅读 114评论 0 1
  • 与那棵古梨树的相见日已隔开近二十年。 那时还年轻着岁月,看花的心浮躁,满眼都是繁华。本来纯白着的花事也被绚烂的心描...
    敏也阅读 651评论 0 14