2Dジェネラリスト
このスキルを使用して、Vox(Atlas、By Design、Earworm、Missing Chapter)スタイルやFlat Pack FXスタイルの解説モーショングラフィックスを、2D、2.5D、3Dでデザイン、アニメート、テクスチャ、コンポジットします。ユーザーのマシンに既にインストールされているツールを使用するか(不足している場合は無料ツールを推奨します)。
モードルーティング
| モード | 範囲(2D / 2.5D / 3D) | 主な参照先 |
|---|---|---|
audit | インストール済みの無料2D/3Dツールを確認し、オプションのダウンロードと比較する | references/2d-3d-toolchain-matrix.md |
design | 視覚的階層、非対称スケール、ブループリント美学、パレット | references/vox-psychology-and-design.md |
map | 2Dベクター/衛星マップ、2.5Dエンボス/押し出しレイヤー、3D地形とKMLルート | references/maps-and-geodata-2d-3d.md |
chart-timeline | 事前描画ルーラータイムライン、2D/3D棒/折れ線グラフ、ドットマトリックスリピーター、波形 | references/charts-timelines-and-data.md |
archival-collage | デュアルハイライター、新聞のズーム/フリッカー、破れた境界線、2.5Dパララックス、3Dスライドプロジェクター | references/archival-collage-and-camera.md |
ステップ1の前に、インテントブリーフを実行します(references/intent-brief.md):リクエストから目的、形式、主題、外観、制約事項を記入し、不足しているものについてのみ質問します(最大4つの質問、推奨デフォルト値付きの選択肢)。brief.mdを書き、最初の高コストなステップの前に安価なプレビューを表示します。納品前に結果をブリーフと照合します。ユーザーの目標を外れた作品は失敗作です。
エンドツーエンドワークフロー
- ツールチェーンの監査(
audit)uv run --no-project python scripts/check_vox_toolchain.pyを実行して、インストール済みの2D/3Dツール(Blender、DaVinci Resolve / Fusion、Remotion + Three.js/SVG、FFmpeg)を検出し、不足しているオプションツール(QGIS、Inkscape、Krita)の1行インストールコマンド(winget)をリストアップします。
- 階層と表面の確立(
design)- 非対称スケールテンションを適用します(1つの支配的なアンカー、十分なオフホワイト
#F4F1EAまたはブループリントスレート#1B222Cのネガティブスペース、接続パス)。アニメーション化する前にLook-Away / Look-Backテストを実行します。 - 視覚的権威の3つの柱を構築します:表面(暖かい紙繊維 + 静的グレイン)、インク(
Multiply/Color Burnにじみ + ルママット + エッジの粗面化 +0.5–1.5pxの柔らかさ)、生命(グラフィカル要素は8–12 fps、背景テクスチャのボイルは2–4 fpsでPosterize Time)。
- 非対称スケールテンションを適用します(1つの支配的なアンカー、十分なオフホワイト
- プロシージャルアセットの生成(
scripts/generate_vox_assets.py)uv run --no-project python scripts/generate_vox_assets.pyを実行して、SVGフィルター定義(デュアルパス破れた紙の境界線、インクのにじみ、交差45°ハーフトーンルママット、紙のグレイン)とプロポーショナルルーラータイムラインレイアウトを生成します。
- 選択した2D / 2.5D / 3Dエンジンでシーンを構築(
map、chart-timeline、archival-collage)- コード / Web 2D & 3D: Remotion + SVGフィルター(
<feTurbulence>+<feDisplacementMap>)+ Three.js / React Three Fiber(35mmカメラ、被写界深度、Zプレーン)。 - ノードコンポジター2D & 2.5D: DaVinci Resolve Fusion(
FastNoise+Displace、sRenderリピーター、Paintトリムストローク、ImagePlane3D+Camera3D)。 - フル3D & 2D-in-3D: Blender 5.2(
Noise/Buildモディファイアを使用したGrease Pencilストローク、Geometry Nodesプロポーショナルタイムライン/棒グラフ、3D変位地形マップ、Cycles/EEVEE35mm被写界深度 + コンポジターレンズ/グレインパス)。
- コード / Web 2D & 3D: Remotion + SVGフィルター(
- 仕上げパスの適用と検証(
scripts/validate_vox_recipe.py)- 微妙な35mm被写界深度(またはフェザリングされた調整レイヤーフォーカスマスク)、放射状色収差、ビネット、Posterize Timeのリズムを追加します。
uv run --no-project python scripts/validate_vox_recipe.py --spec <recipe.json>を実行して、すべてのVoxビジュアル法則への準拠を検証します。
Blender(ジオメトリノード、シェーダー、リギング、ウェイトペイント、NLA、bpy)で行うステップについては、正確なノードと現在の5.xの名称を確認するためにuse-3d-softwareスキルをロードします。編集、キャプション、リタイム、トランジション、グレーディング、書き出し(Resolve、CapCut、Premiere、Kdenlive、FFmpeg)については、edit-videoをロードします。
個別のステップ用のクラフトスキル:draw-and-paint-art(Kritaでの描画、フィギュア、ペインティング)、paint-stylized-backgrounds(背景、ペイントオーバー、パララックス、動く葉と水)、animate-characters(キャラクターモーション、フレームバイフレーム、カットアウト)、rig-characters(カットアウトパペット)。
コアVoxビジュアル法則(譲れないもの)
- 無機質なデジタルキャンバス禁止: 純粋な
#FFFFFFや#000000の背景は決して使用しないでください。暖かい紙(#F4F1EA)、アーカイバルクリーム(#EFECE6)、またはブループリントスレート(#1B222C)を静的グレインと共に使用します。 - デュアルパス破れた紙の境界線: 込み入った背景上の切り抜きには、オフホワイトの紙の境界線(
Simple Choker/ morphological dilate)を2パスで粗面化します:パス1(Spiky/ 大きなスケールのハサミカット)+ パス2(Roughen/ 細かい紙繊維エッジ)+ 切り抜きにクリップされたHard Light布/紙テクスチャ。 - 印刷引用ハーフトーン: 交差した
+45°/-45°のハーフトーンドットルママット(ハイライトマットとシャドウマットに分割)を、知覚の閾値(8%–18%の不透明度)まで絞り込み、モダンなニュースの切り抜きが印刷され、ファクトチェックされたように見えるようにします。 - 事前描画ルーラータイムラインの法則: 等間隔でない時間間隔を決して等間隔に配置しないでください。最初に等間隔のルーラー/ティックスケールを描き、次に真の比例座標にイベントを配置し、クラスターとギャップがストーリーを伝えるようにします。
- デュアルハイライターの法則:
- デジタル/スクリーンテキスト: クリーンな
#FFE600ストローク、Multiplyブレンドモード、ストロークの高さは文字のキャップハイトよりも短く(約75〜85%)、ハイライトされていないテキストは約30%の不透明度に暗くします。 - アーカイバル/書籍ページ: 3パスの粗面化エッジ(水平マーカーの筋 + 境界線 + 粗いエッジ)+
Bulge乱流変位。3D空間に配置し、35mmカメラと浅い被写界深度で行を追跡します。
- デジタル/スクリーンテキスト: クリーンな
- カメラスピードグラフ: すべての2D/3Dカメラのパンとズームは、
35mm焦点距離相当、Nullコントローラーの親子付け、および連続ベジェベルカーブスピードグラフ(徐々にイーズイン -> 高速スナップ -> ゆっくり落ち着く)を使用し、リニアキーフレームは決して使用しないでください。
スクリプトと参照
- ツールチェーン監査:
scripts/check_vox_toolchain.py - アセット&SVGフィルタージェネレーター:
scripts/generate_vox_assets.py - レシピバリデーター:
scripts/validate_vox_recipe.py - ユニットテスト:
scripts/test_vox_skill.py