Substance Designerのチュートリアルでお勉強その1 ベースマテリアルの作成パート1後編


Substance Designer Getting Started: 01 - Creating a base material part One

Getting Started 01: Creating a base material part One
入門01 ベースマテリアルの作成パート1

中編はこちら

www.hildsoft.com

ノーマルマップの作成

ノーマルマップを作成するための高さ情報(heightマップ)を作成

f:id:hildsoft:20170725042507p:plain

ライブラリのPatternsから「Mesh 1」をグラフ内にドラッグ&ドロップで配置します。


f:id:hildsoft:20170725042817p:plain

このままではアルファ画像が大きすぎるので、反復回数を増やすためにTillingの値を変更します。


f:id:hildsoft:20170725043227p:plain

また、画像の45度回転のフラグも適用しておきます。

これで、height用のデータが作成できましたので、ノーマルマップ用のデータに変換していきます。


height用のグレースケールデータをノーマルマップ用に変換

f:id:hildsoft:20170725043733p:plain

NormalColorノードを削除します。


f:id:hildsoft:20170725044125p:plain

空のノーマルノードを作成します。


f:id:hildsoft:20170725045117p:plain

先ほど作成したheightデータとノーマルノードを接続します。

2Dビューで見ると、アルファで抜かれて透明になっている部分が見えています。


f:id:hildsoft:20170725045640p:plain

ノーマルマップではアルファ値を使わないので、オフにしておきます。


f:id:hildsoft:20170725050021p:plain

ノーマルマップの強度を調整します。

初期状態では、右端までドラッグしても3にしかなりませんが、ダブルクリックすることで直接数値を入力できるようになります。

一度数値を変更すると、最後に入力した数値を上限値としてスクロールすることができます。


f:id:hildsoft:20170725050730p:plain

そしてノーマルの出力ノードに接続すると無事3Dビューに結果が出力されますが、このままでは滑らかすぎるので調整します。


形状の調整

f:id:hildsoft:20170725051310p:plain

Mesh1ノードとノーマルノードの接続を選択した状態で、レベルノードを挿入します。


f:id:hildsoft:20170725051545p:plain

レベルノードの調整を行うことで、形状の滑らかさを調整してくっきりとした形状に変更できます。


ノードの解像度

表示の切り替え

f:id:hildsoft:20170725052155p:plain

それぞれのノードの下に表示されている数値は、ノードの解像度を表します。

Display Node Sizeから表示/非表示を切り替えることができます。

非表示にした場合は、マウスカーソルをノードに当てることで一つのノードだけ解像度を表示状態にできます。


基準となる解像度

f:id:hildsoft:20170725054104p:plain

全てのノードは親、または入力ノードを基準に決定されます。

レベルノードを例に挙げると、Mesh1が入力ノードで、Packageとして作成したものが親ノードになります。


f:id:hildsoft:20170725054701p:plain

親ノードの情報はグラフの何もないところでダブルクリックすると見ることができます。

ここでOutput Sizeを変更すると、出力解像度を変更することが可能です。


相対値モード

f:id:hildsoft:20170725055351p:plain

親ノードでさえ、基準となる親というものが存在します。

Relative to Parentを選択すると、その値に対して何倍の解像度を使用するかを設定できます。

UnityやUE4など、マテリアルデータを使用するアプリケーションで解像度を設定でき、その解像度に対して何倍を使用するか相対的に決まるのです。

Substance Designer上では256x256が標準なので、値を0にしておくと1倍となり、256x256になります。

2のn乗の表記なので、2の0乗=1になるわけです。

マテリアルを出力するときは、使用する環境で調整できるように、親ノードのサイズ値を0に設定しておくと良いでしょう。


f:id:hildsoft:20170725060424p:plain

親ノードの値を変更すると、デフォルトではすべてのノードの値が変更されます。

サイズを2にすると、2の2乗で4倍になります。


絶対値モード

f:id:hildsoft:20170725060740p:plain

Absoluteを選択すると、直接サイズを指定することができます。

使用環境によらず意図的にサイズを指定したい場合はこちらを使います。


入力ノードの相対値モード

f:id:hildsoft:20170725061529p:plain

入力ノードのサイズを変更した場合の例です。

親ノードをAbsoluteモードで10(1024)と設定した後に、入力ノードをAbsoluteで8(256)に設定します。

すると、接続された子ノードも連動して256サイズになります。

これは、子ノード側の初期設定として入力ノードの1倍設定になっているからです。


パート2前編はこちら

www.hildsoft.com