Web制作、Webサービスに関する技術やノウハウを発信するコラムサイト

アプリのロゴアニメーションをAfter Effectsで作成→Lottieに変換【iOS/Android対応】

  • このエントリーをはてなブックマークに追加

こちらは、当社でリリースしたアプリ「ピンピタ」で使用しているロゴアニメーションです。
スプラッシュ画面でロゴが動くと、ぐっとアプリらしい印象になりますし、作ってみたいですよね。

今回は、After Effects(以降AE)でロゴアニメーションを作成し、アプリに組み込むまでをご紹介します。
AEと聞くと難しい印象がありますが、PremiereやFlashなどを触った経験がある方なら、すぐに慣れます。



作業フロー

アニメーション作成からアプリに組み込みまで、大まかに4つの工程が必要になります。

  1. Illustartorでロゴデータを調整
  2. After Effectsでアニメーションを作成
  3. Lottie形式で保存
  4. アプリ(iOS/Android)に組み込み

AE上でシェイプを作るできますが、通常ロゴはaiデータなので、Illustratorからシェイプを読み込む工程を挟んでいます。
アプリで使用するアニメーションファイルは、LottieというJSON形式で保存されています。テキストベースなので、WEB上に配置しても使用できます。

注意点:グラデーションが使用不可

Lottieの注意点としては、グラデーションが使用できない点です。
現状Lottie形式で書き出してアプリに組み込むと、単色の表示になってしまいます。
AE上では線形グラデーションの機能が存在するのですが、この標準的なグラデーション表現はLottieでの書き出しには対応していません。レギュレーションがあるロゴだと、事前調整が必要になるかと思います。

アルファマットを使用した透明グラデーションならLottie形式でも書き出せますが、用途がWEBで、ブラウザ上で表示する場合の限定的なものです。単色カラーに、透明のグラデーションを重ねることで、グラデーションがかかっているように見せることができます。

アプリの場合は、背景が透過の動画ファイルを配置する方法を検討してください。

では早速、作り方を解説していきます。

[手順1] Illustratorでロゴデータを調整

Illustratorでロゴデータを作ります。アニメーション用に手を加えますので、元データをつぶさないようにaiファイルを複製して使ってください。

拡大縮小程度の動きであれば調整することはほとんど無いのですが、パス自体の形状が大きく変わるようなアニメーションを想定しているようであれば動きごとにパーツを作成し、レイヤーに含めておくと作成の時に負担が少ないです。

例えば、冒頭のロゴのアニメーションであれば、丸いパスとピンと、2つのシェイプを用意し、途中で表示非表示を切り替えて形状が変わったように見せています。
その他、背景など不要なパーツは削除し、aiデータとして保存します。

[手順2] After Effectsでアニメーションを作成

AEを起動します。
新規プロジェクトを立ち上げ、素材を準備していきましょう。

aiファイルを読み込む

プロジェクトウィンドウに、aiデータをドラッグして読み込ませておきます。
読み込みのウィンドウが表示されます。データの読み込み形式は「フッテージ」のままでOKです。

新規コンポジションを作成

次に、プロジェクトウィンドウのアイコンから、新規コンポジションを作成します。
コンポジションは、Premiereのシーケンスのようなものです。アニメーションの様々な設定を格納する箱と思ってください。

「フレームレート」と「デュレーション」を設定して、OKを押せば作成されます。

フレームレート 24fps か 30fps
デュレーション 3秒
※「0:00:03:00」と入力

フレームレート

フレームレートは、1秒間に何枚のフレームを使用するかの設定です。フレームが多ければ多いほど滑らかになりますが、多すぎればデータが重くなります。

  • ロゴアニメーション程度の簡単なアニメーション
    ⇒ 24fps
  • 滑らかさを重視する場合
    ⇒ 30fps

デュレーション

デュレーションは全体の尺の長さです。今回は3秒に設定します。
「時間:分:秒:フレーム」の表記になるので「0:00:03:00」としてください。

タイムラインに素材を配置

