Substance Painterは現在、非常に大規模なアセットに使用することが可能です。 レイヤインスタンス化機能のおかげで、非常に高速で多数のUDIMでアセットをテクスチャリングすることが可能です。
このチュートリアルでは、Allegorithmicのテクスチャアーティスト、Casimir Perezと共に、250万を超えるポリゴンで構成され、すべての要素を44のUDIMに分解した、パリの建物のような巨大なアセットを、短時間でテクスチャリングする方法を学びます。
このプロセスには3日かかりました。そのうち2日はUVの作成に専念していましたが、1日はテクスチャリングとレンダリングに専念していました。
このチュートリアルで使用されているアセットはTurbosquidのデータで、こちらから購入可能です。
UDIMでの作業
UDIMに慣れていない人にとっては、この機能はUVのレイアウトに対し、0-1より大きいUV空間を使うことができるワークフローです。 水平線上に10個のUVタイル、そして垂直方向に無限に作成することができます。
はじめに、UVに関してより知識が必要です。
あまり多くの解像度問題を抱えないようにUVレイアウト密度を考えなければなりません。
一方、大きなアセットで作業を高速化するには、UVタイルを行(横)に並べて配置することで、インスタンス機能を簡単に使用できます。行により、アセットの一部を意味します:全UDIMタイル100Xは歩道部分、全UDIMタイル101Xはレストラン部分などです。
この手法では、すべてのUVを自動的に複数のタイルにレイアウトできます。 手動でシェルを配置する必要はありません。
例:3行目は壁の部分で、6枚のUDIMタイルでできています。 インスタンス化機能を使用するときは、すべてのUDIM 107Xでレイヤをインスタンス化できることがすでにわかります。 このワークフローでは、プロンプトウィンドウで必要な部分を簡単に見つけることができます(後で詳しく説明します)。
Substance Painterプロジェクトの作成
このようなUDIMが多数あるプロジェクトで作業するときのパフォーマンスを向上させるには、必要に応じて後で解像度を高くすることがいつでも可能なので、低解像度でプロジェクトを開始することをお勧めします。 GPUの容量に応じて、1024または512が最適です。
[Create a texture set per UDIM tile]オプションをチェックすることを忘れないでください。
Additional Mapをベイク
非常に大きなアセットに対してテクスチャをベイクする場合、頭を使う必要があります。 不要な場合、プロジェクトファイルのサイズを大きくしないでください。
ヒントとなるTipsをいくつかご紹介いたします。
- 低解像度メッシュがない場合、ノーマルマップは役に立ちません(ほとんどの場合、VFX /アニメーションワークフローの場合はその可能性があります)
- IDマップは重要です。マテリアルを割り当てるためにメッシュ部分を手動で選択する必要はありません。色だけで選択します。
- ハードサーフェスモデルで作業する場合、Thicknessは必要ありません
- World Space Normal、Positionマップ、およびIDマップのベイク処理解像度を下げることで、ファイルプロジェクトを下げることができます。これは、多くの場合良い解決策となります(このプロジェクトでは、2Kにさげています)。
- Positionマップでは、Full Sceneモードを選択できます。これで、Tri-Planar投影がすべてのタイル上でシームレスになります。
ただし、Substance Painterのマスクジェネレータに必要なAOと Curvatureマップは、より高い解像度(ここでは4K)を維持する必要があります。
レイヤインスタンス化の使用
レイヤー構成と後々の時間削減のために、各アセットの各パートに対して1つのフォルダを作成してから、各フォルダーを正しいUDIMタイルにインスタンス化します。
例:2行目(UDIM 101X)はレストランの部分です。その行のすべてのタイルに対して、何も考えずにフォルダをインスタンス化できます。
最後に、フォルダー内で、今度はルックデブを開始します。 複数のマテリアルを追加し、IDマップ(add mask with color selection)でマテリアルを配置し、スマートマスクとスマートマテリアルを使用して摩耗を追加します・・・
Tips:インスタンスのすべての子を削除する場合は、親をコピー/ペーストしてから、古い子を削除します。 他の全UDIM上のすべてのインスタンスが削除されます。
詳細を追加する
UDIMタイル間でのペイントはまだサポートされていないため、正しいUDIMタイルに移動してから、特定の詳細を作成するために必要なレイヤー(インスタンス化されていない)を作成する必要があります。
例:店頭にロゴを追加する必要があります。 以下の方法をお試しください。
Tips:ビューポート内の右のUDIMタイルに移動するには、選択したいUDIMの上にマウスがあるときにショートカットCtrl + Alt +右クリックを使用します。
クリーニング
アセットの外観に満足したら、クリーニング処理をお勧めします。
できるだけレイヤーを減らすようにしてください。 多くの場合、2つか3つのマテリアルで十分です。
できるだけシンプルに
塗りつぶしレイヤーを使用するときは、使用するチャンネルについて非常に慎重に選択してください。Normal、Hieght、またはMetallicは不要な場合があります。エクスポート時や解像度を上げる場合、すべてのアクションを処理するための計算時間が短縮されます。
例:アセットの全体的な外観に対し、すべてのUDIMを通して単一の汚れフォルダをインスタンス化することは、プロジェクトサイズを縮小するのに適した方法です。 しかし、インスタンス化する前に、単一または少数のUDIMで外観を開発することをお勧めします。
iRayの事前ビジュアライゼーション
マップをエクスポートする前に、いくつかのテストレンダリングにiRayを使用できます。このパストレーサは、オフラインレンダラが最終的にレンダリングするものにより近い状態で見ることができます。特にRoughnessマップでは、より高いコントラスト範囲を見ることが可能です。それにより結果に確信を持つことができ、テクスチャを複数回エクスポートする必要はなくなります。
テクスチャの出力
アセットのルックデブが終了したら、エクスポートプロセスに進みます。 このアセットをArnold 5でレンダリングするため、ソフトウェアで提供されているデフォルトのテンプレート(Arnold 5 UDIM)を使用し、すべてをより高い解像度(通常は4K、時には2K)に設定します。
44個のUDIMの合計エクスポート時間は10分以内でした(合計5 x 44 = 220マップ)。
Mayaでのレンダリング
Mayaシーンでは、aiStandardSurfaceシェーダを1つ作成後、マップを正しい入力に接続するだけで終了します。
各ファイルノードのプロパティでUDIMオプションを選択したことを確認してください。
ライティングには、SkyDomeライト付きのSubstance PainterのHDRの1つを使用できます(Substance Painterシェルフでリソースを右クリックしてエクスポートできます)。
それからレンダリングをクリックします、とっても簡単です!
最後に
レイヤのインスタンス化についてもっと知りたい場合は、Substance Painterのドキュメンテーションで記事を読んだり、Substance Painterでのレイヤのインスタンス化についてのこちらの短いチュートリアルをご覧ください。