



WithCodeMedia-1-pc
WithCodeMedia-2-pc
WithCodeMedia-3-pc
WithCodeMedia-4-pc




WithCodeMedia-1-sp
WithCodeMedia-2-sp
WithCodeMedia-3-sp
WithCodeMedia-4-sp









生徒先生、After Effectsで作ったアニメーションをWebサイトに実装したいんですけど、動画だと重くなってしまいます…何かいい方法はありませんか?



よーく聞くんだぞ。今日はLottieを使った超軽量なアニメーション実装について詳しく解説するぞい!動画の数十分の一のファイルサイズでアニメーションが実装できるんじゃ!



そんな便利な方法あるんですね!よろしくお願いします!
Webサイトにアニメーションを追加したいとき、GIFや動画ファイルを使うとファイルサイズが大きくなり、ページの読み込み速度が低下してしまいます。そんな課題を解決するのが、Lottie(ロッティ)です。
Lottieを使えば、After Effectsで作成した高品質なアニメーションを、動画の数十分の一のファイルサイズでWebサイトに実装できます。本記事では、Lottieの基本から、ライトウェイトな書き出し方法、最適化テクニック、Web実装まで、実例を交えながら詳しく解説します。
「学習→収入」につなげた受講生のリアルな体験談も公開中!
働き方を変えたい方にも響くストーリーです。
橋本さん
大学在学中にプログラミングに出会い、最初は独学で学ぶも限界を感じ、WithCodeを受講されました。短期集中カリキュラムでプログラミング学習に打ち込んだ結果、見事卒業テストに合格し、案件も獲得。現在はITエンジニアに向けて就職活躍中です
詳しくはこちらの記事をご覧ください。


橋本さんの主な制作実績はこちら


Lottie(ロッティ)は、Airbnbが開発したオープンソースのアニメーションライブラリです。Adobe After Effectsで作成したアニメーションを、JSON形式の軽量データとして書き出し、Web、iOS、Androidなどさまざまなプラットフォームで再生できます。
Lottieは、After Effectsのアニメーションデータをベクター形式のJSONに変換します。ピクセルベースの動画やGIFと異なり、ベクターデータは数学的な計算で描画されるため、ファイルサイズが圧倒的に小さくなります。
ファイルサイズの違いは一目瞭然です。Lottieを使えば、ページ読み込み速度を損なわずにリッチなアニメーションを実装できます。


Lottieファイルは動画やGIFと比べて90%以上小さいため、ページの読み込み速度が大幅に向上します。これにより、ユーザー体験が改善され、SEOにもプラスの影響を与えます。
デザイナーがAfter Effectsで作成したアニメーションを、エンジニアがコードを書かずに実装できます。複雑なアニメーションロジックをデザインツール側で完結させられるため、開発工数が削減されます。
ベクター形式のため、スマートフォンからデスクトップ、4Kディスプレイまで、どんな解像度でも美しく表示されます。レスポンシブ対応の手間が不要です。
JavaScriptを使って、再生速度の変更、逆再生、ループ回数の指定、特定フレームへのジャンプなど、柔軟な制御が可能です。ユーザーのアクションに応じたインタラクティブな表現も実現できます。
ファイルサイズが小さいため、サーバーのストレージコストや帯域幅コストを削減できます。特に、アニメーションを多用するサイトでは大きなコスト削減につながります。





After EffectsからLottieに書き出すには、何が必要ですか?



Bodymovin(ボディムービン)というプラグインが必要じゃ。無料で使えるぞい!
ZXP Installerは、After EffectsやPhotoshopのプラグインをインストールするためのツールです。
bodymovin.zxpファイルをダウンロード

1. ZXP Installerを起動


2. ダウンロードしたbodymovin.zxpファイルをZXP Installerのウィンドウにドラッグ&ドロップ
3. インストール完了のメッセージが表示されたら成功
1. After Effectsのメニューバーから「ウィンドウ」→「エクステンション」→「Bodymovin」を選択


2. Bodymovinパネルが表示されれば準備完了







After EffectsからLottieへの書き出しの手順を知りたいです!



