見出し画像

SbstanceDesigner NormalMapFormat

SbstanceDesignerとゲームエンジンを併用する上で



Graph編集時はOpenGLかDirectX か?


結論

基本DirectX を使い、必要に応じてOutputの直前にNormalInvertを挟む方が良い。

Main Graph
Normal format of Normal node
Normal Invert Setting

考察

Substance Designer のデフォルト設定

DirectX がデフォルトなので、常にOpenGLを使う場合は基本的な設定を変える必要がある。
3DViewのシェーダー設定は表示モデルを切り替えるとDirectX がOnになるなど…環境依存のせいかもしれないが常にOpenGLを使うほうが気を付けることが多い。

UEを使う場合

何方のフォーマットで出力してもゲームエンジン上で扱えるため、
Substance Designer のデフォルト設定の簡易さからDirectX 一択。

Unityを使う場合

Unityを使う場合はゲームエンジン上でフォーマット変換することができない。
.Sbsarを使い自分でパラメータを出せば可能だが安定性には疑問がある。
そのため、Substance Designer 状でOpenGLを使うことを推奨したい。
しかし、Substance Designer のプレビューシェーダも含めデフォルトでDirectX であるため、テクスチャのアウトプットnodeの手前で、NormalInvertを使うことがむしろ容易い。

Unityでは.Sbsarを使うよりもテクスチャを出力して使った方が安定性が高い。このテクスチャエクスポート設定は、.Sbsにセーブされるため使いやすい。故に、Substabce Designer で確認時のOutputノードとUnity用のOutputは作業中に共存できる。

graphごとに出力される
この設定だとbacecolor, normal, roughness の三枚が出力される

おしまい。

この記事が気に入ったらサポートをしてみませんか?