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とか動かせるので、詳細に書くよりサンプルプロジェクトの中身を見ながら動画を見るのがオススメ