Bodymovin で出力した LottieアニメーションをWebページで再生する手順を紹介します。
概要
こちらの記事では、BodymovinでAfter Effectsで作成したアニメーションを出力しました。
この記事では出力したアニメーションをWebページで再生する手順を紹介します。
事前準備
Bodymovinでアニメーションを出力します。手順は
こちらの記事を参照してください。
出力結果のdata.jsonファイル、または、SMILを利用したSVGファイルを利用します。
手順:jsonファイルを読み込みアニメーションを再生する
Bodymovinで出力したjsonファイルを利用してアニメーションを再生する方法です。
コード
以下のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.10.2/lottie.min.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = animation_init;
function animation_init() {
var animation = bodymovin.loadAnimation({
container: document.getElementById('frame'),
renderer: 'svg',
loop: false,
autoplay: true,
path: 'data.json'
});
}
</script>
<style type="text/css">
#frame {
width: 180px;
}
</style>
</head>
<body>
<h2>Lottieのデモ</h2>
<div id="frame"></div>
</body>
</html>
ファイル配置
HTMLを配置したパスと同じ位置に、Bodymovinで出力したdata.jsonファイルを配置します。
解説
LottieのJavaScriptファイルを読み込みます。今回はCDNから読み込む方法を利用しています。
LottieのJavaScriptファイルへのアクセス方法については
こちらの記事を参照して下さい。
<script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.10.2/lottie.min.js"
type="text/javascript"></script>
以下のコードでページ読み込み時に、animation_init 関数を実行する処理を記述します。
window.onload = animation_init;
ページ表示時に以下のコードが実行されます。
bodymovin.loadAnimation()
関数を実行し、アニメーションのオブジェクトを作成します。
containerプロパティにはアニメーションを再生するDOM要素を設定します。今回は
document.getElementById()
を呼び出してid="frame"の要素を設定しています。
rendererには
svg
を指定します。loopプロパティは
false
を設定しアニメーションのループをしない状態とします。autoplayプロパティはtrueに設定し、
読み込み時に自動で再生が始まる動作とします。pathプロパティにはアニメーションデータのjsonファイルを指定します。今回は
Bodymovinで出力したdata.jsonファイルを指定します。
function animation_init() {
var animation = bodymovin.loadAnimation({
container: document.getElementById('frame'),
renderer: 'svg',
loop: false,
autoplay: true,
path: 'data.json'
});
}
アニメーションは、id="frame"が設定されているdivタグ部分に表示されます。divタグの幅はスタイルシートで幅180pxに設定しています。
<div id="frame"></div>
#frame {
width: 180px;
}
実行結果
上記のHTMLファイルをWebブラウザで表示します。下図の画面が表示されます。ページ表示直後からアニメーションが開始します。
図形が徐々に拡大するアニメーションが再生されます。
ループしない設定のため、図形が拡大し終えると、そのままの状態のままとなります。
手順:SMIL SVGファイルを読み込みアニメーションを再生する
SMIL (Synchronized Multimedia Integration Language)を利用したアニメーションSVGファイルを再生する手順です。
コード
以下のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<h2>SMIL SVGのデモ</h2>
<div>
<img src="data.svg" />
</div>
</body>
</html>
解説
imgタグで画像を表示します。src属性にSMILのアニメーション設定されているSVGファイルを指定します。
<img src="data.svg" />
ファイル配置
HTMLファイルと同じパスにBodymovinで出力したSMILのSVGファイルを配置します。
実行結果
上記のHTMLファイルをWebブラウザで表示します。下図のページが表示されます。
ページが表示されると自動でアニメーションが開始され、図形が徐々に大きくなります。
アニメーションが最後まで再生されると、開始時点に戻り最初からアニメーションが繰り返し再生されます。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
最終更新日: 2023-02-22
作成日: 2023-02-21