ComfyUIにおけるCHORDモデルを用いたテクスチャードからPBRのオーサリング
このワークフローは、短いテキストプロンプトをシームレスなテクスチャに変換し、そのテクスチャをCHORDモデルを使用して完全なPBRマテリアルマップに変換します。マテリアルアーティスト、環境チーム、テクニカルアーティスト向けに構築されており、タイル化可能なテクスチャとともにベースカラー、ノーマル、ラフネス、メタルネス、さらに変位対応のアセット用の追加の高さマップを生成します。
グラフは、CHORDモデルの背後にある生成と推定の2段階のアイデアに従います。まずタイル化可能なテクスチャを合成し、それをリアルタイムエンジンおよびDCCツールに適したSVBRDFチャネルに分解します。生成をスキップし、参照テクスチャを直接推定段階に供給することもできます。
Comfyui CHORDモデルワークフローの主要モデル
- Ubisoft La Forge CHORD v1。単一のテクスチャ画像からベースカラー、ノーマル、ラフネス、メタルネスを予測する監督付きSVBRDF推定。チェックポイント: Ubisoft/ubisoft-laforge-chord。ComfyUIカスタムノード: ubisoft/ComfyUI-Chord。
- Comfy-Org z_image_turbo UNet。プロンプトからタイル化可能なテクスチャを合成するために使用される高速拡散バックボーン。チェックポイントとパック: Comfy-Org/z_image_turbo。
- z_image_turboとパッケージ化されたテキストエンコーダー (Qwen 3 4B)。ジェネレーター用にプロンプトをCLIP互換のコンディショニングとしてエンコードします。上記と同じモデルパック内で提供されます。
- z_image_turboパックからのオートエンコーダーVAE。サンプラーによって生成された潜在変数をRGBテクスチャ画像にデコードします。Comfy-Org/z_image_turboに含まれています。
Comfyui CHORDモデルワークフローの使用方法
このグラフは、エンドツーエンドまたは独立して実行できる2つのグループに編成されています。グループ1はテキストからタイル化可能なテクスチャを作成します。グループ2は、そのテクスチャまたは提供されたテクスチャからPBRマップを推定するためにCHORDモデルを実行します。
1. テクスチャ画像の生成
このグループは、プロンプトをシームレスでフラットライトのテクスチャに変換します。プロンプトはCLIPTextEncode (#4)によってエンコードされ、KSampler (#7)に送られ、ModelSamplingAuraFlow (#2)によって設定されたAuraFlowスケジューラでz_image_turbo UNetをサンプルします。EmptySD3LatentImage (#6)からの空の潜在変数が作業解像度とバッチを定義します。VAEDecode (#9)からデコードされた画像は参照テクスチャとして保存され、マテリアル推定のために下流に転送されます。素材のアイデンティティ、微細構造、タイル化の意図を呼びかけるプロンプトを記述し、例としてシームレスなタイル化や正投影のトップダウンなどのフレーズを含めます。
2. マテリアルマップの生成
このグループは、ChordLoadModel (#12)でCHORDモデルをロードし、ResizeAndPadImage (#11)で正方形キャンバスにテクスチャを準備します。ChordMaterialEstimation (#20)は、入力テクスチャから直接ベースカラー、ノーマル、ラフネス、メタルネスを予測します。また、ChordNormalToHeight (#18)を使用して予測されたノーマルを変換することにより、高さマップを生成します。これは変位やパララックスワークフローに価値があります。すでにテクスチャを持っている場合は、グループ1をバイパスしてここに供給します。フラットライトで焼き付けシャドウのない状態を維持すると、CHORDモデルの結果が最適になります。
Comfyui CHORDモデルワークフローの主要ノード
CLIPTextEncode (#4)
テクスチャジェネレーター用にテキストをコンディショニングにエンコードします。素材クラス、表面特性、タイル化の意図について具体的に記述してください。正投影、シームレス、グラウトライン、ポア、ファイバー、またはマイクロスクラッチなどの用語は、CHORDモデルが確実に分解できる構造を生成するのに役立ちます。
KSampler (#7)
テクスチャを作成する潜在拡散プロセスを駆動します。速度と精度をトレードオフし、サンプラーを切り替え、シードを通じてバリエーションを探索します。ConditioningZeroOut (#5)によって提供される空白のネガティブプロンプトがあります。抑制したいアーティファクトがある場合のみ、典型的なネガティブを追加してください。
ModelSamplingAuraFlow (#2)
z_image_turboでシャープで一貫したテクスチャ合成を実現するために、UNetにAuraFlowスタイルのスケジューリングを適用します。モデルにパックされている異なるサンプリング動作を試すときに、ここでスケジューラを変更します。
ChordMaterialEstimation (#20)
入力テクスチャからSVBRDFマップを推定するためにCHORDモデルを実行します。結果はプロダクション準備が整ったベースカラー、ノーマル、ラフネス、メタルネスです。最大限の精度を得るために、視点のない平らに均一に照らされた入力を使用してください。複雑な影やハイライトは、分解に偏りを生む可能性があります。
ChordNormalToHeight (#18)
CHORDが予測したノーマルを変位に適した高さマップに変換します。高さを相対的な表面信号として扱い、レンダラーで強度を校正して意図したスケールに一致させます。
EmptySD3LatentImage (#6)
テクスチャ合成のためのキャンバスサイズとバッチを設定します。下流のマテリアルターゲットに一致する正方形の解像度を選択し、生成を通じてこの解像度を一貫して保持し、予測可能なテクセル密度を実現します。
オプションの追加機能
- グループ2の
ResizeAndPadImage(#11)に直接参照画像を接続することで、生成されたテクスチャを自分のものに置き換えます。 - プロンプトに物理的に意味のある言葉を使用して、CHORDモデルが解釈できる構造を生成するようにジェネレーターを促します。例として、粒子の方向、フレークサイズ、織り密度、酸化したパッチなどがあります。
- CHORDモデルの出力にライティングを焼き込まないように、ソーステクスチャをニュートラルに保ち、AO、ハイライト、シャドウを除去します。
- エンジンでノーマルの向きを検証し、それに基づいて高さマップを判断する前に緑のチャネルを反転させる必要があるか確認してください。
- 個々のマップを確認した後、メタルネスとラフネスを結合チャネルにパックして、エンジンの規約に一致させます。
謝辞
このワークフローは以下の作品とリソースを実装し、構築しています。我々は、CHORD (Chain of Rendering Decomposition) モデルに対するUbisoft La Forgeの貢献とメンテナンスに感謝します。公式な詳細については、以下にリンクされた元のドキュメントおよびリポジトリを参照してください。
リソース
- Ubisoft La Forge/CHORD Model
- GitHub: ubisoft/ubisoft-laforge-chord
- Hugging Face: Ubisoft/ubisoft-laforge-chord
- Docs / Release Notes: Ubisoft Open-Sources the CHORD Model and ComfyUI Nodes
注意: 参照されたモデル、データセット、およびコードの使用は、それぞれの著者およびメンテナによって提供されたライセンスおよび条件に従うものとします。

