Substance Designer メモ
エフェクト製作で必要そうなメモ。
なお、英語版を使用。
グラフを補助する
Comment
コメントできる。
Dot Node
使用したいノードまとまられる
Frame
ノードを分かりやすくできる。
Pin
F2を押すことでフォーカスを当てることができる。
シェイプや模様の元になるノード
Shape
基本的な形を作成できる
なお、Tillingで複数作成できる。
また、円の形したものが多いが、Normalに変換すると違いがわかりやすい。
(作例で学ぶSubstance 3D Designerの教科書のp179参照)
Polygon1
色々な多角形を作成できる。
Noise関連
Pattern関連
FX-Map
少し難しいのでパス
参照サイト
形状を変えるノード
Transformation 2D
位置、回転、大きさを変更できる。
Tilling ModeでTillingの方向を限定できる。
Warp
Gradient Inputにテクスチャを指定して、形状やノイズを変えたりすることができる。
Directional Warpの方が形状破綻しにくいが、変形はやや緩やかである。
Directional Warp
ワープの方向を指定するためIntensity Inputにテクスチャを指定して、形状やノイズを変えたりすることができる。
Multi Dir. Warp Grayscale
ワープの方向を指定するためIntensity Inputにテクスチャを指定して、形状やノイズを変えたりすることができる。
Directional Warp とは異なり、アトミック バージョンでは 1 つの方向のみを押すことができるのに対し、複数の方向に押すことができます。このようにして、ディレクショナル ワープが常に単一の方向に画像を押し出しすぎるように見えるという古典的な問題が解決され、単一の方向ではなく複数の方向または軸に沿って機能します。
参照サイト
Swirl Grayscale
渦巻状の変形を行う。
Quad Transform Grayscale
つまみをいじって形状を変更できる。
Mirror Grayscale
形状を反対して新しい形状を追加できる。
Polar to Cartesian Grayscale
極座標から直交座標
Cartesian To Polar Grayscale
直交座標から極座標
Vector Wrap Grayscale
Vector Mapを指定して変形させる。
Vector Mapとは、RとGで表現されるマップである。Rがx軸方向、Gがy軸方向への変化量を示している。
Grayscaleはチャンネルが一つのなので変化量も1次元的になるが、Vector Mapを使用すると2次元的な変化量を表現できるため、より複雑な変形を行うことができる。
合成するノード
Blend
ノードを合成できる。
①Blending Mode
■Copy
Opacityの値によってForGroundかBackGroundが表示される。
Opacityが1の時、ForGroundが表示される。
Opacityが1以下のときは、BackGroundとブレンドされる。
■Add
加算する
■Subtract
BackGroundからForGroundを減算する
■Multiply
乗算する
■AddSub
ForGround > 0.5→ForGround+BackGround
ForGround < 0.5→ForGround-BackGround
■Max
ForGroundとBackGround比較して、明るい方を反映する。
ハイトマップなどで利用すると便利。
■Min
ForGroundとBackGround比較して、暗い方を反映する。
ハイトマップなどで利用すると便利。
■Switch
Copyと同じで、OpacityによってForGroundとBackGroundのブレンド変える。
違いが正直よくわからない。
■Divide
割り算する。
■Overlay
BackGround > 0.5→Screen
BackGround < 0.5→Multiply
■Screen
ForGroundとBackGroundが反転され、乗算、再度反転。結果は乗算とは逆の効果であり、元の下レイヤー画像と比較して常に等しいかまたはより明るくなる。
正直、Addとの違いがわからない。
■Soft Light
ForGround > 0.5→BackGroundを明るくする
ForGround < 0.5→BackGroundを暗くする
②Cropping Area
範囲指定できる。
階調を整理するノード
Levels
グラフをいじって階調を変える。
Threshold
2値化の階調にできる。
Invert Grayscale
階調を反転する。
Histogram Select
特定の階調域を抽出できる。
Histogram Scan
階調域を絞り込むような挙動する。
Histogram Shift
階調の位置をずらすことができる。
Quantize Grayscale
ポスタリゼーションにできる。
階調を作るノード
Blur HQ
ブラーをかける。
「ボックスブラー」操作を実行します。
つまり、設定された距離にわたるピクセルの値を平均化し、ぼやけて不鮮明な外観をもたらします。
Blurの方は、品質が低いがその分軽い。
参照サイト
Directional Blur
任意の方向を指定してブラーをかけることができる。
Slope Blur
インプットされたグレースケールに従って、ぼかしを行う。
Distance
白い部分を指定したブラーの掛け方でブラーをかける。
また、Source Inputでテクスチャを指定してブラーを加工できる。
Curve
グラフを操作してグラデーション変更できる。
結構色々な形状作成できる、参照サイトを参照。
参照サイト
Shape Stroke Grayscale
シェイプの輪郭を塗ることができる。
配置系ノード
Splatter Circular Grayscale
円心円状にシェイプを配置できる。
上の画像は「作例で学ぶSubstance 3D Designerの教科書」のデータを参考にした。
Tile Random
ランダムなタイリングをできる。
Tile Sampler
タイル状にシェイプを配置できる。
上の画像は「作例で学ぶSubstance 3D Designerの教科書」のデータを参考にした。
Inputがいくつかあるので紹介していく。
■Scale Map Input
シェイプの大きさを制御できる。
SizeのScale Map Multipikerで効果量を調整できる。
■Displacement Map Input
シェイプの移動量を制御できる。
PositionのDisplace Map Intesityで効果量を調整できる。
■Rotation Map Input
シェイプの回転量を制御できる。
RotationのRotation Map Multipikerで効果量を調整できる。
■Color Map Input
シェイプの色を制御できる。
ColorのColor Parametrization Multipikerで効果量を調整できる。
■Vector Map Input
Vector Mapで回転量、移動量、拡大拡小量を制御できる。
SizeのScale Vector Map Multiplier、PositionのVector Map Displacement、RotationのVector Map Multiplierで効果量を調整できる。
■Mask Map Input
シェイプのマスクを制御できる。
ColorのMask Map Threshouldで効果量を調整できる。
■Mask Map Input
シェイプの出現位置を制御できる。
PatternのPattern Input Disributionで効果量を調整できる。
塗りつぶしをするノード
Flood Fill
このノードで領域の塗りつぶし判定を行う。
判定は閉じられた領域を検出して行われる。閉じられた領域とは、一定の値以上の画素で囲われた領域のことを指す。つまり線(線でなくても良い)で囲われた領域のことである。
Flood Fill系ノードは、まず初めにFlood Fillで領域判定を行ってから、そのデータを元に他のFlood Fill系ノードで処理を行うのが基本的な流れである。
■領域判定の注意点
①階調が白(1)黒(0)ではっきりしている場合は、内側は塗りつぶし領域として認識される。
②Edge Detectで境界線を作った状態でも、外側の領域判定は失敗してしまうが、内側は塗りつぶし領域として認識される。
③境界線をBlurなどでぼかした場合、認識に失敗してしまう。境界線の闘値が0.5以上になると、境界線として認識されなくなる。なので、境界線または境界域の画素は、0.5以下である必要がある。
④ノイズノードをそのままインプットした場合、望む結果にならないことが起きる。なので、LevelやThreshouldで境界域を0.5以下に調整する必要がある。
⑤画素値が問題ない場合でも、白い領域が画面域いっぱいに伸びているような場合も認識に失敗してしまう。なので、外側に境界線を設けると正しく認識される。
上の画像は「作例で学ぶSubstance 3D Designerの教科書」のデータを参考にした。
Flood Fill to BBox Size
領域の大きさもしたがって、塗りつぶしの明暗を変えることができる。
小さい領域が暗くなる。
Flood Fill to Gradient
領域内をグラデーションに塗りつぶすことができる。
グラデーションの方向、方向のランダム性の指定ができる。
Flood Fill to Grayscale
グレースケールの画像をもとに、グレースケールで塗りつぶすことができる。
Flood Fill to Random Grayscale
領域をランダムな明暗を塗りつぶすことができる。
Flood Fill to Position
左上を原点として、赤はX軸、緑はY軸で色をつけれる。
Flood Fill Mapper
領域内を対象にシェイプを配置できる。
大きさ、回転などをインプットテクスチャで調整できる。
色を扱うノード
Uniform Color
単色を出力できる。
Gradient Map
グラデーションの階調をいじって、カラーにしたりグレースケールにする。
Gradient (Dynamic)
同じグラデーションで、複数のグレースケールに色付けしたときに使用する。
Grayscale Conversion
カラーをグレースケールに変換できる。
RGBをいじってグレースケールを調整できる。
HSL
色相、明るさ、彩度を調整できる。
RGBA Split
カラーのRGBAを別々のチャンネルに出力できる。
RGBA Merge
グレースケールを指定してRGBAを合成できる。
Alpha Merge
カラー出力にアルファを合成する。
Alpha Split
RGBとアルファを別々にする。
Channels Shuffle
チャンネルを変更して色を変更できる。
Normalを扱うノード
Normal
テクスチャを指定してノーマルマップを作成できる。
Normal Combine
Normalを加算合成する。
Normal Blend
Normalをマスクできる。
Normal Color
フラットなNormalを出力できる。合成などでNormalをフラットにした場合に使う。
Normal To Height HQ
Normalからハイトマップを作成できる。
手軽にハイトマップを作成できるが、階調に余計な傾斜や汚れが入ることが多い。
Curvature Smooth
Normalからグレースケールを作成できる。
Emboss
エンボス加工のような表現ができる。
描くノード
Bitmap
ビットマップ画像を使用できる。
自分で絵を描くことができるが、凝ったものは書けないので絵を描くなら外部ツールの方が良い。
SVG
SVG画像を使用できる。
その他のノード
Ambient Occlusion (HBAO)、Ambient Occlusion (RTAO)
グレースケール(Heght)からAOを得ることができる。
品質ならHBAO
早さならRTAO
Edge Detect
輪郭を検出する。
Multi Switch Grayscale
使用したいノードを選択できる。
FXAA
アンチエイリアスができる。
Text
文字を作成できる。
半透明描画をするAlphaBlend描画する際の黒い部分を透明にする
AlphaMergeしない
周りが黒くなっている
AlphaMergeを行う
周りが黒くなっていない
ノード小さくして見やすくする
Dを押すとノード小さくして見やすくできる。
ノードとEXPLORERの表記名を変える
ノード→Label
Identifier→EXPLORER
ColorとGrayScaleの入出力の違いをオートで処理する
赤枠がGrayScale
青枠がColor
これを入出力の違いをオートで処理するには、以下の赤枠をチェックする
自動で処理されていることが分かる。
ライブラリ化
同じようなの処理をライブラリ化して、他の処理でも使えるようにする。
簡易的なライブラリー化
インプットがあるライブラリー化
作成したライブラリーは、Prefrencesで設定する必要がある。
設定した後、検索するとライブラリー化したノードが出てくる。
選択したノードをFrameにまとめる
チェッカーバッジ、ノードバッジ、キューブバッジ
チェッカーバッジ(チェッカーアイコン)→2DViewに表示されている
ノードバッジ(書類アイコン)→Propertiesに表示されている
キューブバッジ(キューブアイコン)→3DViewに表示されている
プロパティの設定をExportする
Edit exposed graph inputを押下
ノード以外の右クリック押下すると、プロパティに表示される。
.sbsarでテクスチャのバリデーションを作成する
バリエーションを作成したい.sbsで右クリックして、Publish .sbsar file押下して、保存
保存した.sbsarを開いて使用したい.sbsにドラッグ&ドロップすると、Exposeしたパラメータいじるだけでたくさんのテクスチャのバリデーションを作成できる
関数Graphでプロパティの値を変える
値を変えたいプロパティで、右クリック
Edit function graphを押下すると関数Graphを作成する領域が出てくる。
定数や、演算式、Exportした値を取得などを使用できる。
なお、右クリックして、Set as Output Nodeを押下しないと計算した結果は適用されない。
Substance Desinerはシームレステクスチャを作成しやすい
シームレステクスチャとは、テクスチャのつなぎ目が自然なテクスチャのことである。
PhotoShopなどで、シームレステクスチャを作成する際はひと手間必要であったが、Substance Desinerの通常のノードはシームレスになっているため修正する工程がほとんどない。
また、2DViewパネルをスペースキーを押すとテクスチャ繰り返しした状態でプレビューできるの、シームレス具合を見つつ調整できる。
3DViewで作成したテクスチャに貼り付けることができる。
以下のようにできる。
また、自分で作成したモデル読み込んで確認することができる。
エディター上で行う方法
なお、ドラッグ&ドロップでも可能。
また、読み込むモデルは、頂点カラーと頂点アルファは読み込まれない。
Substance 3D for Unityを使用して、Unity上でSDでExposeした値を調整する
Substance 3D for UnityでからダウンロードすればUnity上でSDでExposeした値を調整できるが、やってみたがエラー出てできなかった。
でも、Substance 3D Connectorでできそう。
Discussion