記事一覧
SbstanceDesigner 正多角形などのフラットシェーディングモデルから近似的なスムース法線を取得する方法。
SbstanceDesigner の関数を書きたい人向け
Position から Normal を作る各頂点の原点からの距離が同じ、また距離の差が近いと判断し、
頂点のポジションから法線を作ってしまいます。
(応用を考えないのであれば、PositionMap を NormalNormalize に差し込むだけで可能です。)
3Dモデルの頂点座標をベイクする。
Sample用の入力にはモデルを
SbstanceDesigner NormalMapFormat
SbstanceDesignerとゲームエンジンを併用する上で
Graph編集時はOpenGLかDirectX か?結論基本DirectX を使い、必要に応じてOutputの直前にNormalInvertを挟む方が良い。
考察Substance Designer のデフォルト設定
DirectX がデフォルトなので、常にOpenGLを使う場合は基本的な設定を変える必要がある。
3DViewの
Sbstance3DDesigner 座標変換 World to Tangent
SbstanceDesigner の関数を書きたい人向け
注意点そもそもベイクデータでTangentNormalを取得できるため、このような作法が必要な場面はかなり特殊である。
またハイトからタンジェントノーマルを作るのが得意なツールであることから、ほとんどこのような操作は必要ない。
しかし、座標変換は可能であることを理解するために記載しておく。
ワールド座標のベイクデータを利用して座標変換
SbstanceDesigner PixelProcessorの注意点 まとめ
SbstanceDesigner の関数を書きたい人向け
基本は GrayscaleModeでもColorModeでも同じです。
$Pos(0,0)は左上、(1,1)は右下。真ん中を原点だと思わない。原点は左上!
+Yは上方向じゃない。下方向!
原点を画像中心にしたいなら(0.5,0.5)を加減算して調整。
Yは(1-Y)とした方が分かりやすい場面もある。
$Pos の値は、各ピクセルの中
SbstanceDesigner PixelProcessorのPosが表している値
SbstanceDesigner の関数を書きたい人向け
結論から言うと、2の累乗で1を除算した値でしかない。つまりグリッドの中心の値。二つの PixelProcessre の構成を試してみた。
右上が補正なし。右下が補正あり。アイコンではわからないが、データには確実に差がある。
2*2のピクセルで計算するとデータに大きな差があることが解る!単にポジションをRG成分に与えたPixelProce
SubstanceDesigner Quantize 量子化と減色
SbstanceDesigner の関数を書きたい人向け
先ず結論お勧め! PixProcessreで 自然な減色とMinMaxのマッピングの式PixProcessreで書く場合・・・MinMaxは事前に取得する。Step数を外のパラメータに出しておく。
この例ではInputValueを使っているが、ExposeParameterでもよい。
AutoLevelの後にQuantiz (Step=
SbstanceDesignerの多次元FloatとVectorとの違い
SbstanceDesigner の関数を書きたい人向け
多次元Floatの積検証用に Value Processor の中で簡単な関数を組みます。
赤い破線が出ており
Float4 * Float や Float3 * Float が成立しません。
一方、青い線で連結された Float4 * Float4 が成立します。
同様に Float3 * Float3 が成立します。
ちなみに