关于SVGA礼物动画设计制作方法

首先想说下为啥要写这篇文章,最近接到个项目任务制作直播间礼物赠送视觉效果,由于之前没有接触过此类设计,因此在多方打听,并在网上到处探索后发现SVGA是个不错的选择,在与开发同学沟通并尝试了另外几种格式输出文件后,我们最终敲定了用SVGA。


在网上搜索了很多相关资料学习,发现网上关于SVGA的资料相当少,而且很大部分还是介绍关于开发的,关于设计制作的少的可怜,这也是我打算写这篇内容的的原因,我觉得或许应该有这么一篇文章,帮助到一些正在做这个事儿的设计同学,如果有什么表达有问题的地方欢迎大家指正…


礼物动效输出方法


A:导出关键帧动画制作礼物动效

缺点:需要把图片带到安装包中,增大了安装包体积

B:使用属性动画

缺点:开发代价较大,每一套礼物动画基本都不一样,开发人员需要去细细调参,花在业务上编码的时间会变得非常有限,从代码复用率极低

C:输出GIF文件

缺点:输出效果差,并且资源占用高

D:使用SVGA,SVGA支持位图,并且输出后直接封装打包好的,直接给开发SVGA文件就OK,并且SVGA更贴合直播类应该场景,SVGA所提供的动态文本、动态图像功能都是其它库所不能提供的,在实现炫酷动画的基础上,性能表现也比较棒。

SVGA是开源工具可以跨平台使用,支持Android、iOS、React Native、Web、微信小程序,但是在微信小程序上表现会差一些。



什么是SVGA


SVGA 是由YY团队开发出来的一种跨平台的开源动画格式,同时兼容 iOS / Android / Web。SVGA 除了使用简单,性能卓越,同时让动画开发分工明确,各自专注各自的领域,大大减少动画交互的沟通成本,提升开发效率,动画设计师专注动画设计,通过工具输出svga动画文件,提供给开发工程师在集成 svga player 之后直接使用。


SVGA 不同于 Lottie,Lottie 需要在 Player 一层完整地将 After Effects 所有逻辑实现,而 SVGA 则将这些逻辑免去。也因此,SVGA 可以同时支持 Flash。SVGA 做的事情,实际上,非常简单,Converter 会负责从 Flash 或 AE 源文件中提取所有动画元素(位图、矢量),并将其在时间轴中的每帧表现(位移、缩放、旋转、透明度)导出。 Player 会负责将这些信息还原至画布上。



AE基础属性制作输出 SVGA


笔者常用的动效制作软件是After Effects,因此主要讲如何通过AE制作导出SGAV动效,利用AE制作基础属性动画,基础属性动画包括(位移、缩放、旋转、透明度)。


第一步:从sketcg或者PS中将礼物和礼物效果元素切图导出,根据个人需可以将礼物拆分成几块分别导出,方便AE中制作动 态效果。




第二步:将导出的切图素材导入AE中,利用AE制作基础属性动画,制作完成后结果如下


第三步:将背景隐藏在窗口-扩展中找到SVGAConverter_A





第四步:用SVGAConverter_AE插件导出SVGA文件,输出SVGA时记得把背景调成透明背景,输出后如下通过下图可以看到SVGA输出格式后文件大小仅为145KB,如果是序列帧的话文件大小高达10几M




AE预设效果制作输出 SVGA


接触过SVGA的同学应该都知道,SVGA支持位图、矢量和一些基础属性动画,很多时候我们制作礼物特效的时候,都是用自己做好的位图素材导入AE进行一些基础属性的动画制作,这次我将利用序列帧位图制作出一些更炫的礼物特效。


第一步:在AE中用预设效果制作出自己满意的礼物特效

第二步:将制作的特效动画导出序列帧,然后在将序列帧从新导回AE中,新建预合成将每一帧拼接起来,这样做的目的是因为SVGA无法识别AE的表达式和效果预设,所以我们将特效转为序列帧后在重新放进AE,序列帧是位图所以SVGA可以识别并导出特效。




第三步:接下来将制作好的序列帧预合成放置到礼物特效合成中,打开SVGA插件输出SVGA礼物特效动画

AE插件制作输出 SVGA


这次我用AK大佬的插件saber为大家做案例,saber是一款很不错的光效制作插件,也比较容易上手,视觉表现力也非常棒,本篇文章主要是将SVGA,所以就不给大家具体说明saber如果做礼物特效了。


第一步:根据礼物的轮廓利用saber插件制作出火焰燃烧效果。


第二步:和刚才所说的预设效果特效动画一样,我们通过AE将特效动画导出PNG序列帧,然后在将序列帧导回AE,并将每一帧拼接起来,这里有个小技巧给大家说下,用过saber的同学都知道saber的用法是利用AE的图层样式“屏幕”将光效合成在图里,其实saber也可以导出透明背景的PNG的,方法很简单,将saber当前图层复制一层,然后对复制出来的副本进行用亮度遮罩。



第三步:接下来将制作好的序列帧预合成放置到礼物特效合成中,打开SVGA插件输出SVGA礼物特效动画。

总结


最后聊一下关于用其他软件制作的礼物动画,根据上面所说的几种方法可以发现,我们想要在SVGA中想要得到更好的效果,就是将制作的特效输出为序列帧后在AE中重新拼接起来,换一种说法就是我们可以不仅限于AE来制作,也可以使用C4D或者其他设计软件来做,只需要我们将最终效果已序列帧的形式进行输出即可。


并且我们也可以利用关键帧、基础属性和插件相结合来做,值得注意的是如果视觉效果做的太过复杂会导致文件过大,同时也会产生性能方面的问题,在制作的过程中大家还时要把握好一个度。