うむ。ここでは、After EffectsからLottieへの書き出し手順を解説するぞ!
Lottieに書き出す前に、After Effects上でアニメーションを最適化しておくことが重要です。
Lottieは日本語のレイヤー名に対応していないため、すべてのレイヤー名を英語に変更します。
悪い例:
- 背景レイヤー
- ボタン_アニメーション
- テキスト(日本語)
良い例:
- background_layer
- button_animation
- text_englishLottieはシェイプレイヤーに最適化されています。可能な限り、画像ではなくシェイプレイヤーで作成しましょう。
コンポジションのサイズは、実際に表示するサイズに合わせます。無駄に大きなサイズは避けましょう。


data.jsonファイルが生成されます




Lottieファイルをさらに軽量化する方法はありますか?



もちろんじゃ!いくつかの最適化テクニックを使えば、ファイルサイズをさらに削減できるぞい!
画像を含むLottieファイルは、ファイルサイズが大きくなります。可能な限りシェイプレイヤーで表現しましょう。
| データ種類 | ファイルサイズ | 画質 |
|---|---|---|
| シェイプのみ | 5KB〜30KB | 完璧(ベクター) |
| シェイプ + 画像1枚 | 50KB〜200KB | 良好 |
| 複数の画像 | 200KB〜1MB | 普通 |
キーフレームの数が多いほど、JSONファイルのデータ量が増えます。必要最小限のキーフレームでアニメーションを作成しましょう。
レイヤーの数もファイルサイズに影響します。統合できるレイヤーは統合しましょう。
複雑なパス(アンカーポイントが多いシェイプ)は、データ量が増えます。可能な限りシンプルなパスで表現しましょう。
フレームレートが高いほど、滑らかなアニメーションになりますが、ファイルサイズも大きくなります。
アニメーションが長いほど、データ量が増えます。3秒〜5秒程度に収めるのが理想的です。


LottieFiles(https://lottiefiles.com/)は、Lottieファイルを最適化できる無料のWebサービスです。
最適化の効果: 平均で20〜40%のファイルサイズ削減が期待できます。
Node.jsを使った最適化ツールです。複数のファイルを一括で最適化できます。
# インストール
npm install -g lottie-compress
# 使用例
lottie-compress input.json output.json




LottieはすべてのAfter Effectsの機能をサポートしているわけではない。非対応の機能と、その回避策を理解しておくのじゃ!



はい、わかりました!よろしくお願いします!
| 機能 | 対応状況 | 回避策 |
|---|---|---|
| グラデーション | 部分対応 | シンプルなグラデーションのみ使用 |
| 画像 | 対応 | ファイルサイズ増加に注意 |
| エフェクト | ほぼ非対応 | シェイプレイヤーで代替 |
| 3Dレイヤー | 非対応 | 2Dで表現を工夫 |
| 調整レイヤー | 非対応 | 個別のレイヤーで調整 |
| トラックマット | 対応 | そのまま使用可能 |
| ブレンドモード | 部分対応 | 標準的なモードのみ使用 |
原因: 複雑なグラデーション(3色以上、放射状など)は正しく変換されない場合があります。
解決法:
原因: After Effectsのエフェクト(ぼかし、グローなど)はLottieに変換されません。
解決法:
原因: 使用しているフォントがシステムにインストールされていない。
解決法:





Lottieの具体的な実装方法を知りたいです!



いい心がけじゃ!ここでは、WebサイトへのLottie実装方法を解説するぞ!
lottie-webは、Airbnbが公式に提供するJavaScriptライブラリです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lottie Animation</title>
<style>
#lottie-container {
width: 400px;
height: 400px;
margin: 50px auto;
}
</style>
</head>
<body>
<div id="lottie-container"></div>
<!-- lottie-webライブラリを読み込み -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/lottie-web/5.12.2/lottie.min.js"></script>
<script>
// Lottieアニメーションを読み込み
const animation = lottie.loadAnimation({
container: document.getElementById('lottie-container'), // アニメーションを表示する要素
renderer: 'svg', // レンダラーの種類(svg、canvas、htmlから選択)
loop: true, // ループ再生
autoplay: true, // 自動再生
path: 'data.json' // JSONファイルのパス
});
</script>
</body>
</html>svg(推奨)、canvas、htmlから選択trueでループ再生、falseで1回のみ再生trueで自動再生、falseで手動再生LottieFiles Playerを使えば、1行のHTMLタグでLottieアニメーションを実装できます。
<!-- LottieFiles Playerを読み込み -->
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
<!-- アニメーションを表示 -->
<lottie-player
src="data.json"
background="transparent"
speed="1"
style="width: 400px; height: 400px;"
loop
autoplay
></lottie-player>transparentで透明)JavaScriptを使って、アニメーションを動的に制御できます。
// アニメーションを一時停止
animation.pause();
// アニメーションを再生
animation.play();
// アニメーションを停止
animation.stop();
// 特定のフレームにジャンプ
animation.goToAndStop(50, true); // 50フレーム目で停止
// 再生速度を変更
animation.setSpeed(2); // 2倍速
// 再生方向を変更
animation.setDirection(-1); // 逆再生




