Figma × Lottielabを使って、Lottieアニメーションをつくろう


# **はじめに**

こんにちは！
株式会社GENEROSITYのデザイナー佐々木です。
初のアドベントカレンダーに参加させてもらいました🎁

![genekuma_cover.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/d6c2c81b-9e1b-7950-86f3-e0f2c17effd4.gif)


今回は **「Figma × Lottielabを使って、Lottieアニメーションを作成する方法」** をご紹介します。


# そもそも Lottie とは


[Lottie](https://lottiefiles.com/jp/)とは、アニメーションをWebやアプリで手軽に扱えるオープンソースライブラリです。

JSONベースのアニメーションファイル形式で作られおり、React、Flutter、Swiftなど、さまざまなフレームワークや言語向けのライブラリが提供されています。

- Webサイトやアプリのローディングアニメーション
- UI/UXでのリッチな動き
- 動画を使いたくないが、視覚的なアクセントを出したい場面

このようなシーンで、Lottieを活用すれば簡単にアニメーションをWebに取り入れることができます。

今回は「**Lottieアニメーションを、FigmaとLottielabというツールを使って作るよ！**」という手順を紹介します。


Lottieを詳しく知りたい方公式サイトから↓

https://lottiefiles.com/jp/what-is-lottie



では、さっそく本題に入ります。


# 使用ツール

1. [Figma](https://www.figma.com/ja-jp/)
1. [Lottielab](https://www.lottielab.com/?home)
1. [Figma to Lottie animation](https://www.figma.com/community/plugin/1307008445393559148/lottielab-figma-to-lottie-animation)

　イラストを用意するのに、Illustratorを別途使用しました。

# 手順

1. デザイン素材の用意
2. FigmaからLottielabにエクスポート
3. Lottielabでアニメーションをつける
3. エクスポートして完了



# Lottielab とは

Lottieアニメーションをブラウザ上で作成・編集できるモーションデザインツールです。

![スクリーンショット 2024-12-05 15.14.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/ea461f37-835a-7ad4-9c08-061a8b450f90.png)

https://www.lottielab.com/?home

 **「とにかく直感的なUIとシンプルな操作性」** が特徴的です。

実際に触ってみて感じたのは「FigmaのUIや操作性のまま、AfterEffectsの要素がくっついたツール」という感じで、普段Figmaを使っている方はすぐ理解できるようになっているなと感じました。


- Figmaにある素材を簡単に動かしたい
- 少し凝ったアニメーションを付けたい
- AfterEffectsで作るのが難しい（もしくはAEを使わずに簡単に作りたい）


こういった方にオススメできるツールかなと思います。


<details><summary> [余談] 公式サイトから紹介されているプラグイン</summary>
公式サイトからは、「LottieFiles for After Effects」「LottieFiles for Figma」、「LottieFiles for Canva」のプラグインが紹介されています。

![スクリーンショット 2024-12-05 15.27.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/2e0e108b-0c71-9f55-7166-68097bb1358b.png)

私は、AfterEffectsで「Bodymovin」というプラグインを使っていましたが、今はもっと使いやすそうなプラグインが出ているようですね。

ですが今回は「Lottielab」を使います！💪
新しいツールはどんどん触っていきましょう。

</details>

# さっそくやってみよう

### 完成系はこんな感じです🎄❄️

![genekuma.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/4fc0a116-f748-cecd-27db-ca5d90ef2a99.gif)

黒いクマは弊社キャラクターのネロくんです🎄🐻

少し凝ったアニメーションにチャレンジしてみました。
これを作るまでの過程を説明していきます。少し長めです🫣



# （1）デザイン素材の用意

まずアニメーションさせたい素材を用意します。
今回はイラストを使ったアニメーションを作りたいので、Illustratorで用意しました。

もちろんFigma上で作ったデザインでも、Stockからダウンロードした素材でもOKです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/3494c89e-5a79-2bb5-e1a8-c72ecd1aedec.png)

**💡 ポイント** 
- 動かしたいパーツは分けておく（クマの腕や足）
- グループ化しておくと便利（ツリー、クマ、雪…など）
- ベクター形式で作ること

Illustrator上のレイヤー分けは気にしなくてOKです。
AEを使う場合は細かくパーツ毎に分けますが、しなくても問題ありません（最高！）

# （2）Figmaに貼り付け

Illustratorからそのままコピペで貼り付けます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/cf6602bb-c966-7c7f-28d0-6dfd9ea0706a.png)

画像のようになるので、Figma上でリネームします。
また、動かしたいイメージに合わせてパーツのグループ整理もできると良いでしょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/7897361c-2e34-92b3-85b8-a7a100a1e13c.png)

**💡 ポイント** 
- Figma上でパーツはざっくりリネームしておくこと
- グループ化も整理しておくこと

これをやっておくと、Lottielabに持っていった時「これなんだっけ…？」とならずに済みます。後からLottielabでもリネームやグループ整理しながら作業できますので、まずは大枠のグループだけでもリネームしておくことをオススメします。

# （3）Lottielabへエクスポートする
プラグインを使用してLottielabへデータを持っていきます。
下記サイトからプラグインを取得してください。

### [ Lottielab - Figma to Lottie animation ]( https://www.figma.com/community/plugin/1307008445393559148/lottielab-figma-to-lottie-animation ) 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/b92d063e-dfe1-04a4-b961-768e61ea6016.png)


立ち上げると、こういう画面になるのでエクスポートしたい対象を選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/92680041-45f9-9051-ba3c-1a3704590ac5.png)


選択するとしばし読み込んだ後、表示が切り替わります。
「Open in Lottielab」ボタンを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/4eacce50-f792-a723-a86c-16c02b800795.png)

ブラウザが自動で立ち上がり、Lottielabのエディター画面になります。

**これでエクスポート完了です！簡単ですね。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/94116449-8e96-0758-9c5d-fb15fe53560c.png)

↓レイヤーも綺麗に保持されています。（この段階では2階層目以降はリネームしていません）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/21e9b6b8-e334-02dd-696a-adb6be9b61d1.png)

# （4）アニメーションを付ける

ここからはアニメーションを付けていきます。

## パネルの見方
パネルの見方はざっくり画像のような感じです。
上がFigmaっぽい操作パネルで、下にタイムラインがあるといった感じですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/f8924488-fa11-3f9e-3d2b-fedcf2541ba9.png)

## アニメーションをつけるときはONにする
上にある「Animate」ボタンを押すとタイムラインが展開され「Animating」に変化します。
アニメーションをつける時は、これをオンにして作業していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/3e9e6588-23c2-3428-7e04-7f4530875d61.png)


## 動きを決める
ネロくんがひょこっと出てくる動きを作りたいので、0秒地点にインジケーターを移動します。ネロくんもドラックしてツリーの後ろに隠しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/20a5c43f-709a-522b-3490-6119fdc07e54.png)

0.4秒地点にインジケーターを移動し、ネロくんをまた外側へドラックします。
そうするとタイムラインパネルに色が塗られます。

これだけでツリーの後ろから横にスライドする動きができました。
スペースキーを押すとアニメーションを再生できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/d94cc2c1-9a99-ef2b-b8b9-2e18a0f108f9.png)

**💡 ここが良い** 
- パネルの位置や操作感がFigmaフレンドリー
    - ⌘ホールでFigma感覚のズームイン/アウトできるなど、共通するショートカットがある
- 動きの軌跡が矢印で表示される
- アニメーションモードOFFでいつでもオブジェクトの編集が可能



## 予備動作をつける

ただ横にスライドしていくだけですので、中間の0.2秒地点に移動し足をあげて踏み込む動きをつけようと思います。

レイヤーパネルをみながら、足のグループを探します。
管理しやすいようリネームも同時にやっていきます。



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/d8685a54-323e-72ba-63e3-e478624b5208.png)


0.4秒時点に移動させ、足を着地させます。
そうすると足を上げて横に移動する動きが出来上がります。



こういった予備動作を加えることで、少しずつ生きているような表現になっていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/ff0ce4c3-c46a-0e82-21d4-02712608027a.png)
この要領で、頭、耳、鼻、胴体、手足、などパーツを動かしていきます。

**💡 ここが良い** 
- ⌘クリックで特定のオブジェクトを選択できる（Figmaと一緒）
- 動きの軌跡（矢印）が表示されるのでどう動くかがわかりやすい

**🥲 難しいところ** 

AEのようなアンカーポイントがなさそうなので、どこかを軸とした動きが付けにくいです。
例えば、腕の付け根を起点にアニメーションをつける操作とかですね。
この程度だったら微調整でカバーできましたが、複雑な表現は骨が折れそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/89e761b7-4961-ce3f-5c96-3280a61bfb16.png)


## イージング設定


Animating状態で、キーとキーの間のエリアをクリックするとイージングの設定ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/d1e2fa04-f04d-58e0-1af0-fc9b7a495001.png)

種類は7種類あり、自分でハンドルを操作してカスタムすることも可能です。
- Linear
- Natural
- Slow Down
- Accelerate
- Bounce In
- Bounce Out
- Hold

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/e7a4e473-9a48-613f-0c8f-e82d635c87c4.png)

この状態の時は、絵も自動でプレビューしてくれるので想像がつきやすくて良きです。


## 基本操作は大体こんな感じ

大まかな操作は以上です。
繰り返しながらアニメーションをつけて行きましょう。
1. アニメーションモードにする
2. インジケーターを動かしながら、パーツを選択し位置や角度を操作する
3. イージング、不透明度、スケールなどの調整を加えてブラッシュアップする
4. 再生して確認する

## 速度調整の仕方
キーを選択できるので、もうちょっと早く/遅くはドラックしながら速度調整ができます。（紫枠が強調されます）

便利だな〜と思ったのは、選択するだけでとパッとイラストも連動してくれるので、イメージがとてもつきやすいです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/c59de7ab-8ef2-a459-2ff3-d2786ccfcbb9.png)


# （5）さらにブラッシュアップする

ここからは、さらにアニメーションの表現をリッチにするためにやったことを紹介します。

## 雪をなめらかに動かす

1. 0秒地点にインジケーターおく → スタートさせたいオブジェクトの位置も決める
1. 0.2秒地点にインジケーターを移動させる → オブジェクトを移動させる
1. 0.4秒地点にインジケーターを移動させる → オブジェクトを移動させる


を繰り返すと画像のようなジグザグができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/89fafa6f-0643-e671-b795-2290f910dbbc.png)

### **💡 ポイント①** 
軌道上にカーソルを合わせるとポイントが出てきますので、これをドラックするとカーブをつけられます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/6e223cf9-31dc-0ed0-2ac5-0f80a640f17c.png)

ハンドルをいじりながら、曲線をつけるとこんな感じ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/0bcab269-f517-5f5d-44f8-422e2bf6cbe9.png)

動きを作った後は、0秒と0.4秒地点のオブジェクトの透明度を0%にすると、雪がフェードで表示されて消えていく様子を作れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/db7b55f4-7dc0-dc4b-8dcd-16bb2d8eeb8e.png)


### **💡 ポイント②** 
ですが、みてください。雪はいっぱいあるのです。
これを1つずつ設定してたらキリがありません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/37d9d752-b2a8-25c1-37bd-890f0ed07394.png)


そういう時は「**AnimatingをOFFにして**」コピペしまくれば動きをそのまま使い回せます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/144c21ba-b423-189e-beb0-8f58f40a4304.png)

もともとあった雪は場所の目安にして、削除して配置。
動きは2-3パターン用意すると、単調にならないのでいくつか作ると良いです。


## マスクする

マスクもエディター上で編集することができます。

素材は画像のような感じになっており、ツリーを下から上にスライドさせたいと思ったのですが、パーツの下まで干渉しています。

こういう時はマスクを使います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/e59dfaf9-32ab-0891-be68-f5f0b2cdfa74.png)


Rectangleツールで隠したい範囲を覆います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/4227ea3f-d8a9-f04c-1f00-ac975ddde9f4.png)

最背面に持って行きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/d81cbc68-2df5-e5e9-5957-202663cab530.png)

マスクさせたい対象を選択して、右クリック「Mask layers」を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/eda9dd0e-eb4d-b3af-62a1-84d89633080c.png)


これでマスク完了！ばっちり。
Figmaと全く同じ操作感ですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/80e8f04c-df8c-f0e2-3e63-8643c75b30f6.png)


## 最終的な仕上がり

①クマ、②雪、③ツリー、④星飾り、4つを色々調整して最終はこんな感じになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/2d71e40e-f3c3-7bb8-0f70-b67e2d88a0a0.png)

複雑そうに見えますが「こう動かしたいな」を感覚的に調整できるので、夢中になってたらこうなった。という感じです😳

### 個人的な好きなポイント

- UIわかりやすい
- グラデーションできる
- マスクできる
- 直接オブジェクトを編集できる
- 秒数変更が楽
- 軽いのでとにかくプレビューが早い
- AEのようなプリコンポーズの概念がなく、シームレスな操作




# （6）エクスポートして完成

左上の「Export」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/08dc9761-7a3e-1a21-007d-ca8705e4114e.png)


ウィンドウが立ち上がり、エクスポートの形式が選択できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/075d43eb-48ce-7656-7a62-617c17c5dfc7.png)

1. Lottie
1. GIF
1. MP4
1. Telegram sticker

JSONデータのダウンロード、URLなどコピーできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/288b6425-4cec-3851-85ed-b84a4d60177c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3935441/a0641352-9535-712d-090d-1a3ae43da1c0.png)


### 好きな書き出し形式を選択して完了です！🎉



# まとめ

いかがでしたでしょうか？

Lottielabを使えば、簡単にアニメーションをつけることができました。
UIがとにかくシンプルで直感的、Figmaを普段使いしてる方には持ってこいのツールだと思いました✨

AfterEffectsを使うことなく、簡単かつ直感的に操作できるので今後も活躍しそうです。
ぜひご検討あれ！