ゲームテクスチャ制作ツール「Substance Painter」の良く使う機能メモ

ゲーム用テクスチャを制作する際にQuixelと双璧をなすSubstaceシリーズ。ポリゴンモデルに直接ペイントできる3Dペイントツール「Substance Painter」はPBRベースのレンダリング環境のおけるキャラクターやオブジェ等の制作で力を発揮する。

本稿では頻繁に利用するオペレーションや覚え書きを自分用に忘れないように纏めたメモとなっている。随時追記中。

参考ドキュメントの場所

公式マニュアル

https://support.allegorithmic.com/documentation/display/SPDOC/Substance+Painter

公式PBRガイド

3D and AR software - Adobe Substance 3D
Adobe Substance 3D brings you an ecosystem of apps that empower you to design 3D. Texture assets and render your scenes intuitively. Try it now!

Steam版に関して

SteamでもSubstance Painte ,Desigerm,B2MをパックにしたSubstace Indie版が販売されている。

メリット

・代理店経由より安く、セール期間中は格段に安い。

・ライセンス管理が楽。(同時起動でなければ他のSteamソフトと同様の運用方法が可能)

・インターフェイスは日本語にチェックがついていないが、普通に日本語化対応している。

・実績対応(ツールの特性上、使用時間が凄いことになるので興味深い)

デメリット

・日本語のドキュメントやサポートを受けれなくなる。(代理店のボーンデジタルはオークやTooの様な手厚いサポートではないので、割り切ってSteam版も悪くない。)

・実用レベルで使える日本語書籍は現時点ではなく、ネット上の情報も圧倒的に英語が充実しているので、学習は英語ベースになる

アップデートに関して・その他

・メジャーアップデート直前に購入した場合は条件を満たすと無料アップデートも受けれるケースがある。その場合はSteamのコミニティスレッドに案内があるので注視する必要がある。

・Steam版で「1」>「2」に無料アップデートしてもらったが、その際は自力でAllegorihimicのサポートにメール英文で催促する流れだった。(メールにてSteamコードを受領)

・直前以外はSteamから割引チケットがもらえるので期間内であればアップデート料金相当でバージョンアップできる。

・Allegorihicicアカウント管理でSteam版と連携できる

スペック・処理

GPU処理

・通常のビューポート

GPU依存でDirectX。シングルGPUで動作する。Substanceの仕様上は搭載VRAMの50%を確保して、残りを他の処理に使うとされている。(?)

なのでVRAMを大量に消費する他ソフト(ゲームエンジンUnrealEngine等)と同時仕様する場合はVRAMの状態に注意が必要

・「Iray」表示

GPU依存。マルチGPU対応。マルチの際もSLIは不要・無効推奨。デフォルトでは10秒で計算が打ち切られる(負荷がかからないようになる)が設定値を変えると伸ばせる。

iray処理は設定で変更できるが、iray以外の通常処理がGPUはプライマリ優先。

CPU処理

テクスチャベイク

一部処理でマルチ対応してるが、全体としてシングル動作の時間割合が殆どの模様。AO処理など一部のベイク処理中のみ複数コアが有効になるが全体のベイク時間に対しての割合は極めて低い。

Iray

マルチスレッド対応。実装コア全てを利用する。頻繁に利用するならCPUコア数を半分程度に限定したほうが良さそう。(総計算時間は圧倒的にGPUの影響力の方が大きい)

パフォーマンス

レイヤーの下の処理を全部行うため、レイヤー数が増えると遅くなる傾向にある。遅い場合は現在の作業で不要なレイヤーを非表示にしておくと軽い

4Kテクスチャ

4Kテクスチャは現状消費VRAMが多く、特にレイヤーが重なると6GBでもきつい模様。後ほど再ベイクできるのでスペックが追いつかない場合は2Kで進めれるところは2Kで進めて、必要な状態になってから4Kに移行すれば良さそう

ある程度作業が進んだらベイクしてレイヤーを統合すれば重くならない

消費VRAM目安(勿論作業内容で上下する)

2048*2048・・・2GB~5GB

4096*4096・・・4GB~8GB

ビューポート

ビュー基本操作

3Dモデルビュー画面でALTキーを押すと操作方法が出る。テクスチャビューも同様。

ビューその他の操作

右クリックでショートカット操作が出る

Shift+右ドラッグ・・・背景の環境マップを回転させる。光源の辺り具合を確認する

Cキー・・・各種テクスチャの要素の表示を変更。例:ノーマル>アルベド>粗さ

Mキー・・・表示を上記が統合された通常描画に戻す。

タブレット操作

スクロール:CTRL+ALT+ドラッグ

拡大縮小 :CTRL+タブレットキー+タブレットペン上下空中ドラッグ

回転:ALT+ドラッグ

回転90度制限:ALT+SHIFT+ドラッグ

F:全体表示

レイヤー操作

塗りつぶしレイヤーを新規作成

レイヤーを作成する際は「塗りつぶしレイヤ」を作成しないとマテリアルが適用できない様なので、ベース用に新規作成する際は基本的に「塗りつぶしレイヤ」を選択する

よく使うショートカット

レイヤ順序変更:ALT+↑ or ↓(マスクレイヤー)

コピー:CTRL+Shitft+C

ペースト:CTRL+Shitft+C

 ベイク

ローモデルとハイモデルの差分ベイクの仕方

TextureSet Settingタブ>Bake Textures でBakingウィンドウが開く。

各種マップはGeneratorでマスクを作成する際に計算で利用するので、ファイナルデータで利用しなくても吐き出して置いたほうが良い。

ローポリゴンモデルを再度ベイクし直す

編集>Project Configrationからモデルを再度読み込み直せる

ZbrushからのFBXを読み込む際のTips

ポリグループをマテリアルとしてエクスポートし、SBのID設定でMaterialColorにIDを割り振る等でUDマップをそのまま作成できる

ハードエッジ、スムースエッジなどの法線情報はノーマルスムーズ量でコントロールできる

マスク操作

ポリゴンやUV単位で選択

Polygon fillを選択

Properties Polygon FillのFill modeを任意に切り替えて選択してマスク作成。

レイヤーのマスクをコピー・ペーストする

1 :まずコピー先のレイヤーで「右クリック」>「Add Black mask」又は「Add White mask」でマスクを作成する。(コピー先のレイヤーにマスクがないとコピーできないため)

2:右クリックからCopy Mask & Past Mask

又は

コピー:CTRL+Shitft+C

ペースト:CTRL+Shitft+C

ペイント

ベイクしたノーマルマップを編集する

新規に塗りつぶしレイヤーを作成

マテリアルのノーマルマップのみを有効化

Textures Set SettingでノーマルのMixingモードをReplaceに変更

マスクを作成してペイント追加等で不要な箇所を削除するなどの編集する

*追記:加算モードもPthrに変更

ベイクしたAOマップ編集する

Texture Set Setting > 「+」ボタン >「Ambient Occlusion」を追加

AO用のパラメーターが以下の様に追加される

「Ambient Occlusion mixing」を「Replace」に変更

塗りつぶしレイヤー>レイヤーをAOに変更 加算モードもPthrに変更

マテリアルをAOに。ベイクしたAOテクスチャーをセッティング

フォトショップのスタンプツールブラシのように利用する

ペイントレイヤーの合成モードを「Pthr」( pass through)に変更

クローンツールを選択 (またはショートカット「6」)

「V」キーでショートカット先を指定してペイントする。

投影ペイント Projection tool

メニューの投影モードをオン

レイヤーを新規追加 → マテリアルに写真を適用(アルベドのみの場合)

半透明にピクチャが表示される。「S」キーで操作方法が表示される

透明度はビュー設定の「ステンシルの不透明度」で調整できる。

Hard Surfaces(ハードサーフェイス)を使う

レイヤーを作成し、マテリアルのNormalにハードサーフェイスをドラッグアンドドロップ

スタンプのようにディティールを足せる

画面にハードサーフェイスのプレビューが映らない場合は左上のアイコンを下記に変更

 テクスチャ書き出し

Export Texturesから書き出す

1:ファイル>Export Texturesで書き出しウィンドウを出す

2:Config>プリセットから対象エンジンを選択。

3:場所とファイルフォーマットを設定して書き出す。

UnrealEngineのノード設定

注意

メタリックラフネスAOのテクスチャは読み込む際にsRGBを手動でオフにしないといけない

ノーマルマップは自動で判定してオフになる

アセットの読み込み場所変更

編集>Settings

「Shelf」から名前とPathを指定して「+」ボタンを押すと追加される。必要に応じて「Default」にチェックを入れると次回から標準パスが設定したパスになる。