2022年1月14日,騰訊宣布 PAG(Portable Animated Graphics)動(dòng)畫組件正式開(kāi)源。
PAG 是騰訊 AVGenerator OTeam 自主研發(fā)的一套完整的動(dòng)畫工作流解決方案,助力于將 AE (Adobe After Effects)動(dòng)畫方便快捷的應(yīng)用于各平臺(tái)終端。和業(yè)界常用的動(dòng)畫工作流解決方案相比,支持的 AE 特性更多,支持的平臺(tái)更廣(增加了 macOS、Windows 和 Linux),性能方面也做了深層次的優(yōu)化,支持文本和占位圖編輯替換,可以與視頻編輯場(chǎng)景緊密結(jié)合。目前已經(jīng)廣泛應(yīng)用于公司內(nèi)外幾十款 APP,包含微信、手機(jī) QQ、王者榮耀等頭部 App。
1、解決的痛點(diǎn)
當(dāng)前最好的動(dòng)畫設(shè)計(jì)軟件是 Adobe After Effects(簡(jiǎn)稱AE),從 AE 動(dòng)畫制作到終端 APP 呈現(xiàn),傳統(tǒng)的實(shí)現(xiàn)方式如上圖所示,有三大痛點(diǎn):實(shí)現(xiàn)成本高、溝通成本高和性能難以保證。
PAG的流程圖如下圖所示,設(shè)計(jì)師使用AE設(shè)計(jì)好動(dòng)畫以后,通過(guò) PAGExporter 插件導(dǎo)出 PAG 動(dòng)畫文件,在桌面端預(yù)覽效果確認(rèn)無(wú)誤后,部署上線,各平臺(tái)端接入渲染SDK后可以直接加載pag文件實(shí)現(xiàn)動(dòng)畫渲染。
相對(duì)傳統(tǒng)研發(fā)還原的方式,PAG 方案顯著提升了動(dòng)畫素材上線的效率:設(shè)計(jì)師設(shè)計(jì)完成可以直接輸出動(dòng)畫文件,研發(fā)不需要再參與代碼還原,只需要接入一次SDK即可做到素材自助上線,也避免了反復(fù)進(jìn)行效果確認(rèn)的聯(lián)調(diào)時(shí)間成本,并且還能夠批量化生產(chǎn)素材,從流程上直接取代傳統(tǒng)小工作坊形式,利用工業(yè)化生產(chǎn)方式大幅提升設(shè)計(jì)和研發(fā)效率。
2、PAG的特色優(yōu)勢(shì)
文件體積小
導(dǎo)出相同的 AE 動(dòng)畫內(nèi)容,在文件解碼速度和壓縮率上均大幅領(lǐng)先于同類型方案。采用可擴(kuò)展的二進(jìn)制文件格式,可單文件集成包含圖片、音頻等任意設(shè)計(jì)資源。
全AE特性支持
支持純矢量導(dǎo)出方式的同時(shí),還引入了BMP預(yù)合成結(jié)合矢量的混合導(dǎo)出能力,實(shí)現(xiàn)支持所有 AE 特性的同時(shí)又能保持動(dòng)畫運(yùn)行時(shí)的可編輯性。
運(yùn)行時(shí)可編輯
在保留設(shè)計(jì)預(yù)設(shè)動(dòng)畫效果的前提下,可以在運(yùn)行時(shí)輕松替換文本和占位圖的內(nèi)容,能夠大幅降低類似照片模板和視頻模板的研發(fā)成本。PAG 支持的編輯特性不僅限于占位資源的替換,還支持圖層級(jí)別的自由組合。能夠?qū)γ總€(gè)動(dòng)畫的圖層樹(shù)進(jìn)行任意的增刪改位移,也能夠根據(jù)編程規(guī)則動(dòng)態(tài)組合多個(gè)原子 PAG 特效素材合成一個(gè)運(yùn)行時(shí)的定制化模板,能夠完美適配類似一鍵出片、游戲戰(zhàn)報(bào)等智能模板的需求。
便捷的導(dǎo)出插件
針對(duì)設(shè)計(jì)師設(shè)計(jì)動(dòng)畫的痛點(diǎn),導(dǎo)出插件增加了使用了不支持 AE 特性提醒功能,支持一鍵設(shè)置BMP 預(yù)合成、設(shè)置占位圖的填充模式、設(shè)置 PAG 動(dòng)畫的伸縮模式等。另外導(dǎo)出插件內(nèi)置了數(shù)十種自動(dòng)優(yōu)化素材的策略,讓設(shè)計(jì)師輕松制作出效果和性能俱佳的動(dòng)畫素材。
完善的桌面預(yù)覽工具
效果預(yù)覽
桌面預(yù)覽工具不僅支持桌面端預(yù)覽動(dòng)畫效果,還支持設(shè)計(jì)師本地填充素材,實(shí)時(shí)預(yù)覽填充效果,無(wú)需等待上線后才能確認(rèn)真實(shí)效果,避免了大量來(lái)回返工的成本。
性能檢測(cè)
性能檢測(cè)可以讓設(shè)計(jì)師很方便的看到pag動(dòng)畫的基本信息,還有量化的性能指標(biāo),定量的評(píng)估pag文件的性能,方便設(shè)計(jì)師進(jìn)行針對(duì)性的優(yōu)化,而不需要等到上線前才會(huì)暴露性能問(wèn)題。
3、PAG的應(yīng)用場(chǎng)景
總結(jié)下來(lái),PAG 目前主要使用在以下幾大場(chǎng)景:
UI動(dòng)畫
設(shè)計(jì)師設(shè)計(jì)出動(dòng)畫文件后,研發(fā)只需要替換預(yù)設(shè)的文本內(nèi)容即可,并且文件體積非常小。
貼紙動(dòng)畫
PAG 的動(dòng)畫文件可以在任意子線程渲染,可以合成到視頻畫面,作為貼紙、字幕、特效、轉(zhuǎn)場(chǎng)動(dòng)畫使用,且支持保留動(dòng)畫效果前提下讓用戶自己修改文本內(nèi)容。
照片/視頻模板
PAG 支持將內(nèi)置的圖片作為占位圖替換,并保留所有動(dòng)畫效果。因此可以將整個(gè) PAG 動(dòng)畫設(shè)計(jì)成一個(gè)模板,把預(yù)設(shè)的占位圖替換成用戶選取的照片,自動(dòng)套用效果生成視頻。全程可以讓設(shè)計(jì)師自由批量生產(chǎn)模板,無(wú)需研發(fā)介入。仍然基于圖片替換原理,PAG 也支持將占位圖替換為視頻,實(shí)現(xiàn)視頻模板功能。
智能剪輯
智能剪輯是圍繞用戶上傳的視頻內(nèi)容,生成定制化的模板,模板本身是不固定的,由多個(gè) PAG 文件組合而成,類似活字印刷。設(shè)計(jì)師可以利用這個(gè)特性,構(gòu)建自己的特效組件庫(kù),然后對(duì)接AI的識(shí)別能力,根據(jù)一定規(guī)則組合得到無(wú)限數(shù)量的模板效果,可以做到一鍵出片。這塊目前的典型應(yīng)用場(chǎng)景是王者榮耀的周戰(zhàn)報(bào)功能,隨機(jī)生成游戲高光時(shí)刻視頻。
PAG 目前已正式對(duì)外開(kāi)源,開(kāi)發(fā)人員如對(duì)改進(jìn) PAG 項(xiàng)目有任何的想法或建議,也可以通過(guò)在GitHub搜索“libpag”,訪問(wèn) PAG 的 Github 主頁(yè),留下觀點(diǎn)及改進(jìn)意見(jiàn)。