Substance Designer Getting Started: 02 - Procedural Material Creation Workflows
Getting Started: 02 - Procedural Material Creation Workflows
入門02 プロシージャルマテリアルの作成ワークフロー
前回のパートはこちら
前編 Substance Designerのチュートリアルでお勉強その1 ベースマテリアルの作成パート3前編 - hildsoft開発日誌
後編 Substance Designerのチュートリアルでお勉強その1 ベースマテリアルの作成パート3後編 - hildsoft開発日誌
プロシージャルマテリアルの作成ワークフロー
今回のねらい
前回まで3回にわたり、飛び込みでマテリアルを作成しました。
それを通して、Substance Designerがどのようなものを作れるのか、基礎的な理解を得られたでしょう。
今回は、プロシージャルマテリアルを作成するセオリーについて踏み込んで解説していきます。
今後のチャプターに入る前に、一般的なワークフローの考え方をいくつか説明していきましょう。
プロシージャルマテリアルの分類
マテリアルを
- ベーシック(基本的な)マテリアル
- コンプレックス(複雑な)マテリアル
の二つの形態に分けて考えます。
この2つのマテリアルを作成する際に、ベースとなるマテリアルを考えます。
Substance Designerでマテリアルを作成するときはベースマテリアルに注目します。
ベースマテリアルの重要項目となるものは、再利用可能であることと、規格化されていることです。
再利用可能というのは、チーム間を超えてマテリアルを共有でき、多くの異なるプロジェクトで使用できるということです。
規格化というのは、どんな種類のアセット(資産)としても使えるということです。
プロシージャルコンテンツを作る際は、このことを覚えておいてください。
ベースマテリアルはキーコンセプトがあり、ワークフローをベーシックマテリアルやコンプレックスマテリアル用に分解していきます。
ベーシックマテリアルを見れば、1種類のマテリアルで表現されていることが分かります。
そして、コンプレックスマテリアルの方は、2つのマテリアルで表現されています。
こちらは金属だけでなく、錆のマテリアルも合成または混ぜられています。
二つ以上のマテリアルを合成してベースマテリアルより複雑なマテリアルが作られているので、コンプレックスマテリアルと呼んでいます。
ベーシックマテリアルのコンセプト
ベーシックマテリアルは
- 一つのグラフに一つのマテリアル
- ブレンドや混ぜて使うことを前提としたマテリアル
- 再利用可能なデザイン
であることが大事です。
コンプレックスマテリアルのコンセプト
コンプレックスマテリアルは
- 一つのグラフに複数のマテリアル
- グラフを解読するのが困難
- 再利用可能かもしれないし、そうでないかもしれない
となることがあります。
前回までの解説で作成されたグラフですが、錆のマテリアルと金属のマテリアルをブレンドしています。
見てわかる通り解読するのに困難を伴い、また再利用可能かどうかも不明です。
例えば、錆の部分をカスタマイズ可能なように外部変数として作成しましたが、もし作成していなかったとしたら、このマテリアルの再利用は難しく特定のプロジェクトでしか使えないでしょう。
マテリアルを作る手法
手法1
- 再利用のためにベーシックマテリアルを作成します
- 別のグラフでベーシックマテリアルをブレンドし、コンプレックスマテリアルにします
手法2
- 再利用のためにコンプレックスマテリアルを作成します(この場合、一つのグラフでマテリアルをブレンドしてコンプレックスマテリアルを作成します。)
手法1は両方の手法を混ぜたものになりえますが、それでもやはりベースマテリアルを作成し再利用することに重きを置くべきです。
しかし必ずしも分割しなくてはいけないわけではありません。ブロックを例にすると、ブロックの上の泥汚れや漆喰などは同じグラフ内に入れても良いでしょう。
大切な事は、マテリアルの重要項目の観点から、再利用性に注目して判断することです。
手法1
この図では、金属マテリアルと錆マテリアルの2種類をそれぞれ別のグラフで作成し、マテリアルを細分化した手法を使用しています。
合成用のグラフ内でベースマテリアルやベーシックマテリアルを読み込み、ブレンドマスクを使用してコンプレックスマテリアルを作成し、その結果を出力します。
これは先ほど説明した手法1に該当します。
この手法で気づくこととして、まず第一にグラフがとても読みやすく、とりわけチーム内でも資産を共有する際に、何をしようとしているのか正しく容易に理解できることがあります。
また、マテリアルに戻ることも比較的容易に行えます。例えば錆のマテリアルに戻って変更を加える場合、出力部分さえ変更しなければ、全て自動で同期されます。
5個や6個など、複数のマテリアルを扱うとても複雑なマテリアルでもこの手法1が手助けとなります。
手法2
この例ではブロックのマテリアルに、漆喰と泥汚れのマテリアルが含まれています。
3つのマテリアルを上手く1つのグラフにまとめています。そして、作成過程がより複雑になっていることが分かるでしょう。
漆喰のマテリアルはブロックのカラー、ノーマル、ラフネス、アンビエントオクルージョンに合成されており、多くの複雑な相互接続があるわけです。
これらのマテリアルを相互に合成するノード間には多くの依存性のある接続がありますので、これを更新するには大きな困難が伴います。
最後にある泥汚れのマテリアルのあるレイヤーを見てください。
このようにグラフを作成することに何も問題はありません。実際よく作成されます。
Substance Designerの背景にある、プロジェクト間で使いまわすために規格化され、タイリング可能なベースマテリアルを作成するという考えから、パラメータを調整したい場合を考えてプロジェクト内の全ての種類でも使えるように泥汚れマテリアル部分を切り離すかもしれないことを再度強調しておきます。
漆喰のマテリアルは、ブロックのカラー、ノーマル、ラフネス、アンビエントオクルージョンに合成されていますが、同様にベーシックマテリアルとして作成したら、ブロックを作る際に毎回再作成する必要が無く、ライブラリから漆喰のベーシックマテリアルを引っ張りだしてきてブロックと合成して作成することができます。
Substance Designerの強みとして、多くのマテリアルを作れば作るほど、そしてそれがより基本的なマテリアルであるほど、他のプロジェクトで、より再利用の可能性が高まり、生産性を上げ、仕事を手早く済ませられるようになります。同じタイプのマテリアルを何度も何度も作らずに済むからです。
マテリアルワークフロー
最後に、マテリアル作成のワークフローに触れておきます。
ハイト、ノーマル、ラフネス、アンビエントオクルージョンマップを作成するために、表面の形状作成から始めます。
また、グレースケールで作業を行い、最後に色を作成します。
最初はとても基本的な形状から作成します。
そこからブロックパターンを作成します。
全体的なシルエットを考慮しながら、大~中の範囲のシルエットを整えていきます。
次に細かい形状を追加していきます。
ここまで作成したらハイト、ノーマル、ラフネス、アンビエントオクルージョンマップをグレースケールで生成します。
そして最後に色を作成します。
ZBrushのようなデジタルスカルプトツールを使ったことがあるなら、似たようなプロセスであることが分かるでしょう。
ベースモデルから大まかな形を作り、分割して細かく形状を作りこんでいくのを繰り返すのと同様に、Substance Designerでも基本の形状を作成し、徐々に細かい部分を作っていきます。
後のチュートリアルでコンプレックスマテリアルを作成するときに、実際にこの全工程を処理していきます。
そこでこのタイプのワークフローを見ることができるでしょう。
まとめ
大切なことは、この考え方の大まかな流れです。
プロシージャルマテリアルを作成するときに、どちらの手法で作るかを考えること。
より小さくベーシックなマテリアルを作成し、別のグラフでブレンドする手法(手法1)
一つのグラフで全てのマテリアルをブレンドする手法(手法2)
実際に作る時は、ワークフローに沿って作成すること。
ハイト、ノーマル、ラフネス、アンビエントオクルージョンマップを作成するためのデータ作成。
グレースケールを作成してから色を付ける。
形状は大まかな物から作成して、徐々に細かくしていく。
その3はこちら