Community画像github.com

minhdv-zz/tb-hoidz

既存のBlenderゲームモデルに、コンセプト画像からパレットストライプ勾配UVマッピングを適用します。ユーザーが明示的に /tb-hoidz、$tb-hoidz、または tb-hoidz を呼び出した場合のみ動作します。

tb-hoidz とは?

このスキルは、Blender用AIエージェント(Claude Code等)向けに設計された、コンセプト画像を基にしたパレットストリップ勾配UVマッピングツールです。ユーザーが明示的に /tb-hoidz を呼び出した場合のみ起動し、他のメンバーのテクスチャリングスキルと競合しません。 主な機能は、既存のBlenderゲームモデルに対し、コンセプト画像から抽出したカラーパレットを使用して、ストライプ状の勾配UVマッピングを生成します。Blender MCPと専用スクリプト `scripts/gm_core.py` に接続して動作し、マッピングアルゴリズムを維持します。 このスキルは、ゾーンベースのマッピングを採用し、各面をゾーンに割り当て、ゾーンごとに1つのストリップを生成します。UVはゾーン中心に集約され、2px以上のU/Vマージンが確保されます。ベースマッピング後はユーザーの承認を待ち、その後詳細マッピングに進みます。 品質保証とキャッシュ管理も組み込まれており、シーンローカルにデータを保持し、効率的な実行を実現します。最小限のチャットナレーションで動作し、必要な場合のみ進捗を報告します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/minhdv-zz/team-skills/tree/HEAD/plugins/tb-hoidz/skills/tb-hoidz

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

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

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

ドキュメント

Blender用勾配マッピング

ワークフローリビジョン15。ユーザーの言語で応答します。接続された Blender MCP と管理された scripts/gm_core.py(バージョン8以降)を使用し、そのマッピングアルゴリズムを維持します。

このフェーズに必要なものだけを読み込む

ベースマッピングでは、利用可能なコンテキストごとに1回、references/base-api.md と references/reference-quality.md を読み込みます。APIを発見するためにヘルパーソースやワークフロー全体を読み込まないでください。文書化されていない引数については、対象となるシグネチャ/ドキュメント文字列を調査し、必要な場合のみ関連するソース関数を読み込みます。

references/workflow.md は、プリセット、オプションのプランキー、QAの説明、履歴的な例の拡張リファレンスです。必要に応じて関連セクションを読み込みます。SKILL_DIR はこのエントリポイントのフォルダです。references/detail.md はベース承認後にのみ読み込みます。圧縮後に変更または欠落していない限り、既にコンテキスト内にあるドキュメントを再利用します。

スコープとセーフガード

  • /tb-hoidz は、準備、計画、ゾーン、ベースマッピング、比較、QAを許可します。簡潔な計画とパレット割り当ての通知を最初の短い更新にまとめ、その後は中間確認なしで続行します。以下のコミュニケーションルールに従います。詳細マッピングの前に、完了したベースに対してユーザーの承認を待ちます。 ジオメトリの追加には、ユーザーによる詳細、カット方法、三角形コストの選択が必要です。既存の承認は維持されます。
  • 提供されたコンセプトとターゲットを再利用します。それ以外の場合は、明確であれば選択されたメッシュを使用します。不足している入力のみを質問します。コンセプトを発明したり、アセットを置き換えたり、デフォルトで重複をインポートしたりしないでください。
  • 実行開始時に bpy.data.filepath を作業保存先として記録します。ライブオブジェクトを編集します。ファイルが変更された場合は新しいコンテキストが開始され、未保存のファイルの場合はユーザーが最初の保存場所を指定する必要があります。
  • すべての面はゾーンに属します。ゾーンごとに1つのストリップ、Uはその中心に集約され、少なくとも2ピクセルのU/Vマージンが必要です。デフォルトでは高さのみではなく、トップライト法線と高さを組み合わせます。適切なハード/スムーズ法線とマテリアル応答を使用します。ベースマッピング中はジオメトリを維持します。
  • 計画、プライベートメンバーシップ/証拠、ベースライントライアングル、シグネチャ、QA、例外をシーンローカルに保存します。永続的なJSON、画像エクスポート、ベンチマークレポートはオプションであり、デフォルトの成果物ではありません。save_plan はデフォルトでスキルフォルダに保存されます。代わりに明示的な書き込み可能なストレージを使用します。

コミュニケーションとプレビュー

デフォルトでは最小限のチャットナレーションで動作します。許可された作業と内部チェックを実行し、完了した結果を報告します。計画、意図したパレット割り当て、既知のフォールバックを1つの短い最初の更新にまとめます。作業中は、ルーチン的なマイルストーンメッセージ、カラーテーブル、QAダンプ、繰り返しのプレビュー説明を避けます。より優先度の高いランタイム命令で必要とされる場合、またはブロッカー、必要なユーザー判断、マテリアル範囲の変更が発生した場合にのみ、簡潔な進捗更新を提供します。

完全な証拠、候補、レポートはシーンローカルに保持し、決定にはコンパクトなツールサマリーを返します。ツールが明示的にサポートしている場合は、内部ビジュアル検査を優先します。ツールが自動的にチャットに画像を表示する場合は、その制限を受け入れ、必要なキャプチャのみを使用し、それらの画像を解説や最終応答に再度埋め込まないでください。隠しプレビューモードを発明したり、チャットを静かに保つために必要なビジュアルQAをスキップしたりしないでください。デフォルトでは1つのマッピングされた概要を使用し、追加のキャプチャは不確実性を解決するか、意味のある修正を検証するためにのみ使用します。

保存されたファイルとダーティ状態、QA結果、マテリアルの制限、保留中の詳細をカバーする1つの簡潔なレポートで終了します。既存のチェックポイントでベース承認を求めます。保存または必要なチェックが失敗した場合は、実際の不完全な状態を報告します。最小限のナレーションだけでは、速度やトークン節約にはなりません。

ベースマッピング

  1. 接続と準備。 get_addon_status を1回呼び出し、コンパクトなシーン情報(作業パス、メッシュ、ワールド境界、面/トライアングル数、マテリアル)を取得します。独立した読み取りはバッチで行います。このスキルの絶対スクリプトディレクトリから、それらを使用する各Blender呼び出しでヘルパーをインポートします。最初のインポート時には、そのディレクトリを sys.path の先頭に配置し、他のパスからgmモジュールを排除し、gm_core をリロードし、その検証済みパス/バージョンを1回出力します(base-api.md)。以降の呼び出しでは、リロードせずにインポートします。ensure_palette を実行します。フォールバック、再リンク、マテリアル作成を最終レポートに含めます。ただし、今すぐユーザーの判断が必要な場合は除きます。異なるチームパレットのスキルコピーを更新する前に質問します。最初の更新では、prepare_model(..., assign_material=True) の前にパレット割り当てをカバーします。別のルーチン発表は避けます。
  2. マッピング前にマテリアルを特定します。 実用的な範囲で1つの初期発見バッチで、ターゲットオブジェクトのパーツ、境界、元のUVグループ、ワールド空間法線サマリーを収集します。メンバーシップと証拠はプライベートに保存し、決定に関連する部分のみを要約します。曖昧または混合されたパーツと代表的なファミリーには、より深いPCA/深度/隣接チェックに焦点を当て、その後検証済みの証拠を再利用します。未解決の境界については、追加の発見が許可されます。幾何学的な手がかりとコンセプトの位置を組み合わせます。発見は意味的な割り当てに先行します。不確かな支配的なパーツは、割り当てる前に監査します。薄いバウンディングボックスは、広いシートまたは斜めのロープを表す場合があります。主な寸法と表面の広がり、および意味的な位置を検査します。形状のヒントは証拠であり、マテリアルラベルではありません。混合シェルにUVを上書きする前に、surface_groups(..., uv_seams=True) をキャプチャします。ルールを繰り返しに再利用する前に、1つの代表的なものと一致する構造を検証します。ベース時に、ペイン/リム、キャビティ/サーフェス、ラップ/マストの境界を解決します。すべてのパーツまたは構造的に検証されたファミリーに対して、reference-quality.mdの小さなパーツマテリアルゲートを完了します。サイズが小さいからといってパーツが免除されるわけではありません。不確かな割り当ては、マッピング前に集中的な発見が必要です。
  3. 計画と割り当て。 reference-quality.md を使用して、測定または明示的に推定されたコンセプトカラー、マテリアル、バリュー階層を取得します。suggest_zone_colors でフルセーフV検索をバッチ実行します。2〜3の候補と選択された色をプライベートに保持し、コンパクトなツールサマリーと判断が必要な問題のみを出力します。検証済みのマテリアル監査からゾーンを割り当て、マッピング前に未割り当ての面と不確かな境界をチェックします。カバレッジを通過させるために包括的なデフォルトマテリアルを使用しないでください。一時的な割り当ては、チェックされるまで明示的に不確かなままにします。検証済みのメンバーシップは維持します。欠落しているエンブレム/プランクは将来の詳細としてリストします。
  4. マッピングと比較。 計画を適用し、show_texture(light="FLAT") を実行します。色を検査する前に、パレットとプレビューマテリアルを検証します。初期の全面ピンクのスクリーンショットは避けます。マップ前の画像は、特定の幾何学的な質問に答えるためのものでなければなりません。検証済みの単色ソリッドまたは一時的なゾーンカラーを使用します。マッピング後、1つの比較可能な512〜640ピクセルの概要を検査します。監査されたファミリーの意味的な境界レビューを完了します。これには、概要で見えない、または読み取れない小さなフィッティングやインターフェースが含まれます。必要な場合にのみ、対象を絞ったビューを使用します。影響を受けるオブジェクト/ゾーンのみを修正し、隣接をチェックします。オプションの実際のライトフィッティングは、具体的な未解決のミスマッチのためだけであり、デフォルトのアセット全体のパスではありません。別のキャプチャは、問題を解決するか、意味のある修正を検証する必要があります。
  5. 最終QAと保存。 最終QAの前に、計画された色と境界の修正を完了します。マッピング中は、アセット全体の最終QAではなく、コンパクトなカバレッジ、境界、影響を受けるゾーンチェックを使用します。最後の変更後、すべてのターゲットに対して qa と qa_faces を1回実行します。QAによって促された修復は影響を受ける結果を無効にします。影響を受けるターゲットに対してオブジェクト全体のヘルパーを再実行し、共有依存関係の変更についてはすべてのユーザーに拡大します。古いQAを使用して保存しないでください。失敗を修正し、意図的な警告/例外を文書化します。カバレッジ、マージン、アクティブ/レンダーUV、実際のパレットシェーダーリンク、法線/ライト、変更されていないベーストポロジーを検証します。リファレンス比較とマテリアルゲート結果は別々に記録します。データQAは、正しいマテリアル割り当てや視覚的類似性を証明しません。不確かな割り当てが残っている間は、ベースを完全に検証済みとしてマークしないでください。本物のリファレンス/トポロジーの制限は明示的に記録します。一時的なプレビューを最終化し、パレットをパックし、テクスチャを表示したままにし、base-api.md でガード付き保存を実行します。保存されたパス/ダーティ状態、保留中の詳細を報告し、ベース承認を求めます。

キャッシュと出力の規律

  • キャッシュ再利用前に、依存バッチごとに state_signature + compare_state を1回実行します。シグネチャがない場合は未検証です。ジオメトリの変更はメンバーシップを無効にし、UVの変更は元のUV証拠を無効にします。共有の法線/パレット/マテリアル/トランスフォーム/ライトの変更はスコープを拡大します。承認された編集後はシグネチャを更新します。変更されていない1つのバッチ内の独立した読み取り間でシグネチャを繰り返さないでください。
  • 完全なパーツ、面メンバーシップ、パレットデータ、候補、QAをシーン内に保持します。デフォルトで最大12行の決定関連パーツ行と集計カウントを返します。名前付きの未解決領域またはユーザーリクエストの場合にのみ拡大します。完全なパレットマップ/ストリップカタログ、候補リスト、面/頂点カタログ、シーンキャッシュを出力しないでください。空の apply_plan ゾーンをフィルタリングし、マッピングされた面の合計と変更されたストリップを返します。生のヘルパーレポートは返しません。最終QA出力は、すべてのターゲットを失敗/問題カウントと実行可能な警告でカバーします。詳細な合格レポートはプライベートに保持します。
  • 1つのMCP結果表現を出力します。利用可能な場合は structuredContent、それ以外の場合はテキストコンテンツです。画像ブロックは別々に転送します。両方の重複表現または画像データを文字列化しないでください。
  • 独立した読み取りと互換性のあるオブジェクト操作をバッチ処理し、依存するチェック/編集はシーケンシャルに保ちます。変更されていないスクリーンショット、シーンダンプ、接続ポーリングは避けます。比較可能な測定なしにトークン/時間節約を主張しないでください。

実行効率

  • 各実行バッチでパレットマップを1回読み込みます。part_evidence を検証済みの面メンバーシップでキャッシュし、中心とサイズのためにPCAを個別に再計算しないでください。互換性のある読み取りと修正をバッチ処理し、決定をレビュー可能に保ちます。維持されたマッピングアルゴリズムを保存します。
  • キャプチャ前に、画像/シェーダーの有効性、シェーディング、ライト、フレーミングを一緒に確立します。概要から具体的なミスマッチを収集し、検証前に独立した修正をバッチ処理します。ローカル編集の場合、スコープ外のUV/ゾーンデータを保存して検証し、隣接境界をチェックします。共有依存関係のためにスコープを拡大します。
  • 軽量な実行メトリクスをシーンローカルに保存します。ターゲット/ベースラインの識別、ステージ秒数、実際のツールコール/キャプチャ数、最終QAステータス。time.perf_counter() を既存の発見、マッピング/修正、QA/保存作業の周囲で使用し、実際のツールコールをオーケストレーションでカウントします。測定のためだけに呼び出しを追加しないでください。利用できないメトリクスをマークし、Blender実行時間とエンドツーエンドの経過時間を区別します。ベンチマークは、同じコンセプト/モデル/初期状態で要求された場合のみ、品質と時間の両方を比較して実行します。出力バイト数をトークン節約と同一視しないでください。

保存とリカバリ

色/UV編集には、セッションのUndoとBlenderの既存のバックアップポリシーを使用します。個別のリカバリファイルはありません。作業ファイルの更新は許可されていますが、ファイルシステムの境界は依然として適用されます。許可された保存ルートを1回解決し、それを再利用します。許可されている場合は、接続されたBlenderツールを優先します。権限昇格が必要な場合は、QA後の具体的なガード付き保存に対してのみ要求します。サーバーソースを再発見したり、実行ごとに生のTCPを実装したりしないでください。承認されたフォールバックは、設定されたライブホスト/ポートを使用する必要があり、推測されたポートや拒否を回避するルートは使用しないでください。

ジオメトリ編集の前に、1つのリカバリコピーを兄弟 _backup/<working_stem>_gm_recovery.blend に copy=True で保存します。このスキルが所有するスロットのみを再利用します。そのリカバリ保存についてのみ、preferences.filepaths.save_version を記録し、一時的に0に設定し、finally で復元します。プリファレンスを永続化したり、作業保存ポリシーを変更したり、ユーザーのバックアップを削除したりしないでください。カット前に、承認とリカバリ保存の成功を確認します。失敗した場合はジオメトリ作業を停止します。

直接のbpy編集では is_dirty=False のままになる場合があります。成功した明示的な保存オペレーター、結果のファイルパスの一致、保存後のダーティチェックが必要です。失敗時にはロールバック状態を維持します。ビジュアルキャプチャが利用できない場合は、データQAを完了し、視覚的忠実度を未検証としてマークし、ライブレビューの領域を特定します。

関連スキル