来工作期间需求涉及到很多动画的实现,都是几经周折用了好几种格式最终才顺利交付。所以整体梳理了一下市面上比较流行的动效格式,以及在制作过程中应该以什么思路去做以便于最终更好交付~
视觉侧在制作过程中主要针对demo进行拆解,要兼顾 品质 &性能 & 成本 三者考虑
有序-描述 : 基础的有序动效可以通过描述文档交付开发
部分有序+部分无序 - 组合 : 描述文档+动效组合交付
1.简单-小动效推荐: webp apng gif (*如果是需要做简单的动效、例如加载、icon动效、或者循环动效等)
3.特效-用到插件、且用序列导lottie文件特别大无法交付,则用MP4
开发侧交付时,需根据场景考虑三个点 1.可控性 2.是否有透明通道 3.大小
简单循环动效、无需控制播放时长、触发条件:webp 、apng 、 gif
支持透明 webp 、 apng 、 gif 、 lottie 、 SVGA
3.大小
(*最后选择最适合的文件格式导出最合适的大小)
只需要给开发DEMO的触发条件、运动元素、变化属性、形式、数值、曲线以及详细的运动过程标注即可,以下我总结了一个表格仅供大家参考
包括一些常见的缓动,在网上会有很多大家自行选择即可,下面是lofter内常见几种函数:
那就需要考虑到用什么格式去进行交付最佳,需要与开发提前沟通降低风险
主要分为三大类,第一大类序列帧(png/gif/Apng/webp)、第二大类开源工具(Lottie/SVGA)、第三大类视频(MP4)
Tencent:vap&pag|pag还在持续维护
对于前端而言 webp < apng < mp4 < svga < lottie < gif
但对于客户端而言 svga < lottie < apng < webp < mp4 < gif
【GIF】GIF格式几乎被所有的浏览器和设备所支持,客户端兼容性最强,但它不支持全色彩且文件通常比较大。
【MP4】MP4是一种广泛支持的视频格式,大部分浏览器和设备都能播放MP4文件,但它不是专为动态图像设计的。
【WebP】 Google开发的WebP格式支持动态图像,比GIF有更好的压缩,但兼容性稍逊于GIF和MP4,尽管最新的浏览器都支持。
【APNG】 APNG是PNG的扩展,支持动画,比GIF有更好的颜色支持,但并不是所有浏览器都支持APNG。
【Lottie】 Lottie依赖特定的库(如Airbnb的Lottie库),兼容性取决于这些库的支持情况,但并非所有平台都原生支持。
【SVGA】 SVGA是一个特定于某些平台(如Android和iOS)的动画格式,它不像其他格式那样在浏览器中得到广泛支持。
指客户端和前端对于动画格式兼容性排序不同的原因在于它们的应用环境、支持的技术栈和用户需求的差异。客户端-通常指的是移动应用程序。而前端-则主要指的是在Web浏览器中运行的界面。
* 客户端-应用可以直接利用操作系统提供的多媒体处理能力,有时还可以通过内嵌的库或框架来增强对特定格式的支持
* 前端-应用的动画和图像格式支持则依赖于Web浏览器的能力。各主流浏览器针对不同格式的支持程度不一,而且可能会随着时间发展而改变(例如,随着Web标准的更新和浏览器的升级,新格式如WebP和APNG逐渐得到支持)
* 客户端-应用可能更关注性能和用户体验,倾向于使用最优化和最流畅的动画格式。因此,如果一个客户端平台(如iOS或Android)提供了对特定格式的高效支持(如Lottie、SVGA),那么这些格式可能会被优先选择。
* 前端-开发则更注重跨浏览器兼容性,因此可能偏好像GIF和MP4这样的广泛支持的格式。
客户端-应用需要适配的设备类型通常更为固定(如特定的手机型号或操作系统),开发者可以根据目标平台优化动画格式。
前端-开发则必须考虑到用户使用的设备和浏览器版本更加多样化,因此需要选择兼容性更强的格式以覆盖更广泛的用户群体。
对于实现特效程度而言lottie约等于svga,比如一些特效插件等即不可导出
其次是序列帧 gif(有锯齿) ≈ webp ≈ apng,但因为 gif 导出有锯齿所以复杂效果不推荐
最佳选手则是mp4视频格式可以支持各种特效,但如前面所说:视频格式很多大厂有自研的工具用来导透明通道例如 tencent:vap&pag|pag还在持续维护、yy直播:yyeva|
https://yyeva.yy.com/ ,没有自研工具的可以通过alpha通道视频去交付给研发同学

按正常导出而言,应该是视频 < 开源工具 < 序列帧
【Lottie】 Lottie支持复杂的动画和交互,可以通过JSON文件轻松修改动画,并且文件体积相比视频格式要小很多
【SVGA】 SVGA提供了很多自定义动画的选项,支持动态替换、动画事件等
【Webp】WebP支持动画并且提供了比GIF更好的压缩比和质量,同时也允许一定程度上的调整和编辑,但是它的编辑工具和支持库不如Lottie和SVGA丰富
【APNG】 APNG支持更好的色彩和透明度比GIF 适合复杂动画,但相对于WebP、Lottie和SVGA,其开发工具和编辑能力较为有限
【MP4】 MP4格式虽然被广泛支持,但作为一个视频格式,它的编辑和动画制作灵活性不及上述专门的动画格式
【GIF】 GIF格式在开发灵活性上排名最低,因为它不支持全色彩,没有内置的动画控制功能,且文件大小相对较大,编辑动画的能力也非常有限
动效制作的方式很多,但怎样用最低的成本最快捷的方式去实现在设计之初就应该思考清楚~以上全是呕心沥血的干货~~~喜欢就点个赞分享给需要的人吧~