Lottieはどんな活用例があるのですか?



良い質問じゃ!ここでは、実務の主な4つの活用例を紹介するぞ!
ページ読み込み中に表示するローディングアニメーションは、Lottieの最も一般的な用途です。


引用元 : LottieFiles ページローディングアニメーション
ファーストビューに配置するメインビジュアルとして、Lottieアニメーションを使用できます。


引用元 : LottieFiles ヒーロー・セクションアニメーション
ボタンのホバーエフェクトや、フォーム送信の成功通知など、ユーザーアクションに応じた小さなアニメーションを実装できます。


引用元 : LottieFiles マイクロインタラクションアニメーション
統計データやグラフをアニメーション化し、視覚的に分かりやすく表現できます。


引用元 : LottieFiles データの可視化と分析 アニメーションパック





Lottieを実装するにあたってトラブルシューティングのことも知りたいです!



うむ。ここでは、主なトラブルシューティングを3つ紹介するぞい!
原因と解決法:
原因と解決法:
svgをcanvasに変更原因と解決法:
max-width: 100%で レスポンシブ対応aspect-ratioを指定#lottie-container {
width: 100%;
max-width: 400px;
aspect-ratio: 1 / 1; /* 正方形を維持 */
}


Lottieって、こんなに簡単に軽量なアニメーションが実装できるんですね!早速After Effectsで作ったアニメーションを書き出してみます!



その通りじゃ!Lottieは動画やGIFと比べて圧倒的に軽量で、ユーザー体験を損なわずにリッチなアニメーションを実装できるんじゃ。まずはシンプルなアニメーションから始めて、徐々に複雑な表現に挑戦するんじゃぞ!



はい!ポートフォリオサイトにLottieアニメーションを実装して、デザインスキルをアピールします!ありがとうございました!
本記事では、After EffectsからLottieへのライトウェイト書き出し方法について、実装例を交えながら詳しく解説しました。
重要なポイントは以下の通りです。
・Lottieの特徴:動画の数十分の一のファイルサイズで、高品質なアニメーションを実装可能
・書き出しツール:Bodymovinプラグインを使ってAfter EffectsからJSON形式に変換
・軽量化のコツ:シェイプレイヤーの優先、キーフレームの削減、レイヤー数の最小化が重要
・最適化ツール:LottieFilesやlottie-compressでさらにファイルサイズを削減
・非対応機能:エフェクトや3Dレイヤーは使えないため、シェイプレイヤーで代替
・Web実装:lottie-webライブラリまたはLottieFiles Playerで簡単に実装
WithCodeで学んだHTML・CSS・JavaScriptの基礎知識に、Lottieの技術を組み合わせれば、どんな複雑なアニメーションでも軽量に実装できます。
Lottieは、ページ速度を犠牲にせずに、ユーザーに驚きと感動を与えられる強力な技術です。ぜひ実際のプロジェクトで活用し、印象的なWebサイトを作成してください。


副業・フリーランスが主流になっている今こそ、自らのスキルで稼げる人材を目指してみませんか?
未経験でも心配することはありません。初級コースを受講される方の大多数はプログラミング未経験です。まずは無料カウンセリングで、悩みや不安をお聞かせください!
公式サイト より
今すぐ
無料カウンセリング
を予約!