ご挨拶
こんにちは、naoです。
こないだ、SubstancePainterというCGソフトをダウンロードしたのですが、その文献はあまり多くはない(英語は割とある)ので、いろいろ自分で調べてまとめておこうと思いまして、そのメモを兼ねようと今回の記事を書こうと思った次第です。
SubstancePainterとは
SubstancePainterとは、簡単に言うと他のCGソフト(BlenderやらMAYAやら)で作ったCGのオブジェクトに簡単に写実的な色を付けるためのソフトです。詳しくは公式にてお願いします。
ちなみにですが、SubstancePainterは学生版は無料ですので、学生の方は是非ご利用ください。
この記事の対象
この記事はSubstancePainterのGENERATORという機能を理解できるよう色々なGENERATORを紹介していこうという趣旨で書いています。このソフトの導入の部分は書いていません。
また、この記事はある程度CGソフトに造詣がある人向けに書いております。
できるだけわかりやすく書くつもりではありますが、その点だけはご了承ください。
準備
SubstancePainterを起動し、BlenderやらMAYAから出力したOBJ/FBXを読み込みます。今回はこのオブジェクトを使っていきます。
とりあえずベースとなる塗りつぶしレイヤーを作り、この上に錆の塗りつぶしレイヤーを作りました。この錆のマスクをGENERATORで弄っていこうと思います。
この錆のレイヤーを右クリックしてADD GENERATORを選び、様々なGENERATORを付加していきます。
GENERATOR
GENERATORを追加するとPROPERTIES - GENERATORが開くので、そこから使用したいGENERATORを選びます。
3D Distance
3D Distanceは、主にオブジェクト表面のグローバル座標上の位置によってマスクを変えるといったものです。
主な使用法は地面に近い方に土埃をつけたりする。などでしょうか。
PositionX/Y/Z : マスクの中心
Contrast : 境界部分の明確さ
3D Distanceを選択すると、初期状態では以下のようになります。
このパラメータ、PositionX/Y/Zで値を弄ると、その値はどこをマスクの中心にするかを設定しています。
例えば、(x,y,z) = (0.5,0.24,0.5)にすると、下の方を中心に錆が発生します。
また、もうちょっと区切り目をはっきりとさせたいときはContrastの値をあげればはっきりさせられます。
もしこの錆の方向を逆にしたいときはInvertをオンにすれば反転します。
3D Linear Gradient
3D Linear Gradientは3D Distanceを少し変えたものという理解が正しいと思います。
Balance : 影響範囲(高いほど3D Position Endの影響大)
Contrast : 境界部分の明確さ
3D Position Start : マスクをかける色
3D Position End : マスクを外す色
3D DistanceのPositionX/Y/Zが3D Position Start,3D Position Endに該当すると思います。ちゃっかり作ってあるImage inputsのPositionのテクスチャの色を使ってマスクの位置を計算しています。
テクスチャ上の色が、3D Position Startで指定した色に近いほどマスクがかかり、3D Position Endに近いほどマスクが外れ、錆が見えるようになります。
Balanceのパラメータがそれぞれの色に対する影響範囲だと思います。
Dirt
Dirtはオブジェクト表面全体を汚すときに使用します。
Dirt Level : 汚れの範囲に広さ
Dirt Contrast : 汚れとそうでない部分の境界部分の明確さ
Grunge Amount : 範囲内での汚れの量
Ground Scale : 汚れのテクスチャの大きさ。
基本的にGround Scaleはあまり大きくしない方が違和感が出にくいと思います。
色々とパラメータがありますがDirt Level、Dirt Contrast、Grunge Amountをいじって汚れを調整していく感じです。
Dripping Rust
Dripping Rust は油汚れなどをつけたいときに使用します。
Rust Spreading : 汚れの範囲に広さ
Rust Contrast : 汚れとそうでない部分の境界部分の明確さ
Spreading Smoothness : 汚れ部分の広がりの滑らかさ
Drips Intensity : 汚れの垂れる長さ
Drips Smoothness : 汚れの垂れる滑らかさ
Drips Samples Amount : 垂れた汚れの量
Position axis : 汚れの垂れる方向
Drips Intensityは汚れの垂れる長さです。以下の画像はこのパラメータを大きくしたときの画像です。
Fiber Glass Edge Wear
Fiber Glass Edge Wear はオブジェクトの表面に傷をつけるときに使います。
Wear Level傷の量
Wear Contrast傷とそうでない部分の明確さ
Grunge Amount傷の大きさ
Grayscale conversin
Grayscale conversinは指定された白黒のテクスチャをもとに汚れをつけるときに使います。
平面にレンガをつけたいときとかにもよく使います。
Image inputsのSourceのパラメータ
Tile : 画像の大きさ(値が大きいと模様が細かくなる)
Height : 模様それぞれの大きさHeight : 模様それぞれの大きさ
初期状態は度のパラメータを弄っても何も起きませんが、Image inputsのSourceに好きな模様の白黒画像を設定するとその模様通りにマスクが設定されます。
Light
Lightはとある一方項から光を当てたと仮定したとき、オブジェクト表面に当たる光の強さをマスクとするものです。
Horiaontal Angle : 光の水平方向
Vertical Angle : 光の垂直方向
Metal Edge Wear
Metal Edge Wearはオブジェクトの曲率(面がめげられている部分)を中心にしてマスクを作ります。
エッジ部分に汚れを足したいときに使います。
Wear Level : 汚れの量
Wear Contrast : 汚れとそうでない部分の明確さ
Grunge Amount : 汚れを広げる
終わりに
これらは、Substance Painterに入っているデフォルトのGENERATORです。これらを参考に色々なGENERATORを自分で作るのもまたいいでしょう。
Substance Painterには、他にも多くの機能があるので、これからも勉強してアマチュアから脱出しようと思います。
最後に、多分CGソフトを普段使わない人にはわかりづらい内容だったと思いますが、最後まで読んでいただいてありがとうございました。