居然还有人问动效怎么实现?我再教最后一次

这一次是一个非常非常干的干货,手把手教你如何配合开发将小动效在页面中展示出来。主要分为小程序端和APP端,包含APNG格式的图片和JOSN动画文件,大家可以在日常工作中选择自己项目适合的方式。

 

关于如何做动效,网上有相关的课程和文章,我在这里就不说了,因为我可能做的也没人家好(偷笑),但是当你做完之后如何交付给开发,如何调试出比较好的效果,我这里可以分享一下我的经验和踩过的雷。

当然,如果和你配合的开发是个很厉害的大佬,你也可以直接跳过了,因为厉害的大佬可以自己写动效,写的可能还比你做的好(我就这样被虐过)。

巴拉巴拉废话一堆,现在进入正题,我会分别告诉大家小动效在小程序端和APP端如何导出,配合开发去落地,主要就是使用APNG格式的图片JOSN动画文件

 

小程序端

首先小程序是基于各个平台的开发框架进行开发的,实现技术类似于HTML,和APP在技术上有本质的区别,所以在APP上适用的方法不一定在小程序上适用。虽然有些简单的小动效开发可以自己直接写出来,但是开发大大说,写太多会影响小程序的性能,那就需要我们来帮忙解决了。

APNG图片介绍

一般情况下我们会使用GIF动图来实现动效,但是GIF图片的缺点就是不清晰、有锯齿、不支持半透明。这里给大家介绍另外一种图片格式「APNG图片」。

图片

简单来说,APNG 支持全彩和半透明,无杂边问题,文件体积小。缺点就是兼容性差,但是在小程序端是默认兼容的,这便是极好的。
简单介绍完APNG,我再给大家推荐一款我使用的制作APNG图片的软件「iSparta」。

图片

下载地址:http://isparta.github.io/index.html

 

实操案例

下面我会用一个小案例来演示怎么制作ANPG动图。

第一步:导出序列帧

如果你是用PS制作动效,做的是帧动画,那么需要你把每一帧都单独导出一张图片。

如果你是用AE制作动效,那么就需要你将AE的动效导出成PNG序列。

注意点

1、选择导出【png序列】,通道要选择【RGB+Alpna】

2、可以设置帧序列的数量

图片

图片

导出结果对比

图片

帧速率越高动画就会越流畅,但是针对简单的小动效,适当降低帧速率也不会有特别大的影响,所以可以根据实际情况来选择导出的帧速率。

 

第二步:将序列帧导入软件

将已经导出的序列帧再导入到iSparta软件中,序列帧要按顺序命名好。

注意点

导入之后需要设置帧频,控制动效速度的快慢。

图片

看一下不同的设置最终的效果:

图片

最后,导出的文件后缀仍然是「文件名.png」,所以在交付的时候要区分清楚。

如果想要预览,可以在之前的下载网站,有一个在线查看器,可以预览效果。

 

压缩小技巧

导出之后的文件在对比之后,发现虽然效果比GIF图片要好,但是文件的体积却比GIF图片大一点,这里可以直接使用「iSparta」中自带的压缩设置来压缩,但是有时候我会觉得压缩的质量不太好。那么重点来了,我会先把序列帧图片在「tinypng」压缩网站上进行压缩,然后再导入到「iSparta」软件中进行APNG图片制作,过程虽然麻烦,但是效果好。

图片

上面一切都完成之后,就可以直接把这个图片交付给开发了,小程序端可以直接使用,亲测可用。

 

APP端

APP端的小动效可以通过GIF图、序列帧、Lottie库等方式来实现,GIF图和序列帧开发都很容易使用,但是Lottie库需要开发去看一下文档,学习一下如何使用这个库。

之前项目中,开发都以项目时间紧张为由,让我们导出GIF图或者序列帧来实现小动画,最近在一次优化Loding动画的需求中,终于说服了开发试一试Lottie库。

Lottie库介绍

图片

那么如何用AE制作JSON动画文件呢?我们需要用到一个AE插件【Bodymovin】,这个插件可以帮助我们直接导出JSON文件。

至于下载及安装的办法我也是看的网上大佬的教程,跟着大佬的步骤一步一步来的。

这是学习下载及安装帖子:https://zhuanlan.zhihu.com/p/26304609

如果不能下载和安装的话,另外再推荐一个AE插件的网站:https://www.lookae.com/?s=bodymovin

现在我们默认已经下载和安装好了,就可以开始动手导出JSON文件了。

 

实操案例

下面我会用之前的小案例来演示怎么导出JSON文件。

第一步:设计制作动效

首先你要先用AE制作好你需要的动效。

注意点

1、动效需要都是矢量图形绘制,最好不要引入位图文件,如果引入要注意将图片一起给到开发

2、AE中有些效果Bodymovin导出并不支持,所以小动效不要过于复杂

图片

 

第二步:导出文件

动效设计好之后就可以启动Bodymovin插件,直接导出。

如果你想查看导出的效果,记得导出的时候要在设置里面选择「Demo」,一起导出,就会有个demo的文件夹,点击里面的文件就可以直接查看。

图片

图片

我们虽然可以使用demo进行查看,但是还是不知道线上的效果,如果你和开发大大关系好,可以直接发给开发在真机上看一下效果,如果你不想麻烦开发大大,可以自己用下面这个网址,自己在浏览器中在线预览。

一个预览网站:https://lottiefiles.com/preview

再一个预览网站:https://svgsprite.com/tools/lottie-player/?render=canvas

图片

最后再对比一下文件大小:

图片

对比之后发现JSON文件体积最小,而且开发可以控制大小、速度、循环次数之类的,方便又智能,是比较推荐在APP端使用的。

 

本次我主要就是介绍一下APNG格式的图片和JOSN动画文件的相关内容以及导出方法,虽然步骤看起来很简单,但是在导出之后要预览效果,然后根据预览的效果再调整动效,是一个不停反复的过程,经过几次反复之后才会得到一个比较好的结果。
另外,我这里仅仅是针对比较简单的小动效,如果是比较复杂的动效应该也可以试试,但是我还没有实际操作过,所以不知道真实的效果如何。在我写这篇文章的时候,我又去查看了一些资料,了解到除了这两种方法,还有其他方法可以将小动效落地实现出来,但是我没有使用过,所以也就不胡乱介绍了,大家还有其他好的方法可以一起来交流。以上就是我平时工作中具体操作的动效实现,你学废了吗? 

 

原文地址:
Leo设研所(公众号)
作者:设研_仓仓君


 

0

评论0

站点公告

 

AI创作与绘画大师,国内版chatGPT在线版本免费使用哦

点击打开: https://ai.uiya.cn

   
显示验证码
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码