タイムラインのウィンドウを確認すると、今作成したコンポジションが開いた状態で表示されています。ここに素材を配置しながら、アニメーションを設計していきます。
まず、先ほど読み込んだaiデータを配置してください。

aiデータをタイムラインにドラッグして、レイヤー名にカーソルをあてて右クリック。
[作成]>[ベクトルレイヤーからシェイプを作成]を選択します

レイヤー名の左部の矢印アイコンでレイヤーが開閉します。
追加されたレイヤーを開いてみると、aiデータに含まれていた全てのシェイプが同一レイヤーに含まれています。これを、パーツ単位でレイヤーを分けて整理していきましょう

全てを含んだレイヤーを複製し、パーツが重複しないように中身を削除していきます。
少し手間に感じますが、この時点で分けておくと、アニメーションを作る時に、それぞれのレイヤーが扱いやすくなります。まとめて扱いたいパーツは、ひとつのレイヤーにまとめてしまってOKです。


レイヤーを開いてみると分かるのですが、AEは、レイヤーに「コンテンツ」と「トランスフォーム」が含まれる構造になっています。

  • コンテンツ ⇒ パスや塗りなどのオブジェクトに関する要素
  • トランスフォーム ⇒ 位置やスケールなどの情報

アニメーションは基本的に、このトランスフォームの値を操作して動作させます。このトランスフォームの中の情報は、レイヤーにかかるものですので、レイヤーを分割した方が扱いやすいというわけです。
レイヤーが整理できれば、準備は完了です。

アニメーションを作成する

アニメーション作成の基本は、レイヤーを開いて、トランスフォームの中の、位置やスケールなどの数値を変更すれば動きが加えられます。

まず、動きを加えたい項目の左側にあるストップウォッチのアイコンをクリックすると、タイムラインにキーフレームのポイントがつきます。これがアニメーションの始点になります。

タイムラインの青い縦線(インジケーター)を動かして、終点も追加しましょう。レイヤー名の左にある◇ボタンを押すと、キーフレームが追加できます。動かしたい項目の数値を操作するとアニメーションが動きます。
キーフレームは、始点と終点以外にも増やすことができます。また、ドラッグで移動できます。再生して動きを確認しながら調整していきましょう。

イージング

イージングをつける場合は、キーフレームを複数選択し、右クリックのメニューから、[キーフレーム補助]を選択します。

位置プロパティ

位置プロパティはX軸とY軸がまとまっているので、右クリックで「次元に分割」をすると、X軸とY軸それぞれで入力できるようになります。

[手順3] Lottie形式で保存

アニメーションの編集が完了したら、Lottie形式で保存しましょう。保存には「Bodymovin」というプラグインを使用します。Adobe Creative CloudのデスクトップツールからDLしてもOKです。


◆Bodymovin https://exchange.adobe.com/apps/cc/12557


インストール後に、AEのウィンドウメニューから、[エクステンション]>[Bodymovin]と選択して、プラグインを起動します。

ウィンドウにコンポジションの一覧が表示されているので、Lottie形式で書き出したいものに「Selected」のチェックを入れます。保存先を選択し「Render」を押して実行します。


保存したLottie(JSON)ファイルをテキストエディターで開くと、アニメーションやオブジェクトの情報がテキストになっています。


[手順4] アプリ(iOS/Android)に組み込み

アプリへの組み込み方法を簡単に解説していきます。

スプラッシュ画面でアニメーションさせたい場合

OS関係なく、アプリではスプラッシュ画面に静止画しか置けないという制約があります。そこで、スプラッシュの次に画面を用意し、その画面でアニメーションを再生し、スプラッシュ画面でロゴが表示されているように見せかけましょう。

iOS

まずは、iOSへの組み込みから紹介します。
手順としては3つです

[その1] ライブラリを導入

Lottieを使用するには、Lottie for iOSというライブラリが必要です。CocoaPods または Swift Package Manager(以降SPM)で導入できます。今回はSPMの場合を紹介します。

