Community画像github.com

フォトリアルアセット

参照写真からフォトリアルなBlenderアセットを、1つのビルダーと独立した写真批評家とともに構築します。必要に応じて、GodotまたはUnreal Engine用のベイク済みテクスチャ、LOD、コリジョンを準備します。フォトリアルな小道具、シーン、参照駆動型のBlenderでのリファインメントに使用します。ユーザーが要求した場合にのみ、新たなリファインメントラウンドを開始します。

フォトリアルアセット とは?

このスキルは、参照写真からフォトリアルな3DアセットをBlenderで生成するプロセス全体を自動化します。ユーザーは写真を提供するだけで、スキルがリサーチ、ビルド、批評、リファインメントの各ラウンドを管理します。独立した批評家エージェントが視覚的な違いを分析し、改善点を提案するため、高品質な結果が得られます。GodotやUnreal Engine向けのゲームレディ出力(ベイク済みテクスチャ、LOD、コリジョン)にも対応しており、プロップやシーンの制作に最適です。スキルはClaude Code、Cursor、Codexなどのエージェントプラットフォームで動作し、Blenderのインストールパスやプロジェクトの場所に依存しません。ワークフローはリサーチ、ビルド、レビュー、リファインメントの反復サイクルで構成され、各ラウンドで写真との比較と批評家のフィードバックに基づいてアセットを洗練させます。ユーザーが明示的に要求した場合のみ、新たなリファインメントラウンドが開始されます。

対応✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/choobi-doobi/skill-blender-photoreal-asset/tree/HEAD

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

フォトリアルアセット は何をしますか?

ブリーフを調査し、1回の単独ビルドを実行し、写真と比較して結果を報告します。 インストール済みのBlenderとホストが利用可能なエージェントツールを使用します。特定のエージェントプロバイダー、 モデル、Blenderのインストールパス、プロジェクトの場所は必要ありません。

セットアップ

  • {SKILL} をこのファイルが含まれるディレクトリに、{SCRIPTS} をその scripts/ ディレクトリに解決します。 {PROJECT} をユーザーが選択したプロジェクトディレクトリに解決します。コマンド内のパスは引用符で囲みます。 例ではフォワードスラッシュを使用しています。これはWindows、macOS、LinuxのPythonで受け入れられます。
  • Python 3と numpy および Pillow を使用します(python -m pip install -r "{SKILL}/requirements.txt")。 SciPyはオプションで、UVチェックを高速化します。Blenderは bpy スクリプトにバンドルされたPythonを使用します。
  • blender をPATHから見つけるか、PHOTOREAL_BLENDER に実行可能ファイルのフルパスを設定します。値に引用符は含めません。 ビルドスクリプトとハーネスには同じ実行可能ファイルを使用します。 バージョンを確認し、サポートされている bpy APIに合わせてビルドコードを適応させます。固定バージョンを想定しないでください。
  • Cyclesは利用可能なGPUバックエンドを選択し、フォールバックとしてCPUを使用します。PHOTOREAL_CYCLES_DEVICE を CPU、OPTIX、CUDA、HIP、METAL、ONEAPI のいずれかに設定すると、自動選択をオーバーライドできます。 レンダリングは順次実行します。オプションの外部 gpu_slot.py キューを PHOTOREAL_GPU_TOOLS を通じて提供できます。 これはバンドルされておらず、必須でもありません。
  • asset.json 内のパスは、そのファイルからの相対パスです。空の hdri はプロシージャルな昼間の空を使用します。 それ以外の場合は、既存のHDRIを指定します。ビルドが開始されたら、照明とカメラは固定します。
  • デフォルトの納品物は、画像とレビューレンダリングがパックされた編集可能な .blend ファイルです。ゲーム用のエクスポートは 要求された場合のみ追加し、templates/GAME_READY.md に従います。

プロジェクトレイアウト

<project>/
  asset.json          カメラ、照明、コレクションプレフィックス、批評家用参照
  BRIEF.md            リサーチブリーフと記入済みのRULES.mdテンプレート
  ref/SOURCES.md      写真の出典情報。参照画像は同梱されません
  research/           layout.py, blockout.py, blockout.blend, NOTES.md
  rounds/r01-build/   TASK.md, build.py, NOTES.md, tex/, renders/, final/, DONE.txt
  <Title>.md          ラウンド表とプロジェクトログ

