【TexGraph】プロシージャルテクスチャの門を叩く その3
TexGraphを使ってレンガのテクスチャを作る試みの第三回。
前回はこちら
今回はそのレンガにディティールを追加して、ノーマルマップなどの各種テクスチャを用意する。
今回で完成。
前回のおさらい
白黒のパターンテクスチャに、ランダムに着色するところまでを行った。
今回はこれに一手間加えてクオリティを上げていき、最後に必要なテクスチャを出力する設定を行う。
- 汚しを入れる。
- レンガの縁の光沢を入れる。
- アルベド、ラフネス、ノーマル、ハイトそれぞれのマップの出力
Graphでいうと以下の箇所になる。
1.汚しをいれる
汚しにはノイズを使用する。
Generators>Perlin1 を2つ
Operations>Multiply
Operations>OneMinus
を追加して、以下のように接続する。
なぜ【Perlin1】を乗算するかというと、汚しの量を調整するため。
【Perlin1】のプロパティの値をそれぞれ以下のように変更する。
Frequency:上5、下5.5
Persistence:上1.5、下0.5
Lacunarity:上2.5、下2
Octave Count:上5、下5
PanZ:上0、下0
Seed:上0、下72
するとだいたい以下のようなノイズになる。
この値は適宜調整していい感じにすると良い。
このままレンガとブレンドしてもいいが、色が汚くなってしまうので、パラメータで色をつけられるようにする。
以下の2つのノードを追加する。
Basic>Color
Operations>Blend
前回作ったレンガを【Blend】のInputAに、
【Color】を【Input B】に、
【OneMinus】を【mask】に接続して、Colorの値を調節する。
今回は【Color】をR230、G163、B95に変更した。
これで汚しを入れることができた。
2.レンガの縁の光沢
次は、レンガの縁を少し明るくして、立体感をつける。
色の境界線を抽出するには、【Curvature】を使う。
Filters>Curvature 追加後【Radius】を3にする
このノードは、Photoshopで言うところの『輪郭検出』にあたる。
【Curvature】でできた画像のうち、必要なのは白い部分だけなので、【Step】と【Blur】を使って加工する。
Operations>Step追加後【Edge Value】を1にする
Filters>Blur追加後【Area】を0.65にする
最後に、この画像をアルファチャンネルとしてレンガに合成するのだが、このままだと『白い輪郭にしか色がつかない』状態になってしまうので、色を反転する必要がある。
【OneMinus】でもいいのだが、光沢の強弱を調整できるように【Mix Color】を使う。
Operations>Mix Color
Begin Color:R256、G256、B256
End Color:R132、G132、B132
これで、色を反転しつつ、【End Color】の値で強弱を調整できる状態になった。
最後に【Blend】ノードを追加して、レンガの【Blend】の出力を【Output】に、【Mix Color】を【mask】に接続すればレンガのテクスチャは完成となる。
3.アルベド、ラフネス、ノーマル、ハイトそれぞれのマップの出力
最後にテクスチャを出力するための設定をする。
アルベドマップ
アルベドマップは、このレンガの最終出力状態だ。
最後の【Blend】ノードの上で右クリックして、
Set as Output>Albedo
を選択すると、ノードにAlbedoという文字がつく。
Preview 3Dウィンドウにも反映される。
このままだとレンガらしからぬテカり状態なので、ラフネスマップでテカリを抑える。
ラフネスマップ
ラフネスは、とりあえずレンガとモルタルでちょっと違いを出す程度でいいので、【Tiling】ノードから加工して作成する。
Operations>Mix Color
Begin Color:R141、G141、B141
End Color:R132、G132、B132
作成した【Mix Color】ノードには、【Tiling】の【Output】を接続する。
そしてアルベドマップと同じように右クリックして、
Set as Output>Roughness
とすればOKだ。
テカリが抑えられたかと思う。
ノーマルマップ
このままだと凹凸がなくのっぺりしてしまうので、ノーマルマップを設定する。
Filters>Normal追加後、【Bump】を50にする。
追加した【Normal】を、グレースケールで色をつけたノードと接続する。
アルベドマップと同じように右クリックして、
Set as Output>Normal
をつける。
ハイトマップ
ノーマルマップと同様に、グレースケールで色をつけたノードと接続する。
これも強度をパラメータ調整できるように【Mix Color】を使用する。
Operations>Mix Color
Begin Color:R135、G135、B135
End Color:R255、G255、B255
アルベドマップと同じように右クリックして、
Set as Output>Height
をつける。
完成
これで完成だ。
出来上がりを【Preview 3D】で確認する。
以下の図のうち、赤枠で囲まれている箇所が、パラメータ調整で見た目を変更できる箇所になる。
出力
実際にテクスチャをPNGで出力する。
まとめて出力する機能はないようなので、個別で出力することになる。
【Albedo 】などを設定したノードを右クリックして、
Export>Texture>PNG
で出力する。
※ 拡張子を自動で入力してはくれないので、自分で入力する。
出来上がったテクスチャとプロジェクトファイルがこちら。
終わりに
このレンガを更に作り込むとしたら、以下のようなことが考えられる。
- レンガにいびつさを足して、パラメータで調整
- レンガに欠けを足して、パラメータで調整
- ひび割れを足して、パラメータで調整
- ツタなんかも生やしてみる。
まだまだプロシージャルテクスチャの道のりは長い。