腾讯PAG移动端动画组件即将开源,推动高效动画制作普及
2022-01-04 18:31:57爱云资讯阅读量:1,026
动画作为最吸引眼球的内容素材之一,在各类终端APP中都得到了创作者的垂青。动画作品能帮助用户交互更加顺滑,更能让主题内涵得到更丰满的诠释,但也正因如此,动画的设计、制作以及导出都尤为耗费心神。
为解决这一问题,腾讯PCG发布器中台研发了一套完整动画工作流解决方案——PAG(Portable Animated Graphics)。
PAG不仅将其他动画工作流解决方案存在的多项痛点问题予以解决,更在相同矢量动画的条件下,文本大小可以做到Lottie的50%左右,性能相对比Lottie也有了很大的提升,单帧平均耗时小于Lottie的50%,以更高的可编辑性解放了设计师的创造性,提升了工作效率。
不少动画行业的小伙伴们在许久之前就已跃跃欲试,但苦于始终没有向外开放,只能远远观望。如今,好消息终于来啦:据悉,今年一月份,PAG即将在github等平台对外全面开源,希望能为更多动画创作者提供优质服务。
据悉,在内测期间,PAG已应用于腾讯多款知名APP之中,例如微信、QQ、王者荣耀、QQ音乐、腾讯视频等等。
正值PAG将要对外开放之际,让我们从技术层面解构PAG,一探其性能优越之究竟。
PAG动画工作流,完善的动画解决方案
目前业界常用的动画工作流解决方案主要有Lottie和SVGA两款软件,他们都可以将AE制作的动画导出成一个文件,在终端APP中加载渲染使用,以此提升动画开发上线的效率。
其中Lottie最早是为了解决矢量图形类动画的问题,功能也几乎全部集中于此;SVGA则是为补足Lottie功能缺失而设计出的跨平台动画解决方案,因此并不支持复杂矢量图形类动画。双方在性能上各有所长,同样也各有所缺。
PAG则针对Lottie和SVGA进行了补足与优化。在矢量动画渲染性能上,PAG在Android/iOS平台的文件解码耗时、平均每帧渲染耗时等参数指标上,都远快于Lottie和SVGA,实现了效率层面的跨越式提升。在矢量导出方式上,PAG还支持引入了视频序列帧结合矢量的混合导出能力,实现支持所有AE特性的同时,又能保持动画运行时的可编辑性,从而得以最大程度地发挥设计师的创造力。
不仅如此,由于Lottie和SVGA都是用AE Script SDK来导出AE工程,而AE Script SDK本身不能访问AE文件中的所有属性,导致二者有时导出文件会发生内容缺失现象。PAG则采用AE C++ SDK来导出AE工程,允许访问AE文件中所有属性和部分高级API,实现了AE文件的完整导出。
功能突破,多方位提升创作效率
那么PAG具体是如何做到这一点的呢?
从技术层面讲,PAG采用C++实现渲染,所有平台共享同一套实现,平台端只作为封装接口简单调用,提供一个渲染环境,并无强依赖性,因此PAG能够做到所有平台支持特性一致,渲染效果一致。
不仅如此,PAG的技术能力还包含BMP预合成、图层级别编辑、整合视频渲染等先进功能。
BMP预合成功能的加入,完美弥补了PAG支持AE特性较少的不足,支持导出所有的AE特性,适用于不可编辑的场景。与此同时,PAG中还增加了支持矢量和BMP预合成混合导出,从而实现支持AE所有特性的同时又保持运行时的可编辑性。
图层级别编辑,则是为了适应如今多PAG文件组合,由业务方去控制组合的规则。简单来说,一个文件就是一棵渲染树,支持图层级别的任意修改位置甚至增删图层,也可以把别的PAG文件添加到这棵渲染树中作为子树,时间轴的循环、变速、定格也由你随心所欲。
要让动画在视频编辑场景中完美整合,就必须解决两个问题:支持离屏渲染绘制、子线程渲染。PAG整套动画方案都是基于C++跨平台架构研发的,天然保障了跨端断然一致性,并能够直接渲染到离屏纹理上,完美支持子线程动画渲染。在此过程中,PAG还采用了时间静态区间和三级缓存结构最大限度地降低开销与缓存,为用户提供更顺滑的创作体验。
除此之外,PAG的服务端渲染和web端支持也给到了用户更广阔的创作空间与时间余裕。
目前来看,PAG对外开源后将有助于UI动画、贴纸动画、照片模板、视频模板以及智能剪辑等功能的开发。
一、UI动画
如上图右下角的Pick按钮动画,设计师设计出动画文件后,研发只需要替换预设的文本内容即可,并且文件体积非常小,仅2KB左右。
二、贴纸动画
PAG的动画文件可以在任意子线程渲染,可以合成到视频画面,作为贴纸、字幕、特效、转场动画使用,且支持用户自己修改文本内容。
三、照片/视频模板
PAG支持将内置的图片/视频作为占位图替换,并保留所有动画效果。因此可以将整个PAG动画设计成一个模板,把预设的占位图替换成用户选取的照片,自动套用效果生成视频。全程可以让设计师自由批量生产模板,无需研发介入。
四、智能剪辑
智能剪辑是围绕用户上传的视频内容,生成定制化的模板,模板本身是不固定的,可以从多个PAG文件组合而成,类似活字印刷。设计师可以利用这个特性,构建自己的特效组件库,然后对接AI的识别能力,根据一定规则组合得到无限数量的模板效果,可以做到一键出片。值得一提的是,王者荣耀的周战报功能就是它的典型应用场景。
可以看出,PAG作为腾讯所推出的动画工作流解决方案,功能已经较为完善与健全,具备更为优秀的效率与便捷度,也最大限度地降低了开发者的时间、创意成本。不仅如此,在经历了诸多腾讯内部产品的先行实验,PAG的实用性也毋庸置疑。
PAG即将对外开源,对如今正在从事动画创作的工作者们的帮助不言而喻,也将以自身功能的优越性激发更多潜在创作者加入到动画行业之中,为这片蓝海提供更多的有生力量,为移动端动画产业贡献属于自己的技术价值。
相关文章
- 乌镇峰会聚焦未成年人网络保护,腾讯郭凯天:以“守护、发展、共治”护航青少年
- “乌镇时间”再次开启,腾讯以科技文化双引擎,激发千行百业新动能
- 中国电信国际与腾讯云达成战略合作,将共同开拓海外云服务市场
- 人工智能智库网络在京启动,百度、快手、华为、蚂蚁、腾讯、阿里等发起
- 腾讯Q3财报 QQ月活跃同比增长回正,25岁产品持续升级
- 马化腾再次表态投入AI 腾讯Q3研发投入同比增9%达179亿
- 腾讯云与GoTo集团强化合作,助力印尼数字基建和人才培养
- 腾讯音乐入选2024年中国互联网综合实力前百家企业,助力音乐产业升级
- 腾讯云携手行业专家走进中顺洁柔,共探渠道数字化与AI创新未来
- 2024君逸数码生态合作大会成功举办 与腾讯、华鲲振宇、金蝶天燕、超图软件达成战略合作
- 腾讯音乐娱乐集团与中兴通讯达成合作,为用户带来更多元化、更高品质的音乐娱乐体验
- 腾讯音乐全球首家音乐创新体验店MUSICQ落户无锡
- 1024程序员节:腾讯云送出超级“码“力工具箱,开启沉浸式开发模式
- 代码大模型打造沉浸式开发模式 腾讯云AI代码助手助力研发提效
- 数据安全合规神器|应用腾讯云数据安全审计,构建全面深度的防护体系
- 腾讯云与安联世合携手在巴黎举办首届汽车生态共赢论坛