Substance Designer Getting Started: 03 - Material Blending part One
Getting Started: 03 - Material Blending part One
入門03 マテリアルブレンディング パート1
中編はこちら
錆マテリアルの作成
錆マテリアルも同様に作成していきましょう。
新規ファイル作成とノードのコピー
床のマテリアルと同じくチャプター1で作成したグラフからコピーして作成します。
同じ手順なので、Rusty_Metalからノードを全て選択してコピー(Ctrl+C)しておきます。
メニューからFile(ファイル)>New Substance...(新規 Substasnce...)
Graph TemplateにEmptyを選択
Graph Nameをrustを入力
Size ModeにRelative To Parentを選択
設定後、OKをクリックします。
先にコピーしておいたノードをグラフに貼り付け(Ctrl+V)ます。
床の金属マテリアルを作成したときと同様、どのノードでもいいのでダブルクリックしてグラフを再計算します。
グラフを右クリックして出るメニューのCompute Nodes Thumbnails(ノードのサムネイルを計算)を使うこともできます。
Rusty_Metalノードもコピーされるので、これは消しておきます。
不要なノードの削除
金属用のカラーノードが不要になるので削除して、ブレンドノードも併せて削除します。
錆用のカラーノードを出力ノードに直接接続します。
これらのノードは、使用する色を決定します。
ここで、かなりのノードを一気に削除して新しく作り直します。
ノイズの加工
ノイズを使って残りの出力を作成していきます。
そのまえにノイズに少々変更を加えます。
ノイズの解像度を上げるために、Base Parameter(ベースパラメータ)のOutputSize(出力サイズ)をAbsolute(絶対)の1024x1024に変更します。
Cloud 2ノイズを追加します。
このノイズは、ふわっとした広がりを持たせる効果があります。
Levels(レベル)ノードを追加して調整します。
Histogramを調整して、全体的に暗くします。
スペースバーのショートカットでBlend(ブレンド)ノードを作成します。
元々使用していたDirectionalノイズと新しく作成したCloudノイズをブレンドします。
Blending Mode(ブレンド モード)をMax(Lighten)(最大(明))に変えてみます。
が、結果を見ると期待したブレンドではないことが分かります。
この場合はCopy(コピー)のままで良いので戻して、Opacity(不透明度)で調整します。
このとき、Opacity(不透明度)を0に近づけると、前の状態に近づきます。
Cloudノイズをブレンドすることで、Directionalノイズで作り出した質感を保ちつつ、濃淡の塊を付与することができます。
わずかな違いですが、このような差がより良い結果になると思います。
今まで使用していたDirectionalノイズだけのマスクから、Cloudノイズをブレンドしたマスクに切り替えます。
ノーマルマップの作成
Normal Sobelノードを作成します。
先ほど作成したマスクから、Normal Sobelノードを使用してノーマルマップを作成します。
Intencity(強度)を2に調整しておきます。
ラフネスマップの作成
Histogram Rangeノードを作成します。
こちらも先ほど作成したマスクから、Histogram Rangeノードを使用してラフネスマップを作成します。
Rangeを1に、Position(位置)を0.8に調整しておきます。
グラフは適宜調整していきましょう。
メタリックマップ
こちらは、metal_floorを作成したときと同様に、Uniform Color(均一カラー)ノードから作成します。
Uniform Color(均一カラー)ノードの設定をGrayscale(グレースケール)、サイズをAbsolute(絶対)の16x16にします。
Uniform Color(均一カラー)ノードとMetallicOutputノードの接続を選択して、Level(レベル)ノードを挿入します。
Level(レベル)ノードのOutput Sizの設定をRelative to Parent(親に相対)に変更して1024x1024状態にします。
出力ノードが未設定の場合
一度3DViewを更新してみます。
3DViewの物体が真っ黒になります。
これはAmbient Occlusionの出力ノードを設定しているにもかかわらず、その設定を行っていないためです。
解決法の一つとして、設定を一度リセットすることがあります。
3DViewのメニューからMaterials(マテリアル)>Default(デフォルト)>Reset(リセット)を選択することで、マテリアルの状態をリセットできます。
グレー状態のマテリアルに初期化されます。
出力ノードを一つずつ3DViewに右ボタンでドラッグ&ドロップで登録します。
ドロップするとメニューが開くので、割り当てたいテクスチャを選択します。
出力ノードが登録されたので、Normal SobelノードのIntencity(強度)を2から3に変更してみると、3DView上でも変化が見られます。
ハイトマップ
マスクで作成したものをハイトマップとして使うには、ノイズが乗りすぎるので、ブラー処理を行って滑らかにします。
Blur HQ Grayscaleノードを作成して接続します。
Intencity(強度)の値を調整して、ハイトマップの出力ノードに接続します。
ハイトマップが機能していることを確認してみましょう。
3DViewのメニューからMaterials(マテリアル)>Default(デフォルト)>Edit(編集)を選択します。
Material HeightのScaleを変更しても、全体的に高さが変更されます。
マテリアルのリセットをかけたので、ハイトマップは黒一色と認識されています。
ノードを繋いだハイトマップを3DViewのマテリアルに登録します。
他のマップと同じく、右ボタンでドラッグ&ドロップして、Heightを選択します。
これで、ハイトマップを使用した視差効果を確認できます。
アンビエントオクルージョン
Ambient Occlusionノードを追加します。
Ambient OcclusionノードのS@readingを小さな値にします。
Ambient Occlusionノードに接続して。3DViewを更新したら終了です。
注:AOノードはVer5.6で新しいAmbient Occlusion(HBAO)を使うよう推奨されています。
Ver.2017.2では旧ノードは提供されていないようです。
Focus on the New AO Node | allegorithmic
外部パラメータの設定
Histogram RangeノードのPositionを外部パラメータにします。
グラフの何もないところをダブルクリックして、グラフの設定を表示します。
Input Parametersで追加したパラメータの設定を更新します。
Identifier:roughness_amount
Label:Roughness Amount
同じノード内で複数のパラメータを外部化するときは、ページメニューからExpose Parameters...を選択することも可能です。
ダイアログが表示されるので、外部化したいパラメータをチェックしてOKをクリックします。
選択したパラメータが追加されています。
外部パラメータの並び順を変更することもできます。
ラベルの左にあるグレーの部分をドラッグ&ドロップしてください。
色>ラフネスの順に並んでいる方が理にかなっているでしょう。
最後の仕上げ
確認用に上げていた解像度を元に戻します。
ルートレベルのサイズ設定を、Relative to Parent(親に相対)にします。
作成したグラフをマテリアルとして保存します。
これでmetal_floor/sbsと、rust.sbsの二つのマテリアルができました。