Substance Painter自分用メモ

はじめに

Substance Painterを使い始めたので、 Substance Painterについて自分用のメモをまとめました。

ジェネレータで汚れを与えた例

Substance Painterとは

Substance Painterは3Dペイント用ソフトウェアです。 特にPBR用のテクスチャを作るのに向いています。 1つのレイヤーに複数のチャンネルを持たせることができるので、 PBR向けのテクスチャセットを容易につくれます。

プロジェクトの作成

最初にプロジェクトの作成についてまとめます。

最初にプロジェクト作成のダイアログからペイントする3Dモデルを指定します。 このモデルはUV情報を持っている必要があります。

3Dモデルの読み込み

モデルが読み込まれました。

3Dモデルが読み込まれた

モデルを読み込んだらできるだけ早いうちにベイクを行います。 ペイントを始める前にベイクするとよいでしょう。

「TEXTURE SET SETTINGS」タブから「Bake Mesh Maps」ボタンを押します。

「TEXTURE SET SETTINGS」タブから「Bake Mesh Maps」ボタンを押します

「TEXTURE SET SETTINGS」タブから「Bake Mesh Maps」ボタンを押します

「TEXTURE SET SETTINGS」タブから「Bake Mesh Maps」ボタンを押します

ベイクが完了するとベイクしたテクスチャが表示されます。

ベイクしたテクスチャが表示される

ベイクしたテクスチャはペイントのときに参照されるデータとなります。 たとえば曲率マップはエッジ部分の汚れなどに使われます。

エッジの部分にサビ

エッジの部分にサビ

こういったさまざまな機能を使うためにもペイントを始める前にベイクすることをお勧めします。

画面構成

Substance Painterの画面は次のようになっています。

画面全体

上部のドロップダウンメニューで3Dビューのみ表示したり 2Dビューのみ表示したりといったこともできます。

ドロップダウンメニュー

3Dのみ表示

2Dのみ表示

右側にはレイヤーの情報や、ブラシ、マテリアルの情報などがまとまっています。

レイヤーやブラシ

2D/3Dビューの操作

マウスホイールで拡大縮小できます。 Alt-中ボタンドラッグで平行移動できます。 Alt-左ドラッグでビューの回転ができます。 Alt-Shift-左ドラッグで回転のスナップができます。 Shift-右ドラッグでライトを回転できます。 Fキーで画面中央に収めます。

2D/3Dビューの操作

Cキーで各チャンネルを表示できます。 Bキーでベイクしたテクスチャを表示できます。 Mキーでマテリアルを表示できます。

2D/3Dビューの操作

ライトには環境マップを利用しています。 環境マップは右側Display SettingsのEnvironment Mapから指定できます。

環境マップの指定

環境マップの指定

環境マップの指定

環境マップを表示させることもできます。 Environment Opacityで表示の透明度を指定できて、 Environment Blurで表示する環境マップのぼかし具合を指定できます。

環境マップを表示する

環境マップを表示する

レイヤー

Substance PainterではPhotoshop等と同じようにレイヤーを追加して作業を進めていきます。

レイヤー

レイヤーは下から順番に積み重なっていきます。

このレイヤーでは複数のチャンネルを扱っています。 特定のチャンネルのサムネイルを表示するには上部のドロップダウンメニューから選びます。

レイヤー

2D/3Dビュー上でCキーを押すことで各チャンネルを表示できます。

レイヤーは各チャンネルごとに合成モードが設定されています。 右側のドロップダウンメニューから合成モードを選べます。

レイヤー合成モード

fillレイヤー

塗りつぶしのレイヤーです。 バケツのボタンから追加できます。

fillレイヤーの追加

MATERIALタブでは塗りつぶしたいチャンネルを個別にオン・オフできます。

塗りつぶすチャンネルの設定

塗りつぶすチャンネルの設定

オンにしたチャンネルへ単色を指定できます。

塗りつぶす色の設定

塗りつぶす色の設定

また、テクスチャを指定することもできます。

塗りつぶしにテクスチャを指定

塗りつぶしにテクスチャを指定

塗りつぶしにテクスチャを指定

Substance Designerで作られたsbsarのパターンを プロシージャルテクスチャとして使うこともできます。 その場合パラメータを設定できます。

塗りつぶしにテクスチャを指定

塗りつぶしにテクスチャを指定

テクスチャのマッピング方法を指定できます。 デフォルトではUVにテクスチャをそのまま投影する方法になっています。

UVに投影する

UVに投影する

テクスチャのスケールや回転、平行移動を調整できます。

UVに投影する

UVに投影する

テクスチャのリピートの指定もできます。

UVに投影する

UVに投影する

Tri-Planarを選ぶと三面から投影してブレンドする形でマテリアルを貼り付けてくれます。 UVマッピングだと継ぎ目が出てしまうようなものでもきれいにマッピングできたりします。 このスザンヌのモデルはUVを自動展開したもので細切れになっているので UVのマッピングだときれいに模様が出ません。 Tri-Planarだと模様が細切れにならずきちんと出てくれます。

Tri planar

Tri planar

自分で作成したテクスチャをプロジェクトに読み込むこともできます。 テクスチャとして登録したい画像をSubstance Painterのシェルフ上にドラッグ&ドロップします。 追加する画像の用途と追加する範囲を設定して追加します。 今回はテクスチャとしてプロジェクトへ追加することにしました。 グローバルに追加すれば別のプロジェクトでも利用できるようになります。

テクスチャの読み込み

テクスチャの読み込み

テクスチャのリピートをオフにすることでfillレイヤーをデカールとして使えます。

テクスチャをデカールとして使う

例はカラーのチャンネルで説明しましたが、他のチャンネルも同様にテクスチャなどを指定できます。

複数チャンネルの設定をまとめたマテリアルというものがあります。 「Material mode」ボタンからマテリアルの選択ができます。

マテリアルには上記設定のプリセットのものと、Substance Designerで作られたような sbsar形式のマテリアルとの二種類があるようです。

spprとsbsar形式

ただのプリセットとしてのマテリアルは、読み込むとそのプリセットが設定されます。

ただのプリセットのマテリアル

ただのプリセットのマテリアル

sbsar形式のマテリアルを読み込むと、それぞれのチャンネルに個別にテクスチャを設定した場合とは 違った形になります。

sbsar形式のマテリアル

sbsar形式のマテリアル

sbsar形式のマテリアルは、読み込むと自動でチャンネルのマッピングがなされます。 チャンネルのマッピングを変更もできます。

チャンネルのマッピング

sbsarのパラメータを指定できます。

パラメータの設定

Substance Painterにはプリセットや sbsarのマテリアルがたくさん用意されています。 自分でマテリアルをいろいろ設定しなくても、用意されたマテリアルを選択するだけでも作業できます。

シェルフ内のマテリアルは「Material mode」ボタンから選択する他に、 レイヤーへドラッグ&ドロップすることで新しいfillレイヤーとして追加されます。

ドラッグ&ドロップでfillレイヤーの追加

ドラッグ&ドロップでfillレイヤーの追加

Paintレイヤー

Paintレイヤーというブラシで描くことのできるレイヤーがあります。 レイヤーの上部のボタンから追加できます。

Paintレイヤーの追加

マテリアル設定

マテリアルについてはfillレイヤーと同じです。

マテリアルの設定

ブラシ設定

ペイントするブラシにもいろいろな設定があります。

ブラシ設定

ブラシ設定

Photoshopのブラシと同じような感じで、 Alphaで指定した形状を先端形状としたブラシになります。

Alphaにはインポート時にalphaとしたテクスチャを割り当てられます。 次の画像は自分で作ったテクスチャをアルファとして割り当てたものです。

alphaに自分で用意したものを設定

Jitterをすべて0にすることでスタンプのようなブラシが作れます。

Jitterを0にする

Jitterを0にする

Alignmentでブラシの投影方法を変更できます。

「Camera」だとブラシはカメラの平面と平行になります。 曲がった部分は引き伸ばされます。

Camera

Camera

「Tangent|Wrap」だとブラシが描画するオブジェクトの表面と平行になります。 ペイントされる模様は包むような形になるので引き伸ばされません。

Tangent|Wrap

Tangent|Wrap

「Tangent|Planar」はブラシが描画するオブジェクトの表面と平行になります。 「Camera」のときと同じで投影されるので引き伸ばされます。

Tangent|Planar

「UV」ではUVマップに基づいてペイントされます。

UV

Cameraなどで描画した場合にはUV上の離れた部分にも描画されますが、 UVではUV上の離れた部分には描画されません。

UV

ブラシはシェルフにたくさんのプリセットが用意されています。 プリセットをベースに調整して使えば自分で最初からブラシを作らなくてもよいですね。

ブラシのプリセット

次にいくつかブラシを使う上で便利なショートカットをあげておきます。

Ctrl-右ドラッグ水平移動でブラシサイズを変更します。 Ctrl-左ドラッグ水平移動でフローを変更します。 Ctrl-左ドラッグ垂直でブラシの回転を変更します。

ブラシのショートカット

F5で3Dビューを透視投影に変更、F6で3Dビューを平行投影に変更します。

ブラシのショートカット

DキーでLazy Mouseをオン・オフできます。 なめらかな線を描画したいときに使えます。

ブラシのショートカット

パーティクルブラシ

Substance Painterにはパーティクルブラシという特殊なブラシがあります。 からパーティクルブラシを使えます。

パーティクルブラシ

パーティクルブラシはその名のとおりパーティクルを使って描画する特殊なブラシです。 炎で焼けたようなものだったりガラスのひび割れだったり 液体が垂れたような模様などが簡単に描けます。

パーティクルブラシ

こちらもプリセットが用意されているので、最初はそれを使ってみるとよいでしょう。

レイヤーマスク

レイヤーにはマスクを与えられます。

ホワイトマスクとブラックマスク

LAYERSの上部のドロップダウンメニューから「Add white mask」で ホワイトマスクの追加ができます。 「Add black mask」でブラックマスクの追加ができます。

マスクの追加

レイヤーの右側のサムネイルがマスクのサムネイルです。

マスクの追加

fillマスク

fillレイヤーと似たfillマスクというのもあります。 レイヤーのマスクの方を選択した状態で右クリックのメニューから 「Add fill」を選びます。

fillマスクの追加

fillマスクの追加

fillマスクでグレースケールのテクスチャをマスクとして使ってみます。

fillマスクの追加

マスクは複数重ねていくことも可能です。

fillマスクの追加

fillマスクの追加

合成モードを適切に指定すると複数のマスクの和集合や積集合などをマスクとすることもできます。

ペイントマスク

マスクを選択した状態で 右クリックのメニューから「Add paint」でペイントマスクの追加ができます。

paintマスク

paintマスク

ペイントレイヤーでは模様のあるマテリアルをペイントするのが難しいです。

paintマスク

fillレイヤーとペイントマスクを使うとうまくいきます。

paintマスク

Xキーで描画ツールのグレースケールを反転できます。

グレースケールの反転

ジェネレータ

マスクを選択した状態で 右クリックのメニューから「Add generator」でジェネレータによるマスクを追加できます。

ジェネレータのマスク

ジェネレータのマスク

「Generator」ボタンからジェネレータを選びます。 今回はDirtを選びました。

ジェネレータのマスク

ジェネレータのマスク

ジェネレータはベイクしたテクスチャの情報を有効に使ってくれるようです。 よい感じに凹んだ部分が汚れているマスクを作ってくれました。

ジェネレータのマスク

このようにペイントを使って手作業で塗らなくてもジェネレータで十分な場合も多いです。

ジェネレータのプリセットはSmart masksにいくつも用意されています。

ジェネレータのプリセット

ジェネレータで作成したマスクにペイントレイヤーを重ねて微修正してみます。 次のようにしてパーティクルブラシで汚れを追加してみました。

ジェネレータにペイントで微調整

ジェネレータにペイントで微調整

よい感じの汚れになりました。

ジェネレータをSubstance Designerで作成することもできるそうです。

カラーマスク

マスクを選択して右クリックから「Add color selection」でカラーマスクを作成できます。

カラーマスクの作成

カラーマスクはIDマップと組み合わせて使うとよいです。

次の画像はIDマップを表示してみたものです。

IDマップ

IDマップの作成

BlenderでIDマップの作成をしてみます。

材質ごとに異なるマテリアルを割り当てます。 マテリアルのDiffuseカラーを全部異なる色にしておきます。

マテリアルの割り当て

マテリアルの割り当て

UV展開して新しくテクスチャを作成します。

からのテクスチャの作成

からのテクスチャの作成

ベイクモードを「Texture」にしてベイクします。

ベイクする

ベイクする

マテリアルのカラーがテクスチャにベイクされました。

BlenderのTexToolsというアドオンを使うとIDマップ作成の作業が楽になります。 マテリアルを割り当ててTexToolsでMaterial IDをベイクします。 マテリアルにわざわざ違う色を割り当てていかなくても、 マテリアルごとに固有の色を割り振ってくれます。

TexToolsでのIDマップのベイク

TexToolsでのIDマップのベイク

作成したテクスチャを名前をつけて保存します。

TexToolsではマテリアルIDの他にMeshIDをベイクできます。 構造上分離したメッシュごとに別のIDを割り振ってくれます。 場合によってはこちらをIDマップとして使うこともできるかもしれません。

Substance Painterでも頂点色やメッシュごとにIDマップを作成してベイクできるようです。

Substance PainterでのIDマップのベイク

IDマップの利用

fillレイヤーでマテリアルの塗りつぶしレイヤーを用意して、 カラーマスクで色を選択します。

カラーマスク

カラーマスク

カラーマスク

マテリアルを割り当てるのが簡単にできます。

カラーマスク

Substance Painterといいながら手作業でペイントせずにテクスチャを作成できます。 IDマップとfillレイヤーでマテリアルを割り当てて、 generatorで汚れなどを与えるだけで十分なクオリティのものが作れたりします。 ペイント作業は微妙な手直しなどだけで十分なことも多いです。

フィルター

右クリックのメニューから「Add filter」でマスクにフィルターを重ねられます。

フィルターの追加

フィルターの追加

IDマップの選択範囲にぼかしをかけるなどといったことが可能になります。

フィルターの追加

フィルターの追加

フォルダレイヤー

レイヤーに階層構造を作れます。

フォルダレイヤー

フォルダ自体にマスクを付けられます。

フォルダレイヤーにマスクを掛ける

アンカー

ある時点でのレイヤーをその後のレイヤーでテクスチャとして使える機能です。

使用例として色の指定をアンカーでまとめてみます。

まずは単色のfillレイヤーを用意します。

単色のレイヤーを追加

右クリックのメニューからアンカーを追加します。

単色のレイヤーを追加

単色のレイヤーを追加

アルミニウムのマテリアルを割り当ててベースカラーをアンカーから選びます。

色をアンカーから選ぶ

色をアンカーから選ぶ

追加で布のマテリアルを割り当てて同様に色をアンカーから選択します。

色をアンカーから選ぶ

アンカーをつけたfillレイヤーの色を変更すると全体が変更されます。

色を一括で変更できる

色を一括で変更できる

色を一括で変更できる

他の用途としてはジェネレータのエッジのサビにノーマルマップを対応させたりもできるようです。

スマートマテリアル

複数のレイヤーをまとめてひとつのマテリアルとしてプリセットにしたものです。 プリセットのマテリアルをレイヤーにドラッグ&ドロップしたら レイヤーフォルダーが追加されます。

スマートマテリアル

スマートマテリアル

スマートマテリアルは自分で作ることもできるようです。

レイヤーフォルダーにマスクを付けられるので、 スマートマテリアル自体にもマスクを掛けられます。 ちょっとリッチなマテリアルという感覚で使っていけます。

テクスチャの書き出し

ペイントしたものはテクスチャとして書き出せます。 メニューから「Export Textures」を選択します。

テクスチャの書き出し

テクスチャの書き出し

今回はUnity向けに書き出してみます。

テクスチャの書き出し

Unityで使ってみました。

Unityにテクスチャを持ち込む

おわりに

Substance Painterについてまとめました。 Substance Painterはあっという間にそれらしいマテリアルが作れるので 触っていて楽しいですね。

新しい投稿
ビルの制作記録