AE動畫變原生代碼:開源動畫庫Lottie

Lottie 是一個面向 iOS讯檐、Android 和 React Native 的開源動畫庫囊陡,能給實時繪制 After Effects 動畫并且讓原生 App 像使用靜態(tài)素材一樣使用這些動畫薄榛。

簡單來說沉桌,就是可以直接利用 AE 導出的 JSON 動畫文件,將其解析為原生代碼镜硕,并跨平臺運行在設備上茂浮。

簡介

Airbnb出了個移動端的動畫庫Lottie双谆,可以和一個名叫Bodymovin的AE插件結合起來,把在AE上做好的動畫導出為json文件席揽,然后以Android/iOS原生動畫的形式在移動設備上渲染播放顽馋。AE(Adobe After Effects)是視頻后期特效和動畫制作的行家,前段時間充斥視野的MG動畫就是用它制作的驹尼。如果真的可以實現趣避,就會大大方便前端動畫的設計。


14979597539457.png

Bodymovin的使用方式新翎。

通過插件 Bodymovin,Lottie 可以直接解析 AE 導出的 JSON 文件住练,并且插件內置的 JavaScript 圖層可以將動畫直接在 Web 上運行地啰。
自2015年2月起,Bodymovin 的創(chuàng)始人 Hernan Torrisi 就一直在優(yōu)化這個插件讲逛,以得到更好的功能亏吝,而我們整個團隊也開始了這項不同尋常的工作。(Brandon Withrow 負責 iOS, Gabriel Peal 負責 Android, Leland Richardson 負責 React Native, 以及我負責設計和體驗盏混。)

支持平臺

json文件可以在以下平臺播放:

  • Web頁面蔚鸥,以svg/canvas/html+js的形式。Bodymovin自己提供了作為Player的js庫——bodymovin.js许赃;
  • Android原生止喷,通過Airbnb的開源項目lottie-android實現;
  • iOS原生混聊,通過Airbnb的開源項目lottie-ios實現弹谁;
  • React Native,通過Airbnb的開源項目lottie-react-native實現。

優(yōu)點

  1. 通過 Canvas 繪制動畫非常非常流暢预愤,并且在 AE 動畫沒有遮罩的前提下內存控制得也非常好沟于,基本可以取代用 GIF 做動畫
  2. 一個 JSON 文件可以同時復用于 iOS、 Android和React Native植康,免去了動畫重復開發(fā)實現旷太,并且還原度都比較高。

總的來說销睁,這個動畫庫為跨平臺低成本動畫實現提供了非常有想象力的解決方案供璧,一旦做成了對很多前端同學會有一定的沖擊......畢竟以后做牛逼的動畫可能就不那么稀奇了。

順便榄攀,設計師們趕快去抓一抓 AE 吧嗜傅,以后實現原生動畫可能就沒那么費勁,許多好效果也都可以慢慢搬上臺面了檩赢。

以前

在 Android吕嘀、iOS、React Native 上實現一套復雜動畫是一件蠻困難而且耗時的事贞瞒。開發(fā)者們不僅要為各種屏幕尺寸加載一大堆素材偶房,還得寫成百上千行生硬、難維護的代碼军浆。正因如此棕洋,絕大部分 App 都不愿意使用動畫 —— 盡管動效對用戶體驗來說是一個強大的工具。

使用場景和效果

14979608110448.gif

Lottie 讓工程師們可以輕松實現豐富的動畫效果乒融。我們所熟悉的如 Nick Butcher 的跳動進度條效果掰盘、Bartek Lipinski 的漢堡菜單欄動畫、Twitter 的愛心動效就是實現動畫費時費力的最好代表赞季。而通過 Lottie愧捕,工程師可以準確地實現設計師所要的動畫效果,并且使得那些與動畫框架做斗爭申钩、猜測動畫時間和手動重建動畫曲線等等繁復的操作成為歷史次绘。

我們的目標就是盡可能準確地實現 AE 制作出來的動畫,Lottie 提供的示例 App 將會向大家展示如何利用 AE 和 JSON 文件快速撒遣、靈活且精確地實現動效邮偎。在示例中,也提供了很多復雜動畫的源文件义黎,包括以線條為基礎的動畫禾进、以字體變形為基礎的動畫、動態(tài) Logo 以及多角度多切面的效果轩缤。


14979610569405.gif

目前的 Airbnb App 中已經有不少動畫是通過 Lottie 實現的命迈,如應用內通知贩绕、全動畫引導、評價頁面等壶愤。接下來我們還打算在趣味性的動畫上進一步拓展淑倾。


14979611089236.gif

Airbnb簡介

Airbnb 是一家全球化的公司,服務于數百萬旅行者和房主征椒,因此我們的動畫也將運行在各種各樣的設備和平臺上娇哆。盡管 Marcus Eckert 的 Squall 和 Facebook 的 Keyframes 庫和 Lottie 很相似,但我們各自的目標略有不同勃救。

Facebook 為專注于響應式布局碍讨,只選擇支持了少數 AE 動效,Lottie 則打算盡可能多的實現效果本身蒙秒。Squall 的 AE 預覽 App 是非常有用的工具勃黍,但它目前只支持 iOS,所以我們的工程師需要跨平臺的解決方案晕讲。

Lottie 的 API 中集成了許多很棒的功能覆获,讓整體變得更佳高效和易用:它支持通過網絡加載 JSON 文件,這對 A/B 測試方案非常有用瓢省;它有可選的緩存機制弄息,能支持調用緩存中的動畫;動畫的速度、相關聯的手勢都可以通過簡單的參數來控制;甚至 iOS 中還支持在 Runtime 中添加額外的原生 UI 季春,從而實現復雜的過渡動畫。

除了目前已有的各個功能之外缨称,未來我們還打算為 Lottie 動畫增加 mapping 視圖、轉場視圖等功能祝迂。

前景

Airbnb 將 Lottie 在 GitHub 開源出來具钥,正是希望它能成為連接開發(fā)者和設計師們的一個橋梁,讓所有喜歡動畫的人都加入進來液兽。

9 Squares, Motion Corpse, 和 Animography 等動畫交流社區(qū)的興起讓我們倍受鼓舞,它們讓全世界的動畫人連結到一起掌动,即便這些人從來沒有一起工作過四啰。雖然這個過程伴隨各個團隊之間持續(xù)幾個月的爭吵,但毫無疑問粗恢,最終的成果對動畫界來說價值非凡柑晒。

在這些人的引領下,Airbnb 接觸到這三大動畫社區(qū)眷射,并將來自它們的許多動畫增加到我們的示例 App 中匙赞。我們相信把這些驚艷的設計整合到 Lottie 強大的工程師社區(qū)中佛掖,將會點燃創(chuàng)意的火花。


14979613771552.gif

Lottie 官方網站(可下載 AE 插件涌庭、三大平臺代碼和示例)

Airbnb 官網博文

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末芥被,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子坐榆,更是在濱河造成了極大的恐慌拴魄,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件席镀,死亡現場離奇詭異匹中,居然都是意外死亡,警方通過查閱死者的電腦和手機豪诲,發(fā)現死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門顶捷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人屎篱,你說我怎么就攤上這事服赎。” “怎么了芳室?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵专肪,是天一觀的道長。 經常有香客問我堪侯,道長嚎尤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任伍宦,我火速辦了婚禮芽死,結果婚禮上,老公的妹妹穿的比我還像新娘次洼。我一直安慰自己关贵,他們只是感情好,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布卖毁。 她就那樣靜靜地躺著揖曾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪亥啦。 梳的紋絲不亂的頭發(fā)上炭剪,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音翔脱,去河邊找鬼奴拦。 笑死,一個胖子當著我的面吹牛届吁,可吹牛的內容都是我干的错妖。 我是一名探鬼主播绿鸣,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼暂氯!你這毒婦竟也來了潮模?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤株旷,失蹤者是張志新(化名)和其女友劉穎再登,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體晾剖,經...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡锉矢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了齿尽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沽损。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖循头,靈堂內的尸體忽然破棺而出绵估,到底是詐尸還是另有隱情,我是刑警寧澤卡骂,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布国裳,位于F島的核電站,受9級特大地震影響全跨,放射性物質發(fā)生泄漏缝左。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一浓若、第九天 我趴在偏房一處隱蔽的房頂上張望渺杉。 院中可真熱鬧,春花似錦挪钓、人聲如沸是越。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽倚评。三九已至,卻和暖如春馏予,著一層夾襖步出監(jiān)牢的瞬間蔓纠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工吗蚌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纯出。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓蚯妇,卻偏偏與公主長得像敷燎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子箩言,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內容