開源

Lottie:Airbnb 的開源動畫函式庫,在網頁上原生呈現 After Effects 動畫

Lottie-web 使用 Bodymovin 外掛的 JSON 匯出,在網頁、Android、iOS 和 React Native 上原生呈現 Adobe After Effects 動畫。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
Lottie:Airbnb 的開源動畫函式庫,在網頁上原生呈現 After Effects 動畫

高品質動態設計已成為現代網頁和行動應用程式的必要元素,但從設計工具實現動畫傳統上需要手動工程努力。設計師在 After Effects 中建立精美的動畫,而開發人員需要花費數天時間用程式碼重現它們。Lottie 完全消除了這個差距,透過 JSON 匯出原生呈現 After Effects 動畫。

最初由 Airbnb 建立,後來由社群透過 LottieFiles 維護,Lottie 已成為跨平台動畫傳遞的行業標準。網頁版本 Lottie-web 將動畫渲染為 SVG、Canvas 或 HTML 元素,產生清晰、可縮放的結果,完全符合設計師的意圖。

工作流程非常簡單:設計師在 After Effects 中建立動畫,使用免費的 Bodymovin 外掛將其匯出為 JSON 檔案,開發人員只需幾行程式碼即可將該 JSON 載入到 Lottie 中。動畫與解析度無關,可透過程式控制,檔案大小通常以 KB 為單位,而非 GIF 或影片的 MB。


Lottie 與其他動畫格式相比如何?

在 Lottie 之前,網頁動畫格式各有重大的取捨。Lottie 結合了其前身的最佳特性,同時避免了它們的限制。

格式檔案大小品質可縮放性互動性瀏覽器支援
Lottie(JSON)小(5-50 KB)完美向量是(SVG)完全控制所有現代瀏覽器
GIF大(500 KB - 5 MB)畫素化通用
CSS 動畫良好有限現代瀏覽器
影片(MP4)中等點陣圖通用
精靈圖點陣圖基本通用

Lottie 結合小檔案大小、向量品質、程式控制和跨平台支援,使其成為 UI 動畫、載入指示器、引導流程和互動式插圖的首選格式。

graph LR
    A[After Effects] -->|Bodymovin 外掛| B[Lottie JSON]
    B --> C[Lottie-web]
    B --> D[Lottie-iOS]
    B --> E[Lottie-Android]
    B --> F[Lottie-React-Native]
    C --> G[SVG / Canvas / HTML]
    D --> H[Core Animation]
    E --> I[Canvas API]
    F --> J[原生橋接]

Lottie-web 的主要方法和事件有哪些?

該函式庫提供了全面的 API,用於控制動畫播放和回應動畫事件。

方法說明範例
lottie.loadAnimation()載入並初始化動畫loadAnimation({path: 'data.json', renderer: 'svg'})
animation.play()開始或繼續播放animation.play()
animation.pause()暫停在當前影格animation.pause()
animation.stop()停止並重設到影格 0animation.stop()
animation.goToAndStop()跳轉到特定影格/時間animation.goToAndStop(30, true)
animation.setSpeed()設定播放速度倍數animation.setSpeed(2)
animation.setDirection()正向或反向animation.setDirection(-1)
animation.destroy()清理資源animation.destroy()
事件觸發時機使用案例
complete動畫完成觸發後續動作
loopComplete每次循環結束更新計數器或狀態
enterFrame每個影格與其他動畫同步
segmentStart新片段開始基於章節的動畫
DOMLoaded元素渲染完成啟動互動處理器

Bodymovin 支援哪些 After Effects 功能?

Bodymovin 外掛匯出了 After Effects 功能的全面子集,但某些進階能力有限制。

功能類別完全支援部分 / 有限
形狀圖層路徑、填色、描邊、漸層複雜布林運算
變換位置、縮放、旋轉、不透明度3D 圖層變換
遮罩路徑遮罩、Alpha 疊色帶複雜形狀的軌道疊色
文字基本文字、字型、字距逐字元 3D 動畫
效果投影(有限)大多數原生 After Effects 效果
表達式基本 JavaScript 表達式複雜腳本

常見問題

什麼是 Lottie? Lottie 是 Airbnb 開發的開源動畫函式庫,能在網頁、Android、iOS 和 React Native 平台上原生呈現 Adobe After Effects 動畫。它解析從 Bodymovin 外掛匯出為 JSON 檔案的動畫,並使用原生圖形 API 進行渲染。

Lottie-web 支援哪些渲染器? Lottie-web 支援三種渲染器類型:‘svg’(預設)、‘canvas’和 ‘html’。SVG 渲染器因其清晰度和可及性是大多數使用案例的推薦選擇。

如何安裝 Lottie-web? 可透過 npm 安裝:npm install lottie-web,或直接從 CDN 載入。沒有外部依賴。

Lottie 的主要方法有哪些? 包括 lottie.loadAnimation()animation.play()animation.stop()animation.goToAndStop()animation.setSpeed()animation.destroy()

什麼是 Bodymovin? 一個免費的 Adobe After Effects 擴充功能,將動畫匯出為與 Lottie 相容的優化 JSON 檔案。


延伸閱讀

TAG