Xcodeのメニューから、[File]>[Add Package Dependencies]を選択すると、パッケージ追加のウィンドウが開きます。検索フォームに以下のgitのURLを入力して追加します。

[URL] https://github.com/airbnb/lottie-ios.git

パッケージを選択して、「Add Package」して追加を完了させてください。

[その2] Lottieファイルを読み込む

次に、LottieのJSONファイルをプロジェクトに追加します。ファイルツリーにマウスドラッグすればOKです。

追加したファイルを選択すると、画面の右側にFile Inspectorが開きます。その中に、Target Membershipという項目があるので、アプリのプロジェクトが含まれていることを確認してください。これでJSONファイルがアプリのバンドルに含まれ、実行時に読み込めるようになります。

[その3] Lottieファイルを配置する

最後に、画面にLottieを配置します。
ViewControllerを開いて、以下を参考に必要な部分を追加しましょう。

追加したら、IBOutletをViewと接続しましょう。Storyboardを開いて、UIViewを配置します。UIViewで右クリックして、表示されたOutletをマウスドラッグし、接続します。

この一連の流れで、iOSへの組み込みは完了です

Android

次に、Androidへの組み込みです。こちらも手順は3つです。

[その1] ライブラリを導入

AndroidのLottie for AndroidをGradleで追加します。
app/build.gradleに依存関係を示すソースを追加します。

[その2] Lottieファイルを配置

/app/src/main/res/raw
この階層のフォルダにLottieファイルを追加します。rawフォルダが無ければ作成してください。

[その3] Viewに配置

レイアウトのxmlファイルで、以下のコードを使用して配置します。


この一連の流れで組み込みは完了です


今回は、AEでロゴのアニメーションを作成し、アプリに組み込む一連の流れをご紹介しました。
アプリへの組み込みは、バージョンや使用する言語によってエラーが出たり、細かな調整が必要な場合があります。
その際は、ChatGPTなどのAIにサポートしてもらうのがおすすめです。


執筆者:森島 [ WEBデザイナー ]

8bit デザイナーです。 デザイン・マークアップ・映像制作など幅広く担当しています。

関連記事

マークアップ

SharePoint クラシックUIの通知機能をPower Automateで再現する

SharePoint サイトをモダンUIへ移行すると、よく耳にするのが「クラシックUIにあった通知機能を使いたい」という声です。しかし、モダンUIにはクラシック時代のような「標準の通知機能」が用意されていません。 そこで活躍するのが「Power Automate」です。クラシック通知の代わりとして、リストの変更を自動で検知し、メールで知らせる仕組みを簡単に構築できます。 本記事では、クラシックUIの通知に近い形で、Power Automate を使ったメール通知フローを作成す […]

Webサイト制作

制作会社が考える、WordPressとオリジナルCMSの選定ポイント

弊社では「WordPress」を使った制作と、弊社のオリジナルCMSツール「ProG(プログ)」を使った制作の、いずれについても多くのご相談をいただいています。 それぞれにメリットがある一方で、運用時に気を付けるべき点もあり、サイトの目的や運用方法によって向き・不向きがあります。 この記事ではそれぞれの特徴を整理しながら、WordPressとオリジナルCMSを併用できるケースについてもご紹介します! 目次1 WordPressを使用するメリット1.1 多機能で自由度が高い1. […]

WordPress

本当に使う機能だけを残した、シンプルなWordPressのSEOプラグインを作成しました

WordPressでSEO周りの設定が簡単にできる、SEOプラグイン。 SEO対策には便利ですが、設定項目が多すぎて「どこを触ればいいのか分からない」と感じることはないでしょうか? そこで今回、社内の案件用にシンプルなSEOプラグインを作成してみました。 『最低限の設定のみでシンプルに』というのが今回のテーマです。 今回の記事では「どんな考え方で設計したのか」といった、制作背景などを紹介していきます。 ※本記事ではコードの全公開やダウンロードは行いません 追記:無事リリースで […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。