scenario-textures について
3D 用のタイル可能なテクスチャやマテリアルを作るための Scenario ワークフロースキルです。モデルの検索、タイルを保つアップスケール、PBR マップ処理を扱います。
主な機能
- 01テキストや画像からシームレスなテクスチャを生成
- 02タイルを保ってアップスケール
- 03平面画像を表面マテリアルに変換
- 04PBR マップ抽出やメッシュのテクスチャ設定
- 05生成前にモデルのスキーマを確認
活用シーン
- 01ゲーム用の反復タイル可能なレンガを作成
- 02継ぎ目を崩さずテクスチャを拡大
- 03画像から法線・粗さマップを作成
- 043D メッシュに PBR マテリアルを適用
MCP 対応
Scenario MCP ワークフローでモデルを検索し、パラメーターを確認してテクスチャを生成・ダウンロードする手順を案内します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-texturesインストール後、Claude Code で/scenario-texturesを入力して読み込まれたか確認します。
詳細
シナリオのテクスチャとマテリアルのワークフロー
概要
Scenario は、テキストまたは参照画像からシームレスでタイル可能なテクスチャを生成し、タイルを崩さずにアップスケールし、3Dメッシュにテクスチャを適用する際にPBRマテリアルを適用します。チームごとに利用できるモデルは異なり、随時変わるため、IDをハードコーディングせず、必ず実行時にモデルを検出してください。機能を探す場合は、ユーザー自身の言葉で必要な内容を指定してrecommendを使い、名前がわかっているメンバーを探す場合はsearchを使います。
接続方法と基本的な生成手順については、このリポジトリのscenarioスキルを参照してください。ここで名前が挙がっているスキルが利用可能なスキルにない場合は、ユーザーにインストールを依頼してください
(npx skills add scenario-labs/skills --skill <name>)。無人で進める場合は、ツールのスキーマを確認して作業を続け、スキルが見つからないことを明示してください。
クイックリファレンス
| 手順 | ツール | 備考 |
|---|---|---|
| テクスチャモデルを探す | recommend with the need in the user's own words | capabilityはtxt2imgまたはimg2imgにし、テクスチャの内容をpromptに指定します(カタログではテクスチャモデルにtxt2img_texture、img2img_textureのタグが付いています)。名前で探す場合はsearchを使います |
| 入力を確認する | model_schema_get | model_runの前に必ず呼び出します |
| 生成する | model_run | dry_run=trueで、最初にバッチの料金を確認できます |
| 待機する | jobs_wait | pending_job_idsを指定して再度呼び出します |
| 表示して保存する | asset_display、続けてasset_download | エンジンにインポートする場合はダウンロードします |
| アップスケールする | テクスチャアップスケーラーでmodel_run | 2倍から8倍まで対応し、タイル状態は維持されます |
執筆時にライブ検索で確認できた内容(再確認用の例であり、固定値ではありません)
- シームレスな生成:
model_scenario-texture(Scenario Texture)は、プロンプト(タイル化可能であることを示すヒントが自動的に追加されます)、16 の倍数で 16〜3840 のwidth/height、quality、seed、スタイル指定用の最大 10 個のreferenceImages、およびデフォルトでオフのeraseSeamを受け付けます。overlap/featherRadiusを指定すると、両方のシーム軸をインペイントで除去できます。 - テーマ別テクスチャ LoRA(Flux.1 LoRA、タグ
sc:texture):床、大理石、コンクリート、石壁、木の板、レンガ、テラコッタ、手描き、サイバネティック、リアルなテクスチャがあります。専用のテクスチャ機能(txt2img_texture、img2img_texture、controlnet_texture)を提供します。 - タイリング対応のアップスケーリング:
model_sc-upscale-flux-texture(Scenario Texture Upscale)は、upscaleFactor2(最小値)〜8 と、スキーマで公開されているstrengthおよび controlnet のスライダーを使うプリセットprecise/balanced/creativeを受け付けます。再レンダリングが行われるため、色調がわずかに変化する場合があります。変化を最小限に抑えるには、strengthを低くしてpreciseを使い、公開前に結果をソースと比較してください。 - マテリアルの外観への変換:
model_sc-texture-converter(Texture Converter)は、raised、shiny、polished、angularのスライダーとinvertのレリーフ切り替えを使って、平面画像を表面マテリアルに変換します。 - PBR マップを取得する方法は 2 種類あります。平面テクスチャの場合、2D マップ抽出ツール(
recommend、capability="img2img"を使用し、平面テクスチャからのマップ抽出についてユーザーが使った言葉を指定します。名前がすでにわかっている場合に限りsearchを使用します)は、1 回の img2img 呼び出しですべてのマップを返します。model_patina(PATINA Image to Maps)は、ベースカラー、ノーマル、ラフネス、メタリック、ハイトをそれぞれ個別の画像アセットとして出力します。各アセットのmetadata.typeには名前(texture-albedo、texture-normal、texture-smoothness、texture-metallic、texture-height)が含まれ、指定した順序で返されます。ラフネスのリクエストは smoothness として返されるため、接続する前に規約を確認してください。model_patina-materialは、プロンプトから PBR マテリアルを直接タイル化します。メッシュの場合は、代わりに 3D テクスチャリングモデルと画像から 3D へのモデルがマップを出力します(Tripo 3.0 Texturing、Tencent Texture Edit、Meshy 7 Retexture)。model_schema_getで確認できる PBR 切り替えを有効にしてください。メッシュ全体のリテクスチャリングは 3D から 3D へのパイプラインです。scenario-3dと、Meshy のリテクスチャリング仕様についてはscenario-meshyを参照してください。
実例:シームレスなレンガを生成してからアップスケールする
- ユーザー自身の言葉を
promptとして指定してrecommendを呼び出し(「シームレスにタイル化できる風化したレンガ」)、シームレス生成モデル(例:model_scenario-texture)を選びます。 model_schema_getにmodel_id="model_scenario-texture"を指定します。- 次の内容で
model_runを呼び出します。parameters={"prompt": "weathered red brick wall, moss in the mortar joints", "width": 1024, "height": 1024, "eraseSeam": true, "seed": 42}。 テーマ別パックを作成する場合は、まずdry_run=trueでバッチの料金を確認してから、wait=falseで実行を開始します。 jobs_waitにjob_ids=["job_..."](model_runが返した ID)を指定します。タイムアウトが約180秒でもエラーではありません。返されたpending_job_idsをjob_idsに指定して再度呼び出し、model_runを再実行しないでください。その後、出力アセットに対してasset_displayを呼び出します。- 反復するには、同じ
seedのままプロンプトを編集して再実行するか、referenceImages=["asset_..."]を追加してスタイルを固定します。 - アップスケールするには、
capability="img2img"を指定し、ユーザー自身の言葉をpromptとして指定して(「タイルの繰り返しを崩さずにこのテクスチャをアップスケール」)、タイル状の維持を重視して候補を選びます(汎用アップスケーラーでは繰り返しが崩れます)。そのモデルに対してmodel_schema_getを呼び出し、スキーマで指定された画像、倍率、プリセットのフィールドを使ってmodel_runを呼び出します(執筆時点では、テクスチャ用アップスケーラーはupscaleFactor: 2とpreset: "precise"を受け付けていました)。倍率は意図的に上げてください。料金は出力ピクセル数に応じて変わります。また、この工程は入力アセットが存在して初めてdry_runで料金を確認できるため、2段階の処理全体を事前に見積もることはできません。 - タイル化を無料で検証します。保存した PNG の左端の列と右端の列、および上端の行と下端の行の差が、隣接する内部の列同士の差を超えないことを確認します。また、2×2でタイルを繰り返した検証シートを作成すると、継ぎ目をすぐに確認できます。
- 最終アセットに対して
asset_downloadを呼び出し、エンジンにインポートします。
よくある間違い
model_schema_getを省略する:パラメーター名はモデルごとに異なり、多くのモデルは空のペイロードを拒否します。- タイル化可能なテクスチャに汎用アップスケーラーを使う:継ぎ目の繰り返しが崩れます。タイル化を維持するテクスチャ専用アップスケーラーを使ってください。
- いきなり巨大なサイズで生成する:まず1024前後で生成し、その後2倍から8倍にアップスケールします。生成サイズの上限は3840です。
- PBR マップを得るためだけにフラットなテクスチャを3Dテクスチャリングモデルに通す:2Dマップ抽出ツールなら、img2img の1回の呼び出しで処理できます。3Dモデルはメッシュ用です。
- エンジンのサイズ要件を無視する:エンジンでは、正方形かつ2の累乗のテクスチャが求められます(シームレス生成モデルのデフォルトは1024x1024、1:1です)。生成モデルは16の倍数なら任意のサイズを受け付けるため、1024または2048を意図的に選んでください。
- モデル ID をハードコードする:利用可能なモデルはチームごとに異なります。セッションごとに再検出してください。
コメント
Markdown 対応