予告通りSubstance Designerの紹介をしていきたいと思います。
とりあえず今回は、Substance Designerってどんなツールか?というところと、Substance Painterとの連携について書いていこうと思います。
動画などから見つけたテクニック、自分でやってて気付いたことなどを書いていく予定なので、かなり不定期かつ効率悪いテクニックなんかもあるかと思います。
もっとこうやったほうがいいよ!ってな情報がありましたら教えていただけると助かります。
まずは簡単な紹介から。
Substance Designerはこの記事を書いている段階でバージョンが5.2.1となっています。
Substance Painterがまだ1.5なので、こっちのほうが歴史があります。
SDはSPと違って、主な使い方はマテリアルのリファレンス作成です。
SPは特定モデルに貼り付けるテクスチャの作成を行うツールですが、SDはあまりその方向で使用しません。使えないことはないんですが。
まずは画面を見てみましょう。
SPに似た画面ですが、中央上にはUE4のマテリアルエディタのようなノード群が存在しています。
SDはこのように、ノードベースでプロシージャルテクスチャを生成するツールです。
このツールの強力な部分は、割と適当に作っても作成したテクスチャがタイリング可能になるてんです。
様々なノイズが使用できますが、それらは基本的にタイリングされている状態になっています。
タイリングされていないノイズがあるのかどうかはわかりませんが、今のところ見かけていません。
基本的な使い方としてはSDでマテリアルのリファレンスを作成し、これをSPで特定モデルにペイントしてテクスチャを出力、という形になるかと思います。
しかし、SDはノードベースで作成しなければならないため、慣れないと使いこなせない部分があるでしょう。
基本はやはり、テクニカルアーティストがSDでリファレンスを作成、アーティストがSPでペイント、ということになるんじゃないかと思います。
ですが、個人的にすごく面白いツールだと思うので、わからないから触らない、というのはもったいないと思います。
そんなわけでブログに書いていこうと思い立ったわけでして。
SDのチュートリアルは動画が多く、どうしても検索性が低くなってしまっています。
文字ベースで書いてあったほうが検索性が高まるので、こういう形で書き起こしておいたほうが自分にとっても有用かな、と思った次第です。
そしてあわよくば他の人もブログとか書き始めていろんなテクニックを公開してくれたらなぁ、という期待も込めてです。
さて、今回は第1回めなので、SDで作成したマテリアルをSPで使用する方法について書きます。
SPはその性質上、SDでマテリアルを作成しないとほとんど使い物になりません。
SDでマテリアルを作成する際にもSPを意識しながら作ることを心がけたほうが、あとで自分の首を絞めなくてすむかもしれません。
まずは新規作成で新しいマテリアルを作成します。
[Graph Template] は今回は [Empty] にしておきましょう。グラフ名はなんでもいいです。
作成したらまずは出力ノードを作成します。
何もないグラフの上にいくつかボタンがついていますので、図のように [Out] ボタンをクリックします。
出力ノードには用途を追加しなければいけませんが、識別子、ラベルなどもわかりやすく書いておきましょう。
今回はノーマルマップのみを出力するのでこれでOKです。
他のマップも出力する必要があるのであればそれらのノードも作成しましょう。
また、通常であれば新規作成時のグラフテンプレートをPBR用のものにしておけばOKです。
次にわかりやすいハイトマップを作成します。
グラフエディタ上でスペースキーを押すと、UE4のマテリアルエディタのマウス右クリックのようにノードメニューが表示されます。
このメニューもUE4と同様、文字列を入力するとその検索結果が出てきます。
"tile" と打ち込んで、[Tile Generator] ノードを追加しましょう。
格子模様のテクスチャが出てくると思いますが、これだけではつまらないので、プロパティの幾つかを変更します。
Number X | 4 |
Number Y | 8 |
オフセット | 0.5 |
これで以下のような互い違いのブロック状になるでしょう。
これをハイトマップとして法線を作成します。
グラフエディタ上の [Nm] ボタンを押すと法線が生成されます。
これで法線が出来ましたので、これを出力と接続しましょう。
しかし、これだけでは3Dビュー上に法線が表示されないので、どう見えるかわかりません。
ですので、法線出力ノードを右ドラッグで3Dビューに放り込みましょう。
下のようなメニューが出てくるので、[法線] を選択します。
これで3Dビュー上に法線が表示されるはずです。
これでマテリアルは完成ですが、実際にSPで使用するには各種パラメータを設定しておいたほうがいいでしょう。
どのような用途で使われるかわかりませんし、法線の強さなども調整したいところです。
パラメータを外部から調整するには、外に出したいノードパラメータをエクスポーズする必要があります。
まず、[Tile Generator] の [Number X], [Number Y] をエクスポーズしてみましょう。
[Number X] のところのサインカーブのようなアイコンをクリックし、[エクスポーズ] を選択します。
小さなウィンドウが表示されるので、[入力名] を [新規作成] とし、"NumBricks" と入れてOKボタンを押して決定しましょう。
すると今まで "4" と入っていたバーが消えてしまうはずです。
これはどこに行ったのかというと、グラフエディタの何もない部分をダブルクリックしてみてください。
このマテリアルの情報がプロパティペインに表示されますが、下の方に [Input Parameters] という項目があり、そこに "Number X" という変数が追加されているのがわかるでしょう。
ラベルが "Number X" ではわかりにくいので、"Num Bricks" と修正しておきましょう。
次に [Number Y] も同様に、といきたいところですが、こちらは [Number X] の2倍を入れたいと考えます。
その場合は同様のボタンで、今度は [空の関数] を選択します。
これだけでは何も変化がないので、もう一度変数ボタンを押して編集画面に入ります。
編集画面では他の変数や定数をいろいろ計算して、最終的な結果を出力するノードを作成できます。
今回は [Get Integer] で "NumBricks" を取得、[Integer] ノードに定数 "2" を入れ、[Multiplication] ノードで乗算します。
最後に [Multiplication] ノードを右クリック、[出力ノードとして設定] を選択すれば完了です。
同様に、[法線] ノードの [強度] パラメータもエクスポーズしましょう。
こちらは "NormalIntensity" という入力名にし、最大値を "10" にしておきます。
これで完了ですので、まずはサブスタンスマテリアルを保存しましょう。
これはそのままSPでは読めませんので、[ユーザのパッケージ] にある .sbs と書かれた項目を右クリックし、[パブリッシュ] を選択しましょう。
.sbsar という拡張子のファイルが出力できますので、これをSPのマテリアルフォルダにコピーします。
これでSPのマテリアルとして追加されているので、塗りつぶしレイヤーなどに登録してみましょう。
普通に登録しただけだと何も表示されないと思いますが、[height] を有効にすれば表示されます。
ただ、SD上での設定とちょっと見た目が違うんですよね…
"Normal Intensity" を0にしても法線は表示されますし。
このへんはまだよくわかってないです。
というわけで、今回は紹介がてら基本的な使い方を解説しました。
これからは不定期に、こんなものを作ってみた、とか、こういう場合はこうする、的なものを操作も含めて紹介していきたいなと思っています。