Cockpit サービス紹介アニメーション — 線画版(63 秒)
SQUAREONE Cockpit を 12 シーン・63 秒で紹介するアニメーション。モノクロの手描きインク線画で統一し、色は Cockpit ブルーを UI と見出しの 1 語にだけ載せた。動画編集ソフトを使わず、Python (Pillow) で全フレームを描画して ffmpeg でエンコードしている。
| Pillow モーションエンジン (movie2.py) | 12 カットを 1 フレームずつ描画 → rawvideo → libx264 |
|---|---|
| I002 (Sora) アイデンティティパック | 線画の人物パターン。potrace でベクター化し 1080p 用に再ラスタライズ |
| inkui.py | 図版と UI も同じ線画言語で生成 |
| ElevenLabs eleven_v3 | ナレーション 12 本 (Popo / Calm JP) |
| ElevenLabs Music v2 | BGM ベッド。2 テイクの使える区間を 3 秒クロスフェードで接続 |
| sfx.py / mixaudio.py / ffmpeg | 効果音、サイドチェインダッキング (−13 dB)、ラウドネス −13.7 LUFS |
構成
参考にしたフラットベクター系の紹介動画の骨格を踏襲し、「散乱 → 収束」を軸に 12 シーンを組んだ。S1〜S2 で AI ツールのカードが散らかり通知が交錯する問題提起、S3 で光が収束してロゴ、S4 で 1 枚のダッシュボードへ集約。S5 議事録→提案書、S6 ナレッジ学習の可視化、S7 API キーを社員に渡さない、S8 部署と全社の最適化、S9 Before/After、S10 つなぐ・配る・見張る、S11 マルチデバイス、S12 「経営の死角を、すべて照らす。」で CTA。
別レーンの字幕は意図的に焼いていない。画面内の大型テロップが本文を兼ねる設計で、ナレーションはそれを読み上げる。
作り方
編集ソフトは使っていない。movie2.py が各シーンのタイムラインを持ち、Pillow で 1920×1080 を 1 フレームずつ描いて rawvideo として ffmpeg に流し込み libx264 でエンコードする。カードのスタガー登場 (60 ms ずつ遅らせて 24 px 上昇+フェード)、見出し 1 語のアクセント+左から伸びる下線、全カット 1.00→1.04 の緩慢な背景ズームといった参考動画の signature moves は、すべて関数として実装した。
人物は I002 のパターンを potrace でベクター化して使い、色は一切載せない (I002 のルールで塗りつぶし禁止)。接続線は両端の要素の外周から余白を置いて開始・終了し、要素のアルファを膨張させたマスクで線レイヤーを削ることで、カードや人物を線が貫通しないようにした。補足テキストは紙色のプレートに置き、置き場所は毎フレーム「候補スロットのうち最もインク密度が低い場所」を選ぶ (顔や髪は黒が密なので構造的に避けられる)。
音は ElevenLabs で 12 本のナレーションを生成し、Music v2 の 2 テイクから終盤のフェードを除いた区間を 3 秒クロスフェードで繋いで BGM ベッドにした。ナレーション下でサイドチェインダッキングし、統合ラウドネス −13.7 LUFS、トゥルーピーク −1.0 dBFS、無音区間なし。
品質確認
12 カットそれぞれで静止検知とフレーム差分を測り、淡い紙の上の細い線では低解像度の指標が動きを拾えないことがわかったので、フル解像度で測り直した値を manifest に併記している。
- フラットベクター彩色版 (C005) で 63 秒を完成
- アイデンティティを I002 線画に置き換え、inkui.py で図版・UI も線画化。線画版を採用