一直有很朋问一关移动端现动效的方法,平时也给大家做一答,但是能没有么系统,次抽点时间总结归纳下方面的内容,跟大家分享下我常设计中是何完成动画现的。
设计输出的方式大概以分为位图和矢量两种,与常规的图输出并无太大的差异。位图方式:PNG序列帧、APNG、GIF;矢量方式:Lottie、SVG动画。
当除以设计提供的方式之外,还以设计完成demo,开通代码进行现例:javascript直接现、SVG(伸缩矢量图形)、CSS3 transition、CSS3 animation、Canvas动画、requestAnimationFrame由超出个人能力范畴就不展开讲。
现动画,首先还是得有哪工具以及合成相关的动效,我常主要使用的工具有Principle、AE、bodymovin插件、iSparta等软件。另外最近准备学习一个新的门svg动画的软件-KeyShape。
- Principle:可以输出GIF、视频等格;
- AE:以输出PNG序列,结合插件以输出GIF等等;
- bodymovin:输出json文件(也就所谓的Lottie动画);
- iSparta:使用PNG序列成APNG、GIF图片格式除此之外;
- Keyshape:要是可制作较强大的路径变换画,然后输svg画格式。
- PNG序列:单帧图像呈现,输后会生成一个序列组的件夹;
- APNG:实上是把PNG序列合成张可动画化PNG,类似GIF,相比GIF质量要高,图片后缀依旧是「.png」。
- GIF:动的位图,但质量差,压缩到临界值时出现锯齿边和白边,个人比不喜欢用。
- Json(Lottie动画):实际一用码描述的文档,通过码描述径、节点的方式完动画效果,与发实际通过码实动画类似,通过bodymovin输出后减少发实的时间,提高了发实的效率。
- SVG动画:Lottie的方式比较类似,可以减少开发的动画工作量,可以通过keyshape计并导出,后缀为「.SVG」。
接下来讲下各个软件输出对应式的方法,际上操并不太难,动效身更重要的还是在创意身,因此当你把握方式之以考虑进行创意设计。
由于GIF文件多种具都可以输出,这里就不再作详细明
1. PNG序列
- 在AE制作好动画
- 通AE预渲染,选择PNG序列,直接渲染出序列帧到地文件夹
- 导出序列帧后需行压缩,常用的tinypng,压缩后较小的文件再行交付
具下视频
2. APNG
上导出到PNG序列帧,拖拽到iSparta软件中,合成即。合成时以选择帧率、循次数(0为无循)、导出质量等。下视频
3. Lottie
- AE中需要bodymovin的插件
- 制作好动画后,在窗口打开插件-bodymovin、
- 选择导出的位置,直接渲染一下,即在地生成json文件
- 插件预览能力,但较差。可以https://lottiefiles.com/preview中行预览查看
更Lottie相关以前往https://lottiefiles.com/学习,里面有富等Lottie动画效果和一插件下载,去研究下吧
4. SVG动画
- 载keyshape软件,属于付软件,可载14天试版
- 可以过图形制作动效,可以设自动补
- 导出svg文件,导出时以设置运动是循或是一次
议大家自己下载软件后尝试
5. 格大小比
过试验几格大小大概是排序依为:PNG序列>APNG>GIF(质量较)>Lottie / SVG,json文件和SVG动画文件比较接近,此可以根据实考虑决定即可,GIF虽然可以压缩到比较小,是本身图片质量也较,此议慎考虑。
效在UI设计中的应场景很多,这里梳了一,之前我在项目中尝试过的效,给大分享一些案例,希望可对大有启发。
学习用什工导出什格式的文件只是第一步,更重要的还是如何制造出一个有创的动效,因此不要过于调工,更多应该培养思考计的习惯。