私のプロダクションワークでは、CurvatureマップとThicknessマップのベイクは、生のAI生成3Dモデルをプロダクションレディなアセットに変えるための不可欠なステップです。TripoのようなAIジェネレーターは数秒でベースメッシュを生成できますが、これらのマップはオブジェクトをリアルに見せるためのマテリアルインテリジェンスと表面の詳細を追加するために不可欠であることがわかりました。この記事では、AIの出力と最終レンダリングの間のギャップを埋めるための実践的な手順に焦点を当て、ゲームエンジン、VFXパイプライン、またはリアルタイムアプリケーションにAIモデルを統合する必要があるアーティスト向けのハンズオンワークフローを詳しく説明します。
主なポイント:
AI 3Dジェネレーターからモデルを直接取り込むと、通常、密度の高い三角形メッシュとして、カラー頂点データまたは基本的なテクスチャが付属しています。しかし、シェーダーがリアルな表面相互作用を作成するために使用するジオメトリデータがほとんど常に欠けています。モデルには形状がありますが、その表面の「物語」、つまりどこが摩耗しているか、どこが厚いか薄いか、光が微妙な凸部や凹部をどのように捉えるかといった本質的な情報がありません。CurvatureマップとThicknessマップがなければ、マテリアルは平坦で均一に見え、リアルさを感じさせる自然なバリエーションが欠けてしまいます。
ベイクは、この不足している情報を計算します。Curvatureマップ(またはアンビエントオクルージョンの派生)は、表面の凹凸をグレースケール値として保存します。Thicknessマップは、メッシュを介してレイキャストすることで計算される、モデルの任意の点の「深さ」を保存します。私のパイプラインでは、これらは単なる美しいディテールではなく、制御マップです。私はそれらをPBRシェーダーネットワークにフィードして、隙間の汚れの蓄積、鋭い角のエッジの摩耗、耳や葉のような薄い領域でのリアルな光の透過を駆動します。これらは、一般的なAIメッシュをマテリアルロジックを持つオブジェクトに変えます。
ベイクを考える前に、私は簡単な診断を行います。最初に確認するのはモデルのトポロジーとスケールです。
準備は、ベイクを成功させるための80%を占めます。Tripoのモデルの場合、まずそれを複製してハイポリバージョンとローポリバージョンを作成します。ハイポリバージョンはディテールのソースです。これは元のAIメッシュであることもありますが、過度に三角形分割されている場合は、サブディビジョンモディファイアを使用してスムーズにすることもあります。ローポリバージョンはレンダリング可能なメッシュです。私はしばしばTripoの内蔵リトポロジーツールを使用して、クリーンで四角形ベースの、良いUVを持つローポリを作成します。重要なのは、両方のメッシュが同じ3D空間を占めるようにすることです。
ベイク前のチェックリスト:
私はBlender、Substance Painter、またはMarmoset Toolbagでベイク作業を行います。原則は同じです。ハイポリメッシュとローポリメッシュの両方をインポートします。ベイク設定で、ハイポリをソースとして、ローポリをターゲットとして割り当てます。Curvatureの場合、通常は非常に小さい検索距離(例:0.1〜0.5 cm)でAmbient Occlusionマップをベイクし、表面の凹凸を効果的に捉えます。Thicknessの場合、専用のThicknessベイク処理を使用し、きれいな結果を得るためにレイカウントを高く(32〜64)設定します。
常に調整する重要な設定:
最初のベイク後、マップを注意深く調べます。一般的な問題には、スキューイング(ケージが正しく包み込まれていなかった)、レイミス(Thicknessレイがヒットしなかった黒い点)、シームブリーディング(あるUVアイランドのディテールが別のUVアイランドに漏れる)などがあります。私の修正プロセスは反復的です。ケージを調整したり、レイ距離を増やしたり、UVエディターでマージンを追加したりします。AIモデルで問題が解決しない場合は、ベイク処理を混乱させる表面の「バブル」をAIが生成することがあるため、ハイポリソースの不自然にノイズの多いトポロジーを滑らかにするために戻ることがよくあります。
AI生成トポロジーは乱雑になることがあります。それは彫刻されたものではなく、推論されたものであることが多く、三角形の分布が不均一で、微細な表面ノイズが発生します。ベイクの前に、ハイポリモデルにわずかなスムージングパスまたは非常に穏やかなリメッシュを適用します(ただし、ディテールの損失が許容できる場合に限ります)。目標は、ベイクノイズを除去することであり、芸術的なディテールを損なうことではありません。また、専用の「Make Manifold」操作を実行します。非多様体エッジは、私の経験ではベイク失敗の最大の原因です。
AIモデルはUV空間を理解しません。Tripoの自動リトポロジーメッシュを使用する場合、UVは機能的ですが、最適ではない場合があります。私は常にUVアイランドをパッキングして、一貫したテクセル密度を確保します。これは、各ポリゴンが同様のテクスチャ解像度を得ることを意味します。モデルの残りの部分が隅に押し込められている一方で、4kのテクスチャマップの90%が1つの小さな、密にパッキングされたUVアイランドによって占められている場合、それは無駄です。一貫した密度により、CurvatureとThicknessのディテールがモデル全体でシャープかつ均一になります。
複数のアセットバリエーション(たとえば、一連の岩やSFパネルなど)を生成する場合、ベイクを自動化します。ソフトウェアで単一の最適化されたベイクプリセットを設定します。次に、すべてのAI生成モデルが、一貫した命名規則(例:assetname_high、assetname_low)とスケールでエクスポートされていることを確認します。その後、バッチベイクツールを使用できます。多くの場合、簡単なスプレッドシートやフォルダーリストをそれらにフィードします。これにより、アセットごとのタスクが、ライブラリ全体でワンクリックプロセスに変わり、AI生成が真に輝く場所となります。
私のシェーダー(Unreal Engine、Unity、またはBlender Cycles)では、Curvatureマップをマスクとして接続します。通常は反転させて、白が凸状のエッジを表すようにします。次に、このマスクを使用して次のことを行います。
Thicknessマップは、有機的または半透明のマテリアルにとって非常に貴重です。私はこれを使用して次のことを制御します。
これらのマップを単独で使用することはありません。私の標準PBRマスターシェーダーには、ベースカラー、メタリック、ラフネス、ノーマルの入力があります。私はカスタム関数またはノードグループを作成し、CurvatureマップとThicknessマップがこれらのコアチャネルと相互作用するようにします。たとえば、Final Roughness = Base Roughness Texture + (Curvature Map * 0.2)です。これは、エッジが自動的にわずかに粗くなることを意味します。これらの関係をシェーダーテンプレートに組み込むことで、ベイクしてインポートするすべてのAIモデルが自動的に物理的な妥当性のレイヤーを獲得します。
ラピッドプロトタイピング、コンセプトビジュアライゼーション、および環境を補助アセットで埋める場合、AIからベイクへのワークフローは比類のないものです。Tripoでテキストプロンプトからモデルを生成し、リトポロジーし、ベイクし、PBRレンダラーでテクスチャ付きアセットを30分以内に作成できます。これにより、驚くべきイテレーション速度が可能になります。ディレクターが「もっとグリーブルを」とか「もっと滑らかな形状を」と望む場合、手動でベースメッシュをブロックアウトするよりも早く、新しいバリアントを生成してプロセスを繰り返すことができます。
トレードオフは絶対的な制御です。ZBrushでゼロからスカルプトしたモデルには、意図的でアーティストが指示したトポロジーとディテール階層があります。すべてのしわや膨らみは目的を持って配置されています。AIモデルのディテールは統計的であり、そのトレーニングデータから推論されます。ヒーローキャラクターや主要なシネマティックアセットの場合、この直接的な微細レベルの制御の欠如は制約となる可能性があります。AIモデルからのベイクは、存在するものを捉えますが、アーティストがストーリーテリングのために強調する必要のあるものを必ずしも捉えるわけではありません。
私の決定マトリックスはシンプルです。
moving at the speed of creativity, achieving the depths of imagination.
テキスト・画像から3Dモデルを生成
毎月無料クレジット付与
究極のディテール再現