ユーザーが提供する場合は、既存のアセットライブラリを使用します。外部画像とテクスチャのソースURLとライセンスを記録します。 不明なライセンスは不明のままにし、所有権を創作したり、参照写真を納品物とともに再配布したりしないでください。

1. リサーチ

  1. templates/asset.json をプロジェクトにコピーし、被写体、 collection_prefix、空、地面を適応させます。ヒーロー、サイド/フロント、トップスリークォーター、最も難しい部分のクローズアップビューをフレーミングします。 批評家のために render_as、photo_kind、scope_note を設定します。
  2. templates/TASK_research.md に記入します。{ASSET}、{PROJECT}、{PREFIX}、 {SUBJECT_PLURAL}、{SKILL}、{SCRIPTS} を置き換えます。research/TASK.md として保存します。 ホストのエージェントツールを通じて1人のリサーチャーを実行するか、直接リサーチを実行します。
  3. 出典情報付きの参照写真、BRIEF.md、パーツごとに1つのゾーンとオーナーコレクションを持つ research/layout.py、 ブロックアウト、および asset.json 内の owner_refs / overall_refs を納品します。
  4. ホストの画像ビューアでブロックアウトレンダリングを検査します。各カメラが被写体をフレーミングするまで調整し、ロックします。

提供されたデザインシートの場合、変更せずに ref/ にコピーし、提供された出典情報(指定がない場合は不明)を記録し、詳細なクロップを作成します。 そのビューを審査対象のカメラに使用します。写真として合格することが目標ではなく、スタイライズされたデザインに合わせることが目標の場合は critic_goal を設定します。 タスクの文言と追加の納品物をそれに応じて調整します。

2. ビルド

  1. templates/TASK_build.md から rounds/r01-build/TASK.md を作成します。 {ROUND}、{ASSET}、{PROJECT}、{ROUND_DIR}、{FILE}、{SCRIPTS} を記入します。
  2. Blender専用アセットの場合は {GAME_READY} を空のままにします。それ以外の場合は、記入済みの templates/GAME_READY.md を挿入し、Godot、Unreal Engine、またはその両方を選択します。
  3. 1人のビルダーにタスクを渡します。ユーザーが別のモデルを要求しない限り、現在のモデルを使用します。 ホストがセッション識別子を公開している場合は、それを保持します。1人のビルダーがジオメトリを所有します。 独立した批評家はそれをレビューするだけです。

3. 各ラウンドのレビュー

  1. 最終シーンをレンダリングします。
    python "{SCRIPTS}/run.py" --asset "{PROJECT}/asset.json" --parts "{ROUND_DIR}/final/{FILE}.blend" --out "{ROUND_DIR}/final/renders"
    
  2. NOTES.md と最新の critique.md を読みます。難しい部分のフル解像度クロップを写真と並べて検査します。 必要に応じて明るくしたクロップも含めます。重大度カウントはノイズが多いです。実際の視覚的な違いを使用して進捗を判断します。
  3. 前のラウンドが存在する場合は、それと比較します。
    python "{SCRIPTS}/compare_rounds.py" --asset "{PROJECT}/asset.json" --rounds <前のラウンド> <現在のラウンド> --focus <ゾーンID> --refs "<写真>:x0,y0,x1,y1" --out "{PROJECT}/compare_rounds"
    
    結果の _all.jpg と _focus.jpg シートを検査します。compare_rounds.py --help で期待されるラウンドパスを使用します。
  4. ゲームエクスポートの場合、GAME_READY.md でターゲット固有の検証を実行します。 GodotのGLBチェッカーで検証されたものとしてUnrealインポートを説明しないでください。
  5. サポートされているトランスクリプトが利用可能な場合、オプションで以下を実行します。
    python "{SCRIPTS}/audit_round.py" "{ROUND_DIR}" --root "{PROJECT}"
    
    この監査はAntigravityとClaude Codeのログを理解しますが、すべてのホストを理解するわけではありません。--session でAntigravity会話を指定し、--allow で追加の許可ツールディレクトリを指定します。 そのファイルパススキャンはWindowsドライブパスを認識します。他のパススタイルは個別にレビューします。 ログルートは PHOTOREAL_ANTIGRAVITY_LOGS と PHOTOREAL_CLAUDE_LOGS でオーバーライドできます。
  6. ラウンドとレポート画像、改善点、後退点、検証結果、1つの推奨事項を記録します。コストは測定された場合のみ報告します。 要求されたラウンドで停止します。ユーザーが要求した場合のみ、新しいリファインメントを開始します。 その宛先とアクションが要求された場合にのみ、外部ライブラリにコピーまたは取り込みます。

