設計師和程式設計師的動畫還原神器Lottie+Bodymovin

2021-02-20 小贏科技XGD

在動畫還原上,設計師和開發都碰到過以下問題:

設計師即使輸出完整的動畫參數說明,使用代碼還原動效還原仍然會有偏差

有了大殺器Lottie和Bodymovin,可以完美解決以上問題,讓我用一個詞來形容Lottie+Bodymovin組合,那就是「省心」。

Lottie是Airbnb開源的一套跨平臺(Web、IOS、Android、React Native)的動畫庫,設計師在Adobe Effect製作動畫之後,使用Lottie提供Bodymovin(AE插件)將動畫導出帶有矢量動畫信息的Json文件,最後開發將Json文件放入App項目中,就可以將動畫100%還原到產品中。對於不同的工作角色,Lottie+Bodymovin提供一套完整動畫解決方案:設計師,百分百還原設計師的腦洞和創意,相信這是對設計師的最好嘉獎開發,拋棄臃腫的代碼,如今只需要簡單導入和有限的代碼就可以完成動畫開發對於不同設備,開發小哥哥可以關注下面的項目了解進行實現——Web頁面,通過Airbnb的開源項目「lottie-web」(https://github.com/airbnb/lottie-web)實現Android原生,通過Airbnb的開源項目「lottie-android」(https://github.com/airbnb/lottie-android)實現IOS原生,通過Airbnb的開源項目「lottie-ios」(https://github.com/airbnb/lottie-ios)實現React Native,通過Airbnb的開源項目「lottie-react-native」(https://github.com/react-native-community/lottie-react-native)實現

下面重點介紹下AE插件Bodymvin的安裝~~

首先你的電腦已經安裝了AE,如果你的AE打開了,在安裝之前先將AE關閉。

第一步,安裝ZXP,為安裝Bodymovin插件到AE做準備。下載地址:https://aescripts.com/learn/zxp-installer/下載地址:https://github.com/airbnb/lottie-web/tree/master/build/extension
然後打開第一步下載的ZXP,將Bodymovin拖動進去。

第三步,打開AE,AE進行允許AE使用腳本設置,操作如下:

點擊「After Effects CC > 首選項 > 常規」「Mac OS:快捷鍵Command+Option+;(分號);Win:Ctrl+Alt+;(分號)」,選中「允許腳本寫入文件和訪問網絡」,點擊確定。

第四步,選擇AE窗口 > 擴展 > Bodymovin,打開Bodymovin窗口。
第五步,先選擇你要導出動畫的存儲路徑,然後點擊渲染即可將你選擇的合成動畫導出為Json文件。輸出Json後,此時點擊左上角的預覽(preview)按鈕,拖動下面的滑塊進行預覽。可以點擊左上角的預覽(preview)按鈕,點擊「Browse」可選擇本地的Json文件進行預覽,點擊「Current Renders"對當前合成動畫進行預覽。動畫非自動播放,要拖動下面的滑塊進行預覽。
最後,將導出的Json文件或Json+images文件發給開發小哥哥去實現啦~~
前面有提到最後導出的可能是Json文件,也可能是Json文件加一個images包,所以分2種情況,如果在AE裡直接繪製素材並製作動畫,用Bodymovin導出的只是一個Json文件;如果在AE中導入外部素材製作動畫,除了Json文件之外,還會有一個images圖片包生成,這個包包含了動畫中的所有圖片素材。需求背景是需要首頁金剛區2個Icon入口(分別是支付寶支付和微信支付)合併為1個Icon入口,要素依然需要保留,同時需要讓用戶一看就知道這塊功能是行動支付的入口。其中一個方案是採用Logo平滑過渡的方式,預覽效果如下:最後用Bodymovin導出的就只有一個Json文件。外部素材可以是ps文件、ai文件或者是png文件。所有素材都是事先用ps繪製好再導入到AE中去製作動畫的。

綜上,通過Lottie+Bodymovin來還原動畫是非常省心的。

需要注意的一點是Lottie和Bodymovin還有一點點小瑕疵,小部分AE屬性在各平臺存在兼容問題,也就是在AE裡頭直接繪製使用的某些屬性在一些平臺不能被解析和還原,我在附錄中附上了Lottie和Bodymovin支持導出的AE屬性列表,不被支持的屬性可以先避免使用。

不過,引用外部素材的話就可以放心使用了,所以有些AE不被支持的屬性效果可以在PS或AI繪製好再導入AE中作為素材製作動畫。

Lottie和Bodymovin支持導出的AE屬性。該表格英文版見:http://airbnb.io/lottie/#/supported-features


相關焦點

  • lottie-web 動畫實現原理
    設計師使用 AE 製作動畫。通過 Lottie 提供的 AE 插件 Bodymovin 把動畫導出 JSON 數據文件。加載 Lottie 庫結合 JSON 文件和下面幾行代碼就可以實現一個 Lottie 動畫。<!
  • AE 動畫直接變原生代碼:Airbnb 發布開源動畫庫 Lottie
    一個 JSON 文件可以同時復用於 iOS 和 Android ,免去了動畫重複開發實現,並且還原度都比較高。唯獨當 AE 動畫大量使用遮罩時,內存管理似乎還有些 Bug。名字 Lottie 好像來源於一個德國以剪輯電影出名的導演。
  • 動畫落地 | 從 AE 製作到落地開發
    本文將起點讀書中使用過的從 AE 到 X 的落地經驗梳理成文,對比分析不同方案的差異和優劣,辨析其還原程度和性能表現,希望給同行設計師一些參考和借鑑。綜合的還原效果、兼容性和性能,WebP 最佳,GIF 幾乎和質量無緣,PNG 過於原始。
  • 前端逐幀動畫性能探究和比較
    說一說LottieLottie 是Airbnb開源的一個動畫框架,它提供了一套完整的跨平臺動畫實現流程,對IOS、Android、Web三端提供支持,如下圖所示,主要通過AE上的Bodymovin插件將製作好的動畫導出成一個json文件,json文件中記錄了每個元素的動畫執行路徑和執行時間,最後交由Lottie解析和渲染。
  • Android Notes|BottomNavigationView 愛上 Lottie
    /bottom_tab_home_page_btn.json"),        SUBSCRIBE("lottie/bottom_tab_my_listen_btn.json"),        DISCOVERY("lottie/bottom_tab_finding_btn.json"),        ACCOUNT("lottie/bottom_tab_mine_btn.json
  • 使用 SVG 製作加載動畫
    最近我們設計師反饋,他想要做如下的一個加載動畫。
  • 設計師toyboyfan製作的真人版迪士尼公主,對動畫的還原度好高!
    設計師toyboyfan製作的真人版迪士尼公主,對動畫的還原度好高! 愛莎好美啊啊
  • 歐美流行 | Pink Sweat$—Body Ain't Me(深情式溫柔)
    如今卻只覺陌生不已Everything's getting so blurry now一切都變得如此縹緲不清Vision hurting, I can't stand the look of you now你此刻的表情灼傷了我的視線,我無法承受Everything's different一切都已不似從前Yeah, I heard you're movin
  • 人生第一行經典代碼,決定程式設計師的出身,更決定程式設計師的職業生涯
    ,往往決定了程式設計師的出身,更決定了程式設計師的職業生涯。第一行代碼,決定的是未來程式設計師的入門程式語言。所以,換而言之,程式設計師的入門語言,決定了程式設計師的教育背景,也決定了未來編程路上能走多遠。程式設計師的入門語言越簡單,越容易被軟體行業所淘汰。1、html:路人甲有沒有? 編程旅途中的路人甲。
  • 設計師們使用最普遍的 設計軟體!
    1、 1、Photoshop: 人人皆知的神器—PS 是Adobe公司推出的一款位圖處理軟體 集圖像編輯、圖像合成、校色調色及特效製作等功能於一身
  • 直播App中Android酷炫禮物動畫實現方案(下篇):SVGA由來與Lottie的對比
    也正是同一個時期,BodyMovin出現了,BodyMovin可以將另一個Adobe的軟體After Effects所設計的動畫完美地導出至Web中。這兩者的出現,是我們開發SVGA靈感的源泉。具體的思路是,將動畫腳本導出,再將動畫元素(位圖)導出,然後在對應的客戶端,重新拼合這些位圖。這樣做的好處很明顯,元素是有限的,動畫腳本也非常輕量,我們只需要一次性地把元素還原出來就可以了。
  • 程式設計師還原阿波羅登月高清影像,效果震撼
    一位YouTube名為DutchSteamMachine的程式設計師使用AI技術修復了阿波羅登月的原始影像,將登月鏡頭的像素從每秒12幀提升到每秒60幀,效果令人震撼。7月20日是阿波羅登月51周年。1969年7月20日,尼爾阿姆斯特朗成為登月第一人,他在月球上邁出的一步是令人難以置信的一步。
  • 「Java和Javascript,就是周杰和周杰倫的區別!」當程式設計師說起脫口秀,哈哈哈
    主唱趙子健辭去了在網際網路公司的程式設計師工作,全身心地投入到心愛的搖滾樂中。是的,這個在臺下瘋狂吐槽同行、臺上動不動摔琴的漢子是個程式設計師,既能敲出漂亮的代碼,也能寫出動人的歌詞。在雲棲大會的音樂節上,他登上舞臺,用代碼外的另一種語言和程式設計師們自由溝通。
  • 新媒體人の凡爾賽文學大賞|產品經理|設計師|程式設計師|大學生|情感|...
    和銷售同事一起深夜加班,同事提議給各自的廣告主發「在不在」,看誰的廣告主回得快。上午面試了一位程式設計師,22歲男孩,985計算機系,各種程式語言精通,上一任僱主是遊戲公司,因此自學了 CG 動畫,處女座,自稱完美主義,寫出來的代碼從來都是0 error 0 warning,
  • 葉羅麗:動畫公主皇冠和實物玩具對比,冰公主的皇冠還原度最高
    而這次的推出的公主皇冠頭飾,是否能夠還原出動畫中各位角色的皇冠呢?而這次官方為羅麗公主,冰公主,莫莎公主和孔雀公主打造四個實物皇冠。羅麗公主的皇冠在動畫中有兩種類型,前期的皇冠體積非常大,幾乎覆蓋整個頭髮。羅麗公主獲得辛靈的新契約加強後,羅麗的皇冠開始變得非常簡約和小巧。對比玩具實物和動畫中羅麗公主的第二代皇冠,皇冠上的心形鑽石和菱形鑽石側重不同,實物的心形小,稜形鑽石大。動畫中這兩個東西完全相反。而且實物玩具還多了一些列的花邊珠子裝飾。
  • 國外網友3D列印自製《遊戲王》"千年神器",外觀質感高度還原.
    3D列印技術的推出為很多行業帶來了新機遇和新啟發,對於我們這些動漫愛好者來說,可能目前最直接的影響就是可以通過3D列印技術來對動漫作品中登場過的那些道具一類的進行還原和複製。最近,有位國外網友通過3D列印,做出了一套動漫作品《遊戲王》的千年神器,其成品看起來十分驚豔,讓人無比羨慕。
  • 動畫行業新晉大殺器 還得看騰訊移動端動畫組件PAG!
    如今,短視頻應用百花齊放,為了吸引更多流量,動畫設計師和開發工程師往往為了製作奪人眼球,極具創意的動畫特效花費大量心血,但最終動畫需求交付上線的效率和質量,仍舊不盡如人意。問題出在哪裡?主要還是工具沒有選對!