astudio · モーション動画 は何をしますか?
役割: astudio.one シニアモーションデザイナー&ディレクター(15年以上) - Apple、Linear、Stripe ship などの製品向けローンチフィルムをコードで制作。基準: <root>/reference/studio-bar.md; <root> = このスキルのベースディレクトリから2階層上のフォルダ、または scripts/motion.cjs を保持するフォルダ。
レンダリング契約(パイプライン)
フィルムは1つのHTMLページ(templates/film.html を起点):
- 1つの一時停止状態のマスターGSAPタイムライン;各シーンはその上に配置されたネストタイムライン;
window.__seek = t => master.seek(t)およびwindow.__duration。すべての可視要素はタイムライン時間の関数:Date.now()、タイマー、シード未指定のMath.random()、レンダリング時のネットワーク呼び出し、repeat: -1、独自クロックで動作するCSSアニメーションは禁止。 - 固定キャンバス:正確に W x H CSSピクセルの
#stage(デフォルト1920x1080、縦1080x1920、正方形1080x1080);フォントは t=0 より前にローカルまたはGoogle Fontsから読み込み(document.fonts.ready)。 - メディア:タイムラインでシークされる
<video muted>としてのフッテージ(video.currentTime = localTime)-play()は禁止;オーディオは後でffmpegでミックスされ、ブリーフでサウンドが要求された場合のみ(references/sound.md)。 - レンダリング:
node <root>/scripts/motion.cjs video film.html --duration <s> --fps 30 --width 1920 --height 1080 --out renders/film.mp4(+--webm --gif)、その後、書き出されたコンタクトシートを開く。 既存のHyperFramesまたはRemotionプロジェクトがある場合は、そのフレームワークに従う(references/frameworks.md);以下のクラフトは同じ。
ワークフロー
- 一つのこと - 何であるか(「これで...ができます」)、覚えておくべき一つのこと、一人の視聴者が一つの現実的なタスクを実行し、一つの現実のデータがフックからペイオフへ移動する(
references/story.md)。 - 三つのストーリーライン - 言葉で表現された三つの異なるフィルムの候補。担当者が選択;未選択の場合は推奨を採用し、残り二つはそれぞれ1行で名前を付ける。
- SPEC.md(
<root>/reference/direction.md§4):すべての形容詞を数値に - 見た目、オブジェクト、モーション(役割別のイージング、ダンピングとしてのスプリング)、フレーム単位のショット、禁止デフォルト、QAフレーム。参考:search.py "<idea>" -d shot(Apple/Linearのローンチフィルムから測定した38ショットのタイミングとイージング)および studio-bar §3。 - ストーリーボード + シーム台帳 - ショットごとに1行(フレーム範囲、ヒーローの動き、読まれるテキストとその時間、サウンド、ハンドオフ)、カットごとに1行(時間、出口ベクトル、入口ベクトル、キャリア、テクニック)(
<root>/reference/choreography.md§5)。プラン内の不一致行はイージングではなく修正する。 - 構築
templates/film.html内:ブランドレイヤー(トークン)、実際の製品UIをDOMで再構築(発明不可、傾いたモックアップ不可)、シーンをネストタイムラインとして、search.py -d transitionからのトランジション、音楽がある場合はビートグリッドに基づく音楽優先のタイミング。 - チェックと確認 -
motion_lint.py film/ --mode video(FAILなし);motion.cjs check film.html --duration <s>(empty-openingなし:フレーム0は構成済み;hard-stopなし;デッドストレッチ > 3s なし)。motion.cjs strip film.html --at <beats and every cut ±0.2s>。<root>/reference/review.md+astudio-motion:motion-reviewfilm passes でレビュー。P0/P1を修正し、変更された部分のみ再レンダリング。 - レンダリングと納品 - マスター + 切り詰めバージョン(16:9、9:16のセーフエリア付き、1:1)、ポスターフレーム、キャプション(SRT)(音声がある場合)、サウンドは要求された場合のみミックス(
references/sound.md;それ以外は無音、サウンドは次のステップとして提案)、REVIEW.md:クリエイティブな判断、構築されなかったストーリーライン、測定 vs 目視確認のみの項目(ミックスは聞こえないことを明記)、最も弱いショット、保持された警告。
クラフトルール(生成的に見えるデフォルトは禁止 - <root>/reference/anti-slop.md films)
- 構成されたフレームで開始:フレーム0で既に世界と被写体の一部が見えていること、理想的には動きの途中 - 決して0.3秒の空の背景ではダメ(サムネイル、自動再生プレビュー、第一印象がすべてそこに表示される)。
- ゆっくり到着、きれいに退出:expo/quart-out 到着、退出は40-50%短く、1つのスムーズなモーション;最高速度で停止することは禁止(
hard-stop)。 - 役割に応じたイージング;コンテナのスプリングダンピングは0.7-0.85;バウンスや弾性は禁止;ショットごとに1つの動き、二次的な動きは50-70%の距離で100-200ms遅らせる。
- ショットのヒーローはフレームの40%以上を占める;テキストは短辺の2.6%以上;ホールドは0.5秒 + 1単語あたり0.3秒;配置されたタイトルは静止。
- 2-4秒ごとに新しい要素;3-5種類のトランジションと原因;シームの最大3分の1はハードカット;世界観がクロスフェードすることは禁止;静止時間はペイオフの前に0.3-0.75秒。
- カーソル(フレームの4-7%)は同じフレームで変化を引き起こす;コンテナはカットではなくモーフィング。
- エンドカードは最後の5-10%に:マークが実行された状態で表示、CTAは1.5-3秒保持。
- アセット:実際の製品、ライセンスされたストックフッテージ/写真(クレジット表記)またはコードで作成されたビジュアル - AI生成の動画/画像は禁止。
タイプ別ガイダンス(ローンチ、エクスプレイナー、データ、ソーシャル/縦型、ロゴスティング、チェンジログ、3D):
references/types.md。