Substance Designerのチュートリアルでお勉強その3 マテリアルブレンディング パート1後編


Substance Designer Getting Started: 03 - Material Blending part One

Getting Started: 03 - Material Blending part One
入門03 マテリアルブレンディング パート1

中編はこちら

www.hildsoft.com

錆マテリアルの作成

f:id:hildsoft:20171019042901p:plain

錆マテリアルも同様に作成していきましょう。


新規ファイル作成とノードのコピー

f:id:hildsoft:20171019043406p:plain

床のマテリアルと同じくチャプター1で作成したグラフからコピーして作成します。

同じ手順なので、Rusty_Metalからノードを全て選択してコピー(Ctrl+C)しておきます。

メニューからFile(ファイル)>New Substance...(新規 Substasnce...)


f:id:hildsoft:20171019043831p:plain

Graph TemplateにEmptyを選択

Graph Nameをrustを入力

Size ModeにRelative To Parentを選択

設定後、OKをクリックします。


f:id:hildsoft:20171019044136p:plain

先にコピーしておいたノードをグラフに貼り付け(Ctrl+V)ます。


f:id:hildsoft:20171019044654p:plain

床の金属マテリアルを作成したときと同様、どのノードでもいいのでダブルクリックしてグラフを再計算します。

グラフを右クリックして出るメニューのCompute Nodes Thumbnails(ノードのサムネイルを計算)を使うこともできます。


f:id:hildsoft:20171019045409p:plain

Rusty_Metalノードもコピーされるので、これは消しておきます。


不要なノードの削除

f:id:hildsoft:20171019050221p:plain

金属用のカラーノードが不要になるので削除して、ブレンドノードも併せて削除します。


f:id:hildsoft:20171019050503p:plain

錆用のカラーノードを出力ノードに直接接続します。

これらのノードは、使用する色を決定します。


f:id:hildsoft:20171027091903p:plain

ここで、かなりのノードを一気に削除して新しく作り直します。


ノイズの加工

f:id:hildsoft:20171027093704p:plain

ノイズを使って残りの出力を作成していきます。

そのまえにノイズに少々変更を加えます。


f:id:hildsoft:20171027093047p:plain

ノイズの解像度を上げるために、Base Parameter(ベースパラメータ)のOutputSize(出力サイズ)をAbsolute(絶対)の1024x1024に変更します。


f:id:hildsoft:20171027094309p:plain

Cloud 2ノイズを追加します。

このノイズは、ふわっとした広がりを持たせる効果があります。


f:id:hildsoft:20171027100014p:plain

Levels(レベル)ノードを追加して調整します。


f:id:hildsoft:20171027101038p:plain

Histogramを調整して、全体的に暗くします。


f:id:hildsoft:20171030083821p:plain

スペースバーのショートカットでBlend(ブレンド)ノードを作成します。

元々使用していたDirectionalノイズと新しく作成したCloudノイズをブレンドします。


f:id:hildsoft:20171030084337p:plain

Blending Mode(ブレンド モード)をMax(Lighten)(最大(明))に変えてみます。

が、結果を見ると期待したブレンドではないことが分かります。


f:id:hildsoft:20171030085305p:plain

この場合はCopy(コピー)のままで良いので戻して、Opacity(不透明度)で調整します。

このとき、Opacity(不透明度)を0に近づけると、前の状態に近づきます。


f:id:hildsoft:20171030090103p:plain

Cloudノイズをブレンドすることで、Directionalノイズで作り出した質感を保ちつつ、濃淡の塊を付与することができます。

わずかな違いですが、このような差がより良い結果になると思います。


f:id:hildsoft:20171030090602p:plain

今まで使用していたDirectionalノイズだけのマスクから、Cloudノイズをブレンドしたマスクに切り替えます。


ノーマルマップの作成

f:id:hildsoft:20171030090917p:plain

Normal Sobelノードを作成します。


f:id:hildsoft:20171030091326p:plain

先ほど作成したマスクから、Normal Sobelノードを使用してノーマルマップを作成します。

Intencity(強度)を2に調整しておきます。


ラフネスマップの作成

f:id:hildsoft:20171030091750p:plain

Histogram Rangeノードを作成します。


f:id:hildsoft:20171030092124p:plain

こちらも先ほど作成したマスクから、Histogram Rangeノードを使用してラフネスマップを作成します。

Rangeを1に、Position(位置)を0.8に調整しておきます。


f:id:hildsoft:20171030092408p:plain

グラフは適宜調整していきましょう。


メタリックマップ

f:id:hildsoft:20171030092754p:plain

こちらは、metal_floorを作成したときと同様に、Uniform Color(均一カラー)ノードから作成します。


f:id:hildsoft:20171030093047p:plain

Uniform Color(均一カラー)ノードの設定をGrayscale(グレースケール)、サイズをAbsolute(絶対)の16x16にします。


f:id:hildsoft:20171030093521p:plain

Uniform Color(均一カラー)ノードとMetallicOutputノードの接続を選択して、Level(レベル)ノードを挿入します。

Level(レベル)ノードのOutput Sizの設定をRelative to Parent(親に相対)に変更して1024x1024状態にします。


出力ノードが未設定の場合

f:id:hildsoft:20171030094141p:plain

一度3DViewを更新してみます。


f:id:hildsoft:20171030094414p:plain

3DViewの物体が真っ黒になります。

これはAmbient Occlusionの出力ノードを設定しているにもかかわらず、その設定を行っていないためです。


f:id:hildsoft:20171030094852p:plain

解決法の一つとして、設定を一度リセットすることがあります。

3DViewのメニューからMaterials(マテリアル)>Default(デフォルト)>Reset(リセット)を選択することで、マテリアルの状態をリセットできます。


f:id:hildsoft:20171030095220p:plain

グレー状態のマテリアルに初期化されます。


f:id:hildsoft:20171030095544p:plain

出力ノードを一つずつ3DViewに右ボタンでドラッグ&ドロップで登録します。

ドロップするとメニューが開くので、割り当てたいテクスチャを選択します。


f:id:hildsoft:20171030095956p:plain

出力ノードが登録されたので、Normal SobelノードのIntencity(強度)を2から3に変更してみると、3DView上でも変化が見られます。


ハイトマップ

f:id:hildsoft:20171030102739p:plain

マスクで作成したものをハイトマップとして使うには、ノイズが乗りすぎるので、ブラー処理を行って滑らかにします。

Blur HQ Grayscaleノードを作成して接続します。


f:id:hildsoft:20171030103336p:plain

Intencity(強度)の値を調整して、ハイトマップの出力ノードに接続します。


f:id:hildsoft:20171030103536p:plain

ハイトマップが機能していることを確認してみましょう。

3DViewのメニューからMaterials(マテリアル)>Default(デフォルト)>Edit(編集)を選択します。


f:id:hildsoft:20171030104222p:plain

Material HeightのScaleを変更しても、全体的に高さが変更されます。

マテリアルのリセットをかけたので、ハイトマップは黒一色と認識されています。


f:id:hildsoft:20171030104608p:plain

ノードを繋いだハイトマップを3DViewのマテリアルに登録します。

他のマップと同じく、右ボタンでドラッグ&ドロップして、Heightを選択します。


f:id:hildsoft:20171030110449p:plain

これで、ハイトマップを使用した視差効果を確認できます。


アンビエントオクルージョン

f:id:hildsoft:20171030110715p:plain

Ambient Occlusionノードを追加します。


f:id:hildsoft:20171030111030p:plain

Ambient OcclusionノードのS@readingを小さな値にします。

Ambient Occlusionノードに接続して。3DViewを更新したら終了です。


注:AOノードはVer5.6で新しいAmbient Occlusion(HBAO)を使うよう推奨されています。

Ver.2017.2では旧ノードは提供されていないようです。

Focus on the New AO Node | allegorithmic


外部パラメータの設定

f:id:hildsoft:20171030113859p:plain

Histogram RangeノードのPositionを外部パラメータにします。


f:id:hildsoft:20171030114547p:plain

グラフの何もないところをダブルクリックして、グラフの設定を表示します。

Input Parametersで追加したパラメータの設定を更新します。

Identifier:roughness_amount
Label:Roughness Amount


f:id:hildsoft:20171030115055p:plain

同じノード内で複数のパラメータを外部化するときは、ページメニューからExpose Parameters...を選択することも可能です。


f:id:hildsoft:20171030115340p:plain

ダイアログが表示されるので、外部化したいパラメータをチェックしてOKをクリックします。


f:id:hildsoft:20171030115555p:plain

選択したパラメータが追加されています。


f:id:hildsoft:20171030115755p:plain

外部パラメータの並び順を変更することもできます。

ラベルの左にあるグレーの部分をドラッグ&ドロップしてください。

色>ラフネスの順に並んでいる方が理にかなっているでしょう。


最後の仕上げ

f:id:hildsoft:20171030120128p:plain

確認用に上げていた解像度を元に戻します。

ルートレベルのサイズ設定を、Relative to Parent(親に相対)にします。


f:id:hildsoft:20171030120404p:plain

作成したグラフをマテリアルとして保存します。

これでmetal_floor/sbsと、rust.sbsの二つのマテリアルができました。