ESSENCE LOTION｜15秒モーション実習キット
========================================

見本の「essence-lotion-reference-15s.mp4」と同じ動き・構成を、自分の商品PNGで試すための実習ノートです。
粒が集まって一滴になり、暗い背景で商品が現れ、明るい背景の最後の画面へつながります。

見本で使われた商品画像は同梱していません。別の商品PNGを使うと、動きは同じでも商品の見た目は変わります。
見本と完全に同じ画面を再現するには、見本で使った元の商品画像が必要です。
フォントも、見本のNimbus系などから再配布可能なNoto Serif JP／Noto Sans JPへ置き換えているため、文字の形や幅は異なります。

【用意するもの】
・インターネットに接続したパソコンとGoogle Colab
・自分で利用できる、背景が透明な商品PNG 1枚

PNGは、商品1点が中央にあり、まっすぐ立っているものを用意してください。
白い背景付きの画像やJPEGをPNGに保存し直しただけの画像では、背景は透明になりません。
このノートに背景を消す機能は含まれません。先に透明PNGを用意します。

【使い方】
1. ZIPを展開します。
2. Google Colab https://colab.research.google.com/ を開きます。
3. essence-motion-practice.ipynb をアップロードし、Pythonランタイムへ接続します。
4. 次の4セルを上から順に実行します。

①準備する
  動画作成に必要なパッケージとフォントを準備します。初回はダウンロードのため通信が必要です。
②商品PNGをアップロードする
  用意した透明PNGを1枚選びます。
③動画を作る（15秒）
  商品画像を読み込み、15秒の動画を書き出します。完了するまで待ちます。
④再生して保存する
  動画を再生して確認し、パソコンへ保存します。

商品を変えて試す場合は、②から順にもう一度実行します。

【できあがる動画】
1080×1920の縦型／30fps／15秒／無音
最後の2秒は、商品とコピーを見せる静止した画面です。

見本のコピーを初期値として使います。
「一滴に、」
「こだわりを、この一滴へ。」
「こだわりを、」
「一滴に、」「こだわりを凝縮。」
英字の「THE ESSENCE OF CARE」「IN EVERY DROP」「LOTION」「ESSENCE LOTION」、表記「化粧水」も見本に沿っています。

【画像と実行環境について】
読み込む元PNGファイルのバイト列は書き換えません。映像の中では、動きに合わせて表示位置や大きさを変えます。
動画生成APIやAPIキーは使いません。図形・文字・商品画像を組み合わせて動画を作ります。
Google Colab自体の利用条件や実行時間の制限は、利用環境によります。

ノートはNode.jsとSharpを使います。Sharpはノートの作業場所へ準備し、特定のパソコン専用の保存場所には依存しません。
フォントはNoto Serif JP／Noto Sans JPを使用します。フォントの再配布条件は同梱のSIL Open Font License（OFL）をご確認ください。

【PNGの条件】
PNG形式／15MB以下／長辺4096px以下／短辺100px以上。
透明部分と見える商品がある画像を選んでください。
推奨は縦横比2:3の透明キャンバスで、商品が中央にあり、周囲に少し余白がある画像です。
その他の縦横比でも画像全体が収まるように表示します。

【出力名とやり直し】
出力：essence_motion_work/output/essence-lotion-motion-15s.mp4
③を再実行すると、同名のMP4を上書きします。
写真を変えたときは②→③→④を実行してください。

【ノート単体で使う場合】
ノートには描画用JavaScriptの全文を埋め込んであります。
①が必要な日本語フォントを公式の固定URLからダウンロードし、SHA-256で確認します。
既存のNode.js 20.9以降を使い、不足時は公式の固定版を作業フォルダーに導入します。
Sharp 0.35.5は専用フォルダーへ準備します。既存のPython/Pillow/NumPyを更新しません。
FFmpegが無い場合だけimageio-ffmpeg 0.6.0を準備します。
ローカル実行では②のproduct_pngに画像のパスを入力します。

【同梱ファイル】
essence-motion-practice.ipynb：4セルの実習ノート
render_essence.js：回収した元ソースを移植した描画コード
assets/NotoSerifJP.ttf、assets/NotoSansJP.ttf：再配布可能な日本語フォント
assets/OFL-NotoSerifJP.txt、assets/OFL-NotoSansJP.txt：フォントのライセンス
LICENSE-CODE.txt：教材コードのMITライセンス
はじめに.txt：この説明書
essence-lotion-reference-15s.mp4：提供された元動画の無改変コピー

原作で使った商品PNG、内部検証用の画像・動画は同梱していません。
動画は1080×1920／30fps／15秒／H.264／yuv420p／無音です。
粒や一滴は抽象表現であり、実在商品の成分・濃度・効能を検証した表現ではありません。

【フォントの固定版】
Noto Serif JP：Google Fonts
https://github.com/google/fonts/tree/8a7c74854f766ae441c7584925cc0ec626fc5aa6/ofl/notoserifjp
SHA-256：2fd527ba12b6a44ec30d796d633360da0aeba6c5d4af1304ce12bb4dc15a7dfc
Noto Sans JP：Google Fonts
https://github.com/google/fonts/tree/295d98a7a0c17c68f1341eaeea354e7960ea70d3/ofl/notosansjp
SHA-256：c2f3b4d463500a2ddcd3849cded1fceeb9fd6d1c32e6cbecd568453ba50fc68f

【ライセンスの区別】
教材コードはMITライセンスで利用できます。
フォントは各OFL、見本MP4と読者が用意する商品画像はそれぞれの権利に従います。
見本MP4と商品画像は、教材コードのMITライセンスには含みません。