4. リクエストに応じたリファインメント

  1. 指定されたパーツのより良い写真を関連するビュー(着席、空、横、審査カメラのアングル)から入手します。ref/SOURCES.md に出典情報を記録します。
  2. 最も強力な参照をオーナーの owner_refs リストの先頭に配置します。各グループは最大6つまでです。
  3. 前のビルドスクリプト、tex/、final/{FILE}.blend を新しい rounds/rNN-<focus>/ フォルダにコピーします。 そのノートを NOTES_<previous>.md として、最後のチェックを renders/<previous>_check/ として、最終レンダリングを renders/<previous>_final/ として保存します。
  4. templates/TASK_refine.md に記入します。パーツ、ゾーンID、新しい参照を含めます。 変更をそれらのパーツに限定します。ただし、他の場所の重大度3の欠陥は除きます。 写真が矛盾する位置や角度(接続されたパーツを含む)に勝つというルールを維持します。
  5. 1人のビルダーを実行し、上記のようにレビューし、前回と今回の結果を写真と並べて表示します。

エージェントの引き継ぎと独立した批評

ツール名やモデルのエイリアスを想定せずに、ホストのネイティブエージェントインターフェースを使用します。 リサーチャーまたはビルダーに作業ディレクトリと完全なタスクファイルを渡します。書き込みは割り当てられたプロジェクトまたはラウンドディレクトリ内に保持します。 タスクは DONE.txt を書き込んで終了します。 ビルダーの委任が利用できない場合は、同じタスク境界を維持しながら直接ビルドします。

ルール11の批評家はビルダーから独立している必要があります。photo_check.py はプロンプトと critic_jobs.json マニフェストを準備します。 各プロンプトを新しいレビューアに送信します。レビューアは画像/ファイル読み取りのみが可能で、ネットワークや編集ツールは使用できません。 JSON応答をマニフェストの response_file に保存し、マージします。ホストがサポートする場合のみ、批評家を並行して実行します。critic.parallel を尊重します。 プロンプトが画像/ファイル読み取りを参照する場所では、ホストの画像ビューアを使用します。

独立したサブエージェントが利用できない場合、--runner claude を使用して、インストール済みで認証済みのClaude Code CLIを使用できます。 それ以外の場合は、レンダリングと準備されたレビュージョブを納品し、独立した批評は不完全として報告します。 ビルダー自身のレビューを代用し、それを独立したものと呼ぶことはしないでください。

チェック

スクリプト目的
run.py / render.pyロックされたCyclesシーンでプレフィックスに一致するコレクションをレンダリング。カメラPNGと sheet.jpg を書き込みます。
photo_check.pyレイアウトゾーンをクロップし、独立した批評家ジョブを準備し、JSON応答を critique.md にマージします。--from でレンダリングを再利用。--groups でオーナーを選択。
game_check.py / game_check_bl.pyGodotのLODメッシュ、UV、凸コリジョン、埋め込みGLBテクスチャを検証。LODターンテーブルを生成します。Unreal検証については GAME_READY.md を参照。
compare_rounds.pyラウンド間の比較と、参照行を含むフォーカスクロップの比較。
audit_round.pyオプションで、サポートされているトランスクリプトを検査し、ファイルアクセス、兄弟ラウンド、Web呼び出し、測定されたトークン使用量を確認します。

レビューの原則

  • 弱点部分のより良い写真は、通常、ブリーフにルールを追加するよりも効果的です。
  • 各リファインメントを前のラウンドと比較します。修正が以前の改善を消してしまうことがあります。
  • プロポーションの不満は、ジオメトリを変更する前にスケール一致のオーバーレイで確認します。
  • 暗い空洞には、目に見えるリップハイライト、壁の厚さ、内部の減衰が必要です。明るくするのは検査のみを目的としています。審査用の照明は固定したままにします。ハイキー画像をクリッピングする場合は明るくするのをスキップします。
  • 批評はラウンド内の修復リストとして使用し、ラウンド間の数値スコアとしては使用しません。

関連スキル