Substance in UE4
Twitterだと画質が粗くてピントが合っていないみたいな感じになってしまう
— GAN彩坊(光の戦士) (@gansaibow) 2017年3月22日
カッコいいといいながらピンぼけで伝わらない
やっぱりVimeoとかYoutubeは偉大だ pic.twitter.com/M11WiFIhxs
使用バージョン
Substance Desinger 6.0.1
Substance Painter 2.5.1
Unreal Engine 15.1
Index
あまりに長くなりすぎたので、ページを小分けにした
- 1: Project overview, baking and setup
- 2: Painting Height Details
- 3: Creating Base Materials
- 4: Setting Up An Export Pipeline
- 5: Finishing The Base Materials
- 6: Creating The Substance Material Part 1
- 7: Creating The Substance Material Part 2
- 8: Adding Leaks Using Particle Painting
- 9: Publishing The Substance
- 10: Importing Substance Into UE4
- 11: Changing Substance parameters using Blueprint
プロジェクトファイルのダウンロード
Substance for UE4 Training Series
Substance、UE4のプロジェクトファイルがダウンロードできる
https://forum.allegorithmic.com/index.php/topic,3242.0.html
Substance in Unreal Engine 4 Tutorial: Introduction
Substance in Unreal Engine 4 Tutorial: Introduction

1: Project overview, baking and setup
1: Project overview, baking and setup

プロジェクトの作成
| 項目名 | 値 |
|---|---|
| Graph Template | Physically Based(Metallic/Roughness) |
| Graph Name | archway |
| Size Mode | Absolute |
| Width | 2048px |
| Height | 2048px |
| Format | Relative to Parent |
FBXのインポート
substance_ue4_project.zip内のDataフォルダに格納されているFBXファイルをすべて選択して、開くボタンをクリック

Resourcesを右クリック -> New -> Folder

fbxをダブルクリックすることで3DViewにメッシュを表示することが出来る

Youtubeは4.5.1を使用しているので、メニューの項目が少し変わっている

Tangent Space Pluginの設定
mkktspace.dll

Macroの作成
| 項目名 | 値 |
|---|---|
| Color Map from Mesh | id |
| Normal Map from Mesh | normal |
| Curvature | curvature |
| Ambient Occlusion Map from Mesh | ambient_occrusion |
| Position | position |
| World Space Normals | world_space_normals |
Default Resource Nameを
$(mesh)_ $(spbaker)
archway_bake_lowを右クリック
Bake model Infomationを選択する

normalマップが作成される
ダブルクリックで画像の確認が出来る

同様の手順でdoor_bake,baking_bakeのnormalを作成する

作成したnormalの画像は以下の場所に保存されている
C:\Users(ユーザー名)\Documents\Allegorithmic\Substance Designer\6
Substance Painter
| 項目名 | 値 |
|---|---|
| Template | Unreal Engine 4(allegorithmic) |
| Mesh | scifi_door_mm.fbx |
| Create a texture set per UDIM file | チェックなし |
| Normal map format | DirectX |
| Compute tangent space per fragment | チェック |
| Document resolution | 2048 |
| Import mesh normal maps and baked maps for all materials | archway_normal.png, backing_normal.png, door_normal.png |
Viwer SettingsのEnviroment Mapの設定でEnviromentMapの表示設定が出来る
| 項目名 | 概要 |
|---|---|
| Enviroment Map | 使用するEnviroment Mapを選択する |
| Enviroment Exposure(EV) | 使用するEnviromentの透明度 0:透明~100:不透明 |
| Enviroment Exposure(EV) | 使用するEnviromentのEV値(露出) |
| Enviroment Rotation | 使用するEnviromentを回転させる |
| Enviroment Blur | 使用するEnviromentにBlurをかける 0:くっきり~100:ぼやける |
ImportするResourceをダウンロードする
Eat3d_Bolt_Alpha_70.jpgではなく、Eat3d_Bolt_Alpha_69.jpgを使用していた
Substance、UE4のプロジェクトファイルがダウンロードできる
https://forum.allegorithmic.com/index.php/topic,3242.0.html
substance_ue4_project.zipを解凍した中に入っているalphasフォルダにすべて入っている
(動画 5のdecalsで気づいた)
zbrush development resource site
http://www.badking.com.au/site/
plane_line_v.psdは自作できた
plane_line_h.psdも一緒に作成しておいた
以下からダウンロードできる
https://1drv.ms/u/s!AsyaT0uIFWqQgY5VQraCo1yr9TTl4A
その後、アカウントを作成して、CheckOutをするとダウンロードすることが出来る
Import your resources to:にproject '(プロジェクト名)'を設定する

2: Painting Height Details
Fill layer 1のMaterialをheightだけ有効にする

Alphaを選択する
Alphaフォルダの項目をダブルクリックで選択できる
Tool - Paintの項目のAlphaを左クリックするとリストが表示されるので、リストから項目を選択してもいい

Alphaのブラシを選択したら、ブラシのサイズを変更しながら、ペイントしていく
ブラシのサイズ変更
- Ctrl + Heel
- Ctrl + 右クリック + マウスを前後
Paintする
Greebles_28
Greebles_9

Quick Mask
https://support.allegorithmic.com/documentation/display/SPDOC/Quick+Masking
T : Editing Quick Mask / Using Quick Maskの切り替え
I : Maskを反転
Y : Quick Maskを終了する
Paintツールを選択
plane_line_vを選択
heightのみ有効にして、値を-1にする
直線になるように線を引く
BlashをDefault Hard
ShapeをShape Gradient
Hardnessを1に設定

GrayScaleが設定できなければ、マテリアルを選択する、
GrayScaleを0に設定する

TでQuick maskの編集モードにする
先ほど引いた線とかさなるように、四角く塗る

中間部分をPolygon FIllで黒く塗る
モデルが完全なシンメトリーではないので、少しはみ出てしまう

Polygon FillのUVモードで1.0を塗る
片側だけ塗れば、もう一方も1.0で塗られる

中心線まで横線を塗って、反対側と線を繋げなくてもいい
YキーでQuick maskを終了させる

動画の9:50くらいの作業
★Detailレイヤーを選択してから作業を開始する
Greebles_18で中央を2回ペイント

動画10:01くらいの作業
Eat3d_Bolt_Alpha_59
動画10:05くらいの作業
動画10:11くらいの作業
Vents_16を選択
動画10:15くらいの作業
Greebles_13
動画10:18くらいの作業
Scfi_Panels_13
動画10:22くらいの作業
Scfi_Panels_12
動画10:27くらいの作業
Eat3d_Bolt_Alpha_69
動画10:30くらいの作業
Greebles_2
動画10:32くらいの作業
Vents_18
動画10:38くらいの作業
Vents_07
動画10:47くらいの作業
Greebles_13
動画10:47くらいの作業
Greebles_28
動画10:51くらいの作業
Eat3d_Bolt_Alpha_59
動画10:53くらいの作業
Vents_07
動画10:57くらいの作業
Greebles_13
動画10:57くらいの作業
Nurnies_12 (XMD_Mech_Insert_20の代わり)
XMD_Mech_Insert_20は公式formからダウンロードすることが出来るsubstanceプロジェクトのalphasフォルダ内に入っている
動画11:06くらいの作業
Greebles_9
動画10:53くらいの作業
Vents_07
動画11:14くらいの作業
Eat3d_Bolt_Alpha_47
動画11:46くらいの作業
Vents_16
archwayの塗り完了
backingのペイント
ペイントツール
plane_line_h
heightのみ有効にして、heightの値を0.7

上部の突起にも溝を作る
Iで反転
UでUsing quick mask
ペイントツール->plane_line_h
5本幅が均等になるように線を引く

Bolts Layerを選択
Eat3d_Bolt_Alpha_47

doorのペイント
Layerを作成する
また見つからないブラシを使っていたので、自作
以下よりダウンロード
https://1drv.ms/i/s!AsyaT0uIFWqQgY8cmw90MJeR4THhKA
Greebles_03
Nurnies_01
Nurnies_03
height 1.0
Bolts Layerを選択
Eat3d_Bolt_Alpha_01
height -1.0

Details Layerを選択
Eat3d_Bolt_Alpha_59
Eat3d_Bolt_Alpha_59
height 0.4
Eat3d_Bolt_Alpha_70
height 0.2
SideをQuick maskで選択する
Scifi_Plane_12
height 1.0

Bolts Layerを選択する
床をquick maskで選択してペイント
Detail Layerを選択する
plane_line_hとplane_line_vで溝を作成する

Size Ratioが最新版では見つからなかったので、
長方形のAlphaを作成した
以下からダウンロードしてインポート
https://1drv.ms/i/s!AsyaT0uIFWqQgY8dWfqeEStq-3iwew
Stencil Mask
https://support.allegorithmic.com/documentation/display/SPDOC/Paint+brush
It is possible to edit the stencil transformation by pressing the shortcut S :
- Use S + Left Mouse click to rotate the stencil.
- Use S + Left Mouse click + SHIFT to snap/constrain to rotation of the stencil.
- Use S + Right Mouse click to Zoom/Unzoom the stencil.
- Use S + Middle Mouse click to translate the stencil.
補足
手順にはなかったが、パイプに溝が書かれている(動画4のNormalで気付いた)

いい感じのブラシもないので、自作した
Pipe_Groove.png
https://1drv.ms/i/s!AsyaT0uIFWqQgY92BXFpmKLH2O_sRQ
一本ずつquick maskで設定してから塗った方が塗りやすい

3: Creating Base Materials
Heightのレイヤーをグループ化
Layer名をHeightに設定する
archwayのみ表示する

Fill Layerを追加し、Layer名をmaterialに設定する

動画との色を近づけるために、
Enviroment mapをbonifacio_streetに変更

動画ではMaterialはuniform_cobaltを使用するといっているが、Substance Painterでは品質が満足できず削除されてしまったらしい
https://forum.allegorithmic.com/index.php?topic=9492.0
Roughnessの値を大きくすると、プラスチックのような質感になる

uniform_plastic_glossyがPS2では削除されているので、
Plastic Glossy Pureをダブルクリックする

フォルダを作成する
名前をPaint GRPに設定する
PaintレイヤーをForderにドラッグ&ドロップして、Forder内に入れる

追加したForder Paint GRPを右クリック
Add black maskを選択する

はみ出したところは、grayscaleを0.0に設定して黒で塗る

Quick maskを設定してから塗った方が、パイプと重ねる箇所を塗る時に楽になる

materialレイヤーを選択してから、Fill Layerを追加する
名前をPipesに設定する

Iでmaskを反転させ、
Polygon fillでパイプ部分を白く塗る

Light GRPフォルダを作成
materialレイヤーを選択し、Fill Layerを追加する
追加したFill LayerをLight GRPフォルダの中に入れる

TextureSet Settings にEmissiveを追加する
TextureSet Settings
https://support.allegorithmic.com/documentation/display/SPDOC/TextureSet+Settings
Light GRPにLayerを追加する
emissのみ有効にする
Stencil にFence 01を設定する

Post Effectの確認
ドキュメントが完全に執筆されていない
https://support.allegorithmic.com/documentation/display/SPDOC/Post+Effects
Backing
Backingのみ表示
今までのHieghtをペイントしてレイヤーをGourp化
名前をHeightにする
Fill Layerを追加する
名前をAll Layerに設定する
Paint GRPフォルダ内に入れる

plastic Glossy Pureをダブルクリックする
Materialを右クリック -> Create material preset

新規作成したmaterialを右クリック
名前をscifi door presetに設定する

再びbackingを選択する
All Paint レイヤーを選択する
scifi door presetをダブルクリック
柱の下部分を塗る
Pollygon FillのUVで2D側を塗るのが速い

door
doorを表示して、
heightをペイントしたレイヤーをGroup化

フォルダを追加し、
名前をFloor GRPに設定する
Fill Layerを追加し、
Floor GRP内に入れる

動画と使用しているパラメーターが一番近い
Steel Rust and Wear を使用する

名前をFloorに設定する
Floor GRP にblack maskを追加する

Floor GRPのmaskをPollygon fillのUV(1.0)で床部分だけ質感が表示されるように塗る

Fill Layerを追加し、
名前をDoorに設定し、
Floor GRP内に入れる

Heightフォルダを選択して、Fill Layerを追加する(移動の手間が省ける)
名前をmetalにする
Cobalt Pureをダブルクリック
Door GRPのmask部分を選択する
Paintツールを選択し、Default Hardを選択する
ShapeにGradientを設定する
Hardnessを1に設定する
Doorの右側半分を塗りつぶす

Pollygon fillのUV(1.0)で塗りつぶしてしまった柱のmaskを復活させる

door正面も同じ形状のAlphaを選択して、溝の部分だけがmetalレイヤーが有効になるようにmaskを復活させる

Door GRPを選択してからLayerを追加する
TextureSet SettingsのChannelにEmissiveを追加する

Default Hardを選択
colorとemissだけ有効
Base Color R 0.011 G 0.214 B 0.712
Emissive R 0.458 G 0.681 B 0.993
Doorの下側の丸部分を塗って光らせる

Emissive Intensityの数値を大きくすれば、塗った個所が光る

Fill layerを追加する
Pint GRP内に追加したlayerを入れる
scifi_door_presetをダブルクリック

Pollygon FillでPaintを反映させたいUVのmaskを1.0で塗る

4: Setting Up An Export Pipeline
4: Setting Up An Export Pipeline

Substance PainterとSubstance Designerでお互いにExportしたテクスチャデータをリンクさせる
Substance PainterのTexture書き出し
3DViewを右クリック
Export Texturesを選択
Ctrl + Shift + Eでもいい

Designerと共有しやすいフォルダを選択する(今回はspexportという名前のフォルダを作成する。DesignerでFilterを作る時に特定しやすい名前にしておくのがいい)
16bitを選択する
Configに [Document channels + Normal + AO(No Alpha)]を選択
Exportをクリック

Substance Designerの書き出したテクスチャのFilter設定
Substance Designerを開く
Projectsを選択する
Libraryタブを選択する
+をクリック
先ほどPainterでTextureを書き出したフォルダのパスを選択する
OKで確定する

Filterの追加
+をクリック
名前をsp exportに設定する

Filterの条件を入力する
- Bitmap
- Url
- Contains
- spexport
条件内容:画像、URL,spexportを含む
Base Colorの共有
archway_base_colorをGraphにドラッグ
Link resource(s)を選択する

Graphにノードが追加される
2D表示にテクスチャが表示される

Substance Painteを表示する
archwayを選択する
Paintレイヤーを選択する
BaseColorを変更する
Textureを再度Exportする
archwayのみをExportする

Substance Painterに戻り、
Undo StackでColorの変更を無しにする
Substance Designerからのテクスチャ共有
archway_Normal_DirectXをドラッグ
Link resource(s)を選択

Curvatureを検索してドラッグする
NormalとCurvatureをつなぐ

Intensityの値を3.14に設定する
輪郭が強調される

Save Current image as bitmapをクリック
meshDateフォルダを作成して、作成したフォルダを選択

ファイル名: archway_curvature
ファイルの種類: bmp
保存する

Substance Painterを表示
File -> Import resources

archway_curvature.bpmをtextureとして、project 'archway'にImportする
このプロジェクトでしか使わないので、Projectでいいと思う

Intensityの値を1に戻して、archway_curvature.bmpを上書き保存する

Substance Painter側に変更が反映されていないので、
archway_curvatureを右クリック -> Reload
変更が反映される

Substance Designerに戻り、
CurvatureのIntensityを3.93に設定する

Ambient Occlusionを検索し、Graphに追加する

archway_HeightのLink resourseを追加する
GrayScaleを選択する

つなげる
HeightからAmbient Occlusionを作成することが出来る

Spreadingを0.01に設定する
溝の部分のみが黒くなる

archway_ambient_occlusion.bmpでarchway_curvature.bmpと同じフォルダに保存する

archway_ambient_occlusion.bmpをtextureでproject 'archway'にインポートする

TexureSet Settingsを選択する
Select ambient occlusion mapをクリック
archway_ambient_occlusionを選択する
Select curvature mapをクリック
archway_curvatureを選択する

4はここまでだけど、5では backingとdoorにもcurvatureとambientOcclusionが作成されている
archwayのcurvature,ambient occlusionをbackingとdoor分コピーする
backingとdoorのnormal,heightのLink resoureceを追加する
archwayと同様にnormalにcurvature, heightにambient occlusionをつなげる

backingとdoorのcurvature,ambient_occlusionをbmpで保存する
archwayのcurvature,ambient occlusionと同じフォルダに保存する
Substance Painterにtextureとしてインポートする

backing,doorにAmbientOcclusion,Curvatureを追加する


これでおしまい
5: Finishing The Base Materials
5: Finishing The Base Materials

Roughness (archway)
archwayのみ選択して表示する
Fill layerを追加する
名前をRoughとする
Materialをroughのみ有効にする
Roughness表示にすると、ImportさらたCurvatureとAmbientOcclusionが反映されている
溝やねじ穴といったところがはっきりとしている

MG_Dirtのプロパティを設定する
値をデフォルト値から変えた項目
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.86 |
| Dirt Contrast | 0.5 |
| Grunge Amount | 0.53 |
| Grunge Scale | 1 |
パラメーターの微調整
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.78 |
| Dirt Contrast | 0.72 |
| Grunge Amount | 0.44 |
数値を色々変更してみて理想形に近づける(任意)
MG_Dirtを再び編集する
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.75 |
| Dirt Contrast | 0.46 |
| Grunge Amount | 0.64 |
再びRoughnessの値を調整する
値を0.35に設定する

MG_Dirtを再び編集する
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.65 |
| Dirt Contrast | 0.67 |
調整前(MG_Dirtなし)と調整後(Roughnessの影響度、MG_Dirt調整)

materialレイヤーの上にDuplicateしたRoughレイヤーを移動し、名前をrough metalに変更する

MG_Dirtを編集する
| 項目名 | 値 |
|---|---|
| Dirt Contrast | 0.48 |
Roughness (backing)
backingのみ有効にする
Fill layerをPaing GRPに追加する
roughのみ有効にする
値を0.35に設定する

Add effects -> Add generatorを追加

MG_Dirtのプロパティを設定する
値をデフォルト値から変えた項目
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.81 |
| Dirt Contrast | 0.73 |
| Grunge Scale | 1 |
archwayと同じパラメーターに設定する
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.65 |
| Dirt Contrast | 0.67 |
| Grunge Amount | 0.64 |
| Grunge Scale | 1 |
![]() |
後ろの方が色が濃い
Roughness表示にして、Grayの色を近づけたほうが合わせやすい
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.7 |
| Dirt Contrast | 0.63 |
| Grunge Amount | 0.74 |
| Grunge Scale | 2 |
ここまでの全体
Roughness (door)
Fill layerをPaint GRPに追加する
名前をRoughに設定する
roughのみ有効にする
値を0.35に設定する

Add effects -> Add generator
GeneratorにMG_Dirtを設定する

archwayとbackingを表示する
Roughness表示にして、Grayの色を近づけたほうが合わせやすい
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.78 |
| Dirt Contrast | 0.59 |
| Grunge Amount | 0.59 |
| Grunge Scale | 2 |
Door GRP内のDoorレイヤーの上に移動する
名前をRoughに変更する

パラメーターの調整
Door GRPのRough
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.51 |
| Dirt Contrast | 0.76 |
| Grunge Amount | 0.62 |
| Grunge Scale | 2 |
RoughをDuplicateする
metalレイヤーの上に移動する
MG_Distのパラメーターを編集する
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.67 |
| Dirt Contrast | 0.59 |
| Grunge Amount | 0.59 |
| Grunge Scale | 2 |
同様にRoughをDuplicateして、
Floor GRP内のFloorレイヤーの上に移動する
名前をRoughに変更する
MG_Distのパラメーターを編集する
| 項目名 | 値 |
|---|---|
| Dirt Level | 0.6 |
| Dirt Contrast | 0.86 |
| Grunge Amount | 0.64 |
| Grunge Scale | 2 |
Roughness (archway Pipe)
Folderを追加する
名前をPipe GRPに設定する
PipeレイヤーをPipe GRP内に入れる

PipeのmaskをPipe GRPに移植する
PipeのmaskをCopy maskする
Pipe GRPのblack maskにPaste maskをする
Pipe GRPにLayerを追加する
名前をPipe Roughに設定する

Blushes -> Dirt2
roughのみ有効
値を0.6に設定

Pipeを順次塗っていく
Roughness表示にして塗ると塗りやすい

Decals (archway)
Substance、UE4のプロジェクトファイルがダウンロードできる
https://forum.allegorithmic.com/index.php/topic,3242.0.html
substance_ue4_project.zipを解凍した中に入っているdecalsフォルダのpsdをインポートする
decals.psd, decals_metal.psdをTextureとしてインポートする

archwayのみ表示する
Layerを追加する
名前をDecalsに設定する

Projectionを選択する
color,metalのみを有効にする
Base Color,MettallicにインポートしたDecalを設定する

Decals (door)
Doorのみを表示する
Layerを追加する
名前をDecalsに設定する

Projectionを選択する
Metallicに関係ないところに塗るので、
MetallicのDecalを削除する

TextureのExport
動画5終了
6: Creating The Substance Material Part 1
6: Creating The Substance Material Part 1

ここで学習できること
基本的なノードの使い方
Base Materialの作り方
Materila Color Blend
Metal Edge Wear
Dirt
Graphを追加する
archway.sbs
New -> Substance Graph

| 項目名 | 値 |
|---|---|
| Graph Template | Physically Based(Metallic/Roughness) |
| Graph Name | New Graph |
| Size Mode | Absolute |
| Width | 2048px |
| Height | 2048px |
| Format | Relative to Parent |
OutputにAmbient Occlusionを追加する
IdentifierをAmbient_Occlusionに設定する
Add Itemをクリック
RGBA, ambientOcclusionに設定する

Base Materialに設定する
archway_Base_ColorのLink resourceを追加する

その他のTextureのLink resourceを追加する
archway_Normal_DirectX
archway_Roughness
archway_Metallic
Base Materialを追加する
Material Filters -> PBR Utilities
Base MaterialをGraphに追加する

User-Defind Mapを有効にする
- Base Color
- Normal
- Roughness
- Metallic
表示形式をStandardに戻して、outをクリックすると出力結果を確認することが出来る

Compactに戻す
Base MaterialのOutをOutputのノードにつなげると、すべてのノードにつなげてくれる

Base Colorの特定の色を変更する
Graphを右クリック
View outputs in 3D Viewを選択する
materialを反映するmeshを選択する
3DViewにmaterialの結果が表示される

Graph 右クリック -> Add Node -> Uniform Color

Graphの上のアイコンをクリックでも追加できる
こちらの方が速いので、よく使うNodeは覚える

BlendノードにUniform ColorとBase_Colorのテクスチャをつなげる
Uniform ColorをBase Colorのテクスチャの青い部分と同じ色に設定する

maskで検索する
Color to MaskをGraphにドラッグする
Base ColorとColor to Maskをつなげる
Color to MaskのColorをBaseColorと同じ色に設定する
Mask Rangeを1に設定する
Color to MaskのOutとBlendのOpacityをつなげる
Uniform ColorのColorを変更する
BlendのOutputをダブルクリックする
BaseColorの青の部分がUniform Colorの色に設定することが出来る

BlendのOuptutをBase MaterialのBaseColorにつなげる
Metal Edge Wearで傷をつける
Mesh Adaptive -> Mask Generators
Metal Edge WearをGraphにドラッグ

Material Filters -> Material Color BlendをGraphにドラッグ

Base MaterialのOutputとMaterial Color Blendをつなげる
Material Color BlendのChannelsの設定を変更する
| Channel名 | True/False |
|---|---|
| Diffuse | False |
| Base Color | True |
| Normal | True |
| Specular | False |
| Emissive | False |
| Glossiness | False |
| Roughness | True |
| Metalic | True |
| Specular Level | False |
| Ambient Occlusion | True |
| Height | False |
| Opacity | false |
NormalとCurvatureをつなげる
CurvatureのIntensityを4.08に設定する

archway_HeightのLink resourceを追加する
archway_HeightとAmbient Occlustionをつなげる
Ambient OcclusiontのSpreadingの値を0.01に設定する

Curvature,AO(Ambient Occlusion)をMetal Edge Wearにつなげる

Metal Edge WearとMaterial Color Blendをつなぐ

Material Color BlendのOutputとOutputピンをつなぐ

Ambient OcclusionとOutputのAmbient Occlusionをつなぐ(ここでOutputを増やす方法を知った)

Material Color BlendのInstance Parametersの調整
Base MaterialのMaterial Presetを変更し、Base Colorを取得する
OutputをExpand Nodeで各チャンネルを操作できるように分割する

Base ColorのMaterialPresetをCopperに設定する

Base ColorのMaterialPresetをCobaltに変更する

Material Color BlendのBase ColorをMaterial Preset Cobaltの色に設定する

その他のChannel
Normal
Normal Opacityを0.01に設定する

Metallic
ColorのLを255に設定する
(傷がついた場所の光沢がなくなる)

Roughness
Color Lを94に設定する
(傷がついた場所にも少し光沢を入れて、傷がない場所の光沢を抑える)

Metal Edge Wearの調整
Color to MaskとMetal Edge WearのMask(Optional)をつなげる
(色がついているところのみ傷が反映される)

Ambient Occlusion Mappingを0.98に設定する
(溝の中にmaskがはっきりする)

DirtをMaterialにBlend
DirtとMaterial Color Blendを追加する
Material Color BlendをGraphにドラッグ

| Channel名 | True/False |
|---|---|
| Diffuse | False |
| Base Color | True |
| Normal | True |
| Specular | False |
| Emissive | False |
| Glossiness | False |
| Roughness | True |
| Metalic | True |
| Specular Level | False |
| Ambient Occlusion | False |
| Height | False |
| Opacity | false |
Material Color BlendとMaterial Color BlendのMaterialをつなげる
DirtとMaterial Color BlendのGrayscaleをつなげる

Metal Edge Wearで使用していたCutvature,AOをDirtにつなげる

Dirtを反映したMaterial Color BlendをOutputにつなげる

Material Color Blend(Dirt)の調整
Base Color
RGBを変更する RGB(79,71, 68)

Dirtのmaskを作成する
Base ColorをBlendの黒の部分と同じ色に設定する

Blendを追加する
2つのColor to MaskをBlendにつなげる

Blending ModeをAdd(linear Dodge)に設定する


DirtのInstance Parametersを調整する
Dirt Level 0.76
Dirt Contrast 0.3

Material Color Blend(Dirt Invert Grayscle)の作成
Dirt,Material Color Blendを複製する

Color BlendのOutputとOutputピンをつなげる
DirtのGrayscaleのLinkを切断する

Invertで検索する
Invert Grayscaleを追加する

DirtのInstance Parametersを調整する
Dirt Level 0.59
Dirt Contrast 0.43
Material Color BlendのOutputを選択する
MetallicのColor Lを255に設定する
(Metalの部分は白くなる)

7: Creating The Substance Material Part 2
7: Creating The Substance Material Part 2

OutputのRoughnessを調整する
UniformColorのColor ModeをrayScaleに設定する

BlendのForegroundとUniform ColorのOutputをつなげる
Material Color BlendのOutputをExpand Material(Group)で分割する
BlendのBackgroundからMaterial Color BlendのRoughnessとつなげる
BlendのBlend ModeをAdd(Linear Dodge)に設定する

Uniform ColorのOutputとRoughnessをつなげる
Uniform ColorのOutput Color Lの数値を変更することで、出力するRoughtnessの調整をすることができる

Graphをダブルクリック
Input ParametersのAdd a new input tweakをクリック

パラメータを設定する
input tweak
| 項目 | 値 |
|---|---|
| Identifier | metal_rough |
| Label | Metal Rough |
| Defailt | 0.01 |
Uniform ColorのOutput ColorにEmpty Functionを追加する

Functionをダブルクリック
GpaphがFunctionの編集に変わる

Get Floatを追加する
右クリック -> Add Node -> Variables -> Get Float

Variables/Get Floatにmetal_roughを選択する

Linear Interpolationを追加する
右クリック -> Add Node -> Function -> Linear Interpolation

Constant Floatを追加する
右クリック -> Add Node -> Constant -> Float

Constant Floatを複製する
Linear InterpolationにConstantをつなげる

Linear Interpolation Bにつないでいる側のConstant Floatを0.4に設定する

Linear Interpolationを右クリック
Set as Output Nodeを選択

Input Parametersの metal_roughのdefaultを変更することで、
Uniform ColorのGrayscaleが変更される

各ノードのパラメーターをInput Parameter化する
Uniform ColorのOuptut Colorをpaint_colorとしてInput Parameterに追加する
Uniform Colorを選択
Output ColorのExposeを選択
Input NameをNewに設定する
Input Nameをpaint_colorに設定する
OK -> OK

paint_colorがInput Parametersに追加される

Metal Edge WearのWear Levelをmetal_wear_levelとしてExposeする

Metal Edge WearのGrunge_amountをmetal_grunge_amountとしてExposeする

Dirtを選択する
Dirt Levelをpaint_dirt_levelとしてExposeする

DirtのGrunge Amountをpaint_grunge_amountとしてExpose
Dirtを選択する
Dirt Levelをmetal_dirt_levelとしてExposeする
Grunge Amountをmetal_grunge_amountとしてExpose

metal_wear_levelの設定を変更する
| 項目 | 値 |
|---|---|
| Label | Metal Wear Level |
| Group | Weathring |
![]() |
paint_dirt_levelの設定を変更する
| 項目 | 値 |
|---|---|
| Label | Paint Dirt Level |
| Group | Weathring |
paint_grunge_amountの設定を変更する
| 項目 | 値 |
|---|---|
| Label | Paint Dirt Grunge Amount |
| Group | Weathring |
metal_grunge_amountの設定を変更する
| 項目 | 値 |
|---|---|
| Label | Metal Dirt Grunge Amount |
| Group | Weathring |
metal_dirt_levelの設定を変更する
| 項目 | 値 |
|---|---|
| Label | Metal Dirt Level |
| Group | Weathring |
順番を並び替える
paint_colorの設定を変更する
| 項目 | 値 |
|---|---|
| Group | Material |
metal_rooughの設定を変更する
| 項目 | 値 |
|---|---|
| Group | Material |
archwayを複製してbackingのgraphを作成する
archwayをコピーして、archway.sbsにペースト

backingにリネームする
Open -> backing

backingのTextureのLink resourceを追加する

archwayのTextureをつなげていた箇所を置き換える
archwayのTextureを削除する

Graphを右クリック -> View outputs in 3D View -> backing

archwayを複製してdoorのgraphを作成する
archwayをcopy
archway.sbsにpaste

doorにリネーム
doorを右クリック -> Open -> door

doorのTextureのLink resourceを追加する

archwayのTextureをつなげていた箇所を置き換える
archwayのTextureを削除する

Invert GrayscaleをGraphに追加する
MetallicとInvert Grayscaleをつなげる

DirtのmaskにInvert Grayscaleのoutputをつなげる
maskを削除する

Paint Dirt Levelを調整する
| 項目 | 値 |
|---|---|
| Default | 0.67 |
MetallicのInvert GrayscaleのOutputをMetal Edge Wearのmaskに設定する

Metal Wear Levelを調整する
| 項目 | 値 |
|---|---|
| Default | 0.59 |
door:Emissiveを追加する
UsageのAdd Itemクリック
RGBA / emissiveに設定する
Identifierをemissiveに設定する
door_EmmisiveのLink resourceを追加する
Output(emmisive)とdoor_Emmisiveをつなげる

3DViewのMaterials -> door -> Editをクリック
Emissive Intensityを2に設定する

archway:Emissiveを追加する
OutをクリックしてOutputを追加する
archway_EmissiveのLink resourceを追加する
Outputの設定を変更する
UsageのAdd Itemクリック
RGBA / emissiveに設定する
Identifierをemissiveに設定する
archway_EmissiveとOutputをつなげる
archwayをarchway_resourceに変更し、
archway_1をarchwayに変更する

8: Adding Leaks Using Particle Painting
8: Adding Leaks Using Particle Painting

archwayのLeaksペイント
Substace Painterでarchway.sppを開く
archway_Normal_DirectX.pngをインポートする

archwayを選択
TextureSet Settings
Select normal map
archway_Normal_directXを選択する

archwayのみ表示する
Layerを追加する
名前をLeaksに設定する

黒のFill Layerを追加する
Leaksの塗った部分のみ白くなるようにする

Ctrl + Shift + EでTextureをExportする
masksフォルダを作成して、出力先を変更する

archway_Base_Color.pngをmaskとして使用する

出力後は使用しないので、Leaks,Fill layer 2を非表示にする

backingのLeaksペイント
backingのみ表示する
Layterを追加する
名前をLeaksに設定する
white maskを追加する

backing_Normal_DirectX.pngをインポートする

Normal mapを追加する
TextureSet Settings
Select normal map
backing_Normal_DirectX

出力後は使用しないので、Leaks,Fill layer 2を非表示にする

designer archwayにLeaks maskを追加する
Preference Libraryにmasksフォルダを追加する

archwayのGraphにarchway_Base_Colorを追加する
Grayscaleに設定する

Material Color BlendのChannelsを設定する
| Channel名 | True/False |
|---|---|
| Diffuse | False |
| Base Color | True |
| Normal | True |
| Specular | False |
| Emissive | False |
| Glossiness | False |
| Roughness | True |
| Metalic | True |
| Specular Level | False |
| Ambient Occlusion | False |
| Height | False |
| Opacity | false |
Material Color Blendを各所につなげる
Material Color Blendのパラメータを調整する
Base Color
Color : RGB(50,41,32)
Opacity : 0.25
Base Color
Opacity : 0.38
Blending Mode : Multiply

Base Color
Opacity : 0.43
Blending Mode : Normal
Input Parametersを追加する
| 項目 | 値 |
|---|---|
| Identifier | Leaks |
| Type/Editor | Boolean/Buttons |
| Defailt | True |
Base ColorのOpacityにEmpty Functionを追加する

FunctionのアイコンをダブルクリックしてFunctionのGraphを表示する

Get Booleanを追加する
右クリック -> Add Node -> Variables -> Get Boolean
Variables / Get BooleanにLeaksを設定する

If...Elseを追加する
右クリック -> Add Node -> Control -> If...Else

Constant Floatを追加する
右クリック -> Add Node -> Constant -> Float

Constant Floatを複製する
値を0に設定する
If...Elseにつなげる

LeaksのTrue/Falseで水の垂れた効果の表示/非表示を切り替えられる

Input Parameter Leaksの設定を変更する
Label : Leaks
Group : Weathring

designer backingにLeaks maskを追加する
backing_Base_ColorのLink resourceを追加する
Grayscaleに設定する

Material Color BlendのChannelsを設定する
| Channel名 | True/False |
|---|---|
| Diffuse | False |
| Base Color | True |
| Normal | True |
| Specular | False |
| Emissive | False |
| Glossiness | False |
| Roughness | True |
| Metalic | True |
| Specular Level | False |
| Ambient Occlusion | False |
| Height | False |
| Opacity | false |
Base Color
Color : RGB(50,41,32)
Opacity : 0.5
Normal
Height Opacity : 0.01
Input Parametersを追加する
| 項目 | 値 |
|---|---|
| Identifier | Leaks |
| Type/Editor | Boolean/Buttons |
| Label | Leaks |
| Group | Weathring |
| Defailt | True |
SVG
Choose a resource nameをvent_masksに設定する
OKをクリック

選択ツールでPathで囲んだ箇所を選択する
RGB(255,255,255)に設定する

SVGのOutputとMetal Edge WearのGrayscaleをつなげる

SVGのOutputとInvert Grayscaleをつなげる

Bldをクリックし、Blendを追加する
Blendに対して各ノードをつなげる
BlendのBlend ModeをMultiplyに設定する
BlendのOutputとMetal Edge Wearをつなげる
Curvatureが外れていたので、Metal Edge Wearにつなげる

Bldをクリックし、Blendを追加する
Metal Edge WearとBlendをつなげる
BlendのOutputとMatarial Color Blendのmaskとつなげる

Curvature Werightを0.17に設定する
(溝部分の金属が表示される)

Frameを追加して、処理をまとめる
Backing側もLeaksのmask処理を行う
9: Publishing The Substance
backingのOuptut Sizeの設定を行う
Graphをダブルクリック
Base Parametersを表示する

Output SizeにRelative to Parentを設定する

Outputが256x256に変更される
(Base Color, Normal, Metallic, Roughness)

Height,Ambient Occlusionは2048x2048のままになっている
Heightは使用しないので削除する

Ambient OcclusionのOutput SizeをRelative Parentに設定する
256x256にサイズが変わる

doorのOuptut Sizeの設定を行う
LvlをクリックしてLevelを追加する
Emissiveの中間になるようにつなげる

LevelのOutput SizeをRelative to Parentに設定する

Ambient OcclusionのOutput SizeをRelative to Parentに設定する

archwayのOuptut Sizeの設定を行う
Graphをダブルクリック
Relative to Parentを選択する

LvlをクリックしてLevelを追加する
Emissiveの中間になるようにつなげる
LevelのOutput SizeをRelative to Parentに設定する
Ambient OcclusionのOutput SizeをRelative to Parentに設定する

Parent Sizeを変更すると、Output Sizeが変更される

archway_Base_ColorのBitmap FormatをJpegに設定する

Bitmap FormatはNormalだけRaw、その他はJpegに設定する
(Vents_maskはBitmap Formatが無いので変更なし)
| Texture名 | Bitmap Format |
|---|---|
| archway_Base_Color | Jpeg |
| archway_Normal_DirectX | Raw |
| archway_Height | Jpeg |
| backing_Height | Jpeg |
| backing_Normal_DirectX | Raw |
| door_Normal_DirectX | Raw |
| door_Height | Jpeg |
| archway_Roughtness | Jpeg |
| archway_Metallic | Jpeg |
| backing_Base_Color | Jpeg |
| backing_Metallic | Jpeg |
| backing_Roughness | Jpeg |
| door_Base_Color | Jpeg |
| door_Roughness | Jpeg |
| door_Metallic | Jpeg |
| door_Emissive | Jpeg |
| archway_Emissive | Jpeg |
| archway_Base_Color_1 | Jpeg |
| backing_Base_Color_1 | Jpeg |
Public selected element(s)
archway.sbsを選択する
Publish selected element(s)のアイコンをクリック

archway.sbsと同じフォルダに名前をsifi_door.sbsarに設定して保存する

OKボタンをクリックすると、sifi_door.sbsarが出力される

10: Importing Substance Into UE4,
10: Importing Substance Into UE4

UE4 4.4.5なのでバージョンがかなり変わっている
Substance Pluginをインストールする
マーケットプレイスからSubstanceを検索する
Substance Pluginを選択する

Substance Pluginを取得していない場合は取得する
Substance Pluginを取得しているならエンジンにインストールするを選択する

ForumのUE4 ProjectをUE4 15.1で開く
作成したsifi_door.sbsarを読み込む
Content -> materials -> substanceフォルダ内のアセットをすべて削除する

archwayのInstanceとMaterialをインポートする

archway_resourceはmeshに関係が無いので、Importしない
designerから消してしまったほうがいい

backingのInstanceとMaterialをインポートする

doorのInstanceとMaterialをインポートする

archway_INSTをダブルクリック
Output Sizeを2048pxに変更する

Emissiveの調整
archway_MATをダブルクリックし、マテリアルエディタを開く

doorも同様にEmissiveを光らせる
door_MATをマテリアルエディタで開く

Blueprintのエラー取り
レベルブループリントを開く
sg_archwayのデフォルト値にarchway_INSTを設定する

sg_backingのデフォルト値にbacking_INSTを設定する

ArrayとInput Valuesがはずれているので、つなげる

UMGを有効にする
レベルブループリントのEvent Begin PlayをSequenceにつなげる

ボタンとスライダーでBase ColorやMetal部分にDamageの質感を与えることが出来る
詳しくは動画11で実施

11: Changing Substance parameters using Blueprint
11: Changing Substance parameters using Blueprint

サンプルプロジェクト内にBlueprintとか動かせるので、詳細に書くよりサンプルプロジェクトの中身を見ながら動画を見るのがオススメ





























































































































































































































































































































































































































