動畫作為最吸引眼球的內容素材之一,在各類終端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即將對外開源,對如今正在從事動畫創作的工作者們的幫助不言而喻,也將以自身功能的優越性激發更多潛在創作者加入到動畫行業之中,為這片藍海提供更多的有生力量,為移動端動畫產業貢獻屬于自己的技術價值。