原文:https://www.allegorithmic.com/blog/power-layer-instancing-vfx-scenes
こんにちは! Casimirです。 私はパリのVFX / Animation業界で4年間働いていましたが、9月にテクスチャアーティストとしてモントリオールにあるAllegorithmicに加わりました。
先月、私たちはバンクーバーの大きなVFX&Animationスタジオを訪れました。この旅に備え、非常に大規模なアセットに取り組むことにしました。 250万以上の多角形で構成されたパリの建物を見つけ、すべての要素に対し44のUDIMを作りました。 デモがラップトップ上でライブで動作する必要があることを考えると、特にこれは面白い挑戦でした。
Illumination Macguff では、Despicable Me 3(日本だと「怪盗グルーのミニオン大脱走」)用に多くの建物を作り、そこでSubstance Painterを使いました(2年前)。そこで、このアセットを選びました。これは技術的な観点からは非常に難しく、新しいバージョンでテストを行い、新しい機能がこの種のアセットをテクスチャリングするために役立つかどうかを確認したいと考えました。
これは驚くべき経験でした:UVで2日間苦労した後、1日以内にテクスチャリングすることができました! 新しいインスタンス化機能がカギとなりました。この記事では、アセットをテクスチャリングしレンダリングするプロセスについて説明します。
1. UDIMsでの作業
まず第一に、ワークフローを整理するために、常にUVタイルを列に並べることにしています。最初の行は歩道になり、2番目の行はレストランになります。
2.Substance Painterプロジェクトの作成
私はいつも低解像度のプロジェクトから始めます(いつでも必要に応じて後で高解像度にすることができます)。 VFXスタジオでデモをする必要があったこのアセットのように、UDIMが沢山あり、かつラップトップを使って作業しているときは、1024が良い選択となります。
3.Additional Mapをベイクする
このような大規模なアセットのテクスチャをベイクするとき、プロジェクトのサイズを大きくしすぎないようにします。
手助けとなるTipsを紹介:
- 低解像度のメッシュを持っていないので、ノーマルマップは役に立たない。
- IDマップは、メッシュのほとんどの部分に必要ない。
- Thicknessは、ハードサーフェスモデルで作業しているので必要ない。
- World SpaceとPositionマップは、ベイク解像度を低くする(2K)
- 反対に、AO&Curvatureマップ(Substance Painterのマスクジェネレーターに必要な)には、より高い解像度(4K)が必要。
4.インスタンス化:ゲームチェンジャーな機能
前述したように、私は組織だったものを好みます。そのため、アセットに必要になる各マテリアルに対してフォルダを作成します。:dirt, stone, metal, paint等
次に、すべてのフォルダを適切なUDIM(該当するマテリアルが割り当てられているもの)にインスタンス化します。最後に、塗りつぶしレイヤー、ジェネレータを使用してバリエーションを追加し、必要に応じてウェアリングを行います。、インスタンシングにより複数のUDIMに一度に適用します。 この手法ではが変更したい部分を簡単に見つけることができます。
また、塗りつぶしレイヤーで作業する場合、ノーマルやハイトやメタリックが必要ない場合があるため、使用するチャンネルは特に選択されたものになります。 これにより、すべてのアクションを処理するための計算時間が短縮されます。
常に自由にルックデブを始めます。ですが、結果に満足すれば、できる限りレイヤーやマテリアルを減らすことを行います。場合によっては、2-3のマテリアルで十分です。例えば、アセットの全体の外観に対して全てのUVにインスタンスした単一の汚しフォルダを持ちます。シンプルにするように気を付けます。
アセットの一部で作業中、解像度を上げて、最高の品質とパフォーマンスの比を得ようとしてみます。Substance Painterが一度に8UDIM、4Kでさえ(私のラップトップで!)チャンネルを高速に計算できることに関心しました。場合によっては、Substance Painterがすべてのインスタンス用でジェネレーターを処理するために1-2秒かかることがありますが、パラメーターの移動はとてもスムーズです!
1つのインスタンスの全インスタンスを削除したい場合のヒント:親をコピー/ペーストし、その後、古いものを削除します。すべてのUDIMインスタンスが削除されますが、元のレイヤー(またはフォルダ)はそのままコピーされます。
また、UDIMベースのアセットを扱う際のもう1つのヒント:ビューポートでUDIMを選択するにはCtrl + Alt を押しながら右クリック!
5. iRayでのプリビジュアライゼーション
私がクリーニングプロセスを終えたら、通常はテストレンダリングのためにiRayを使い始めます。 このパストレースツールを使用すると、オフラインレンダラーが最終的にレンダリングするものに最も近い結果を得ることができます。特に、対照的な範囲が表示される粗さマップの場合は特にそうです。 こうすることで、テクスチャを複数回書き出す必要はありません。対照範囲が表示される粗さマップの場合は特にそうです。 こうすることで、テクスチャを複数回書き出す必要はありません。
6.テクスチャのエクスポート
アセットに対してルックデブを行った後は、エクスポートプロセスの時間です。Arnold5でレンダリングするので、ソフトウェア(Arnold 5 UDIM)が提供するデフォルトのテンプレートを使用し、すべてを高解像度、大体4K、時には2Kに設定します。 総エクスポート時間は、44のUDIM(合計5×44 = 220マップ)で10分未満でした。
7. Mayaでのレンダリング
Mayaのシーンでは、シェーダを1つ作成し、マップをロードしてaiStandardSurfaceに接続します。
各ファイルノードのプロパティでUDIMオプションを選択したことを確認してください。 今回は、Substance Painter(corsica_beach.exr)のHDRを使用してSkyDomeライトを使用しました。 レンダリングをクリックして、放置します。簡単です!
既にSubstance Painterを愛用していましたが、インスタンス機能を用いることで、正直に言って、全てのアーティストが求めるルックデブツールだということができます。インスタンスはとても新しい機能です;非常に強力ですが、まだいくつの制限があります。私たちはまだ改善の余地があると思っています。
- 一度に複数のUDIMのプロパティーを変更する機能(解像度、チャネルなど)
- UDIM間のペイント
- UDIMではなくオブジェクト全体のケージに基づいてマップをベークする機能(本当にシームレスにするため)
- マスクを分離した場合、すべてのUDIMをソロモードで表示する機能
しかし、これは本当にソフトウェアの新しい転換期であり、とても気に入っています! そして、チームが制限を十分に認識しており、それに取り組んでいることを取り組んでいますのでご安心ください。