![見出し画像](https://assets.st-note.com/production/uploads/images/121569164/rectangle_large_type_2_7746836913113027f5d6ee96a24ac656.png?width=1200)
SbstanceDesigner NormalMapFormat
SbstanceDesignerとゲームエンジンを併用する上で
Graph編集時はOpenGLかDirectX か?
結論
基本DirectX を使い、必要に応じてOutputの直前にNormalInvertを挟む方が良い。
![](https://assets.st-note.com/img/1699789860739-fExIZSEcIt.png?width=1200)
![](https://assets.st-note.com/img/1699789939230-EeOCHMpFKm.png)
![](https://assets.st-note.com/img/1699789963710-0BYv3QzlkH.png)
考察
Substance Designer のデフォルト設定
DirectX がデフォルトなので、常にOpenGLを使う場合は基本的な設定を変える必要がある。
3DViewのシェーダー設定は表示モデルを切り替えるとDirectX がOnになるなど…環境依存のせいかもしれないが常にOpenGLを使うほうが気を付けることが多い。
![](https://assets.st-note.com/img/1699791245865-OqmLuY6wzy.png)
UEを使う場合
何方のフォーマットで出力してもゲームエンジン上で扱えるため、
Substance Designer のデフォルト設定の簡易さからDirectX 一択。
Unityを使う場合
Unityを使う場合はゲームエンジン上でフォーマット変換することができない。
.Sbsarを使い自分でパラメータを出せば可能だが安定性には疑問がある。
そのため、Substance Designer 状でOpenGLを使うことを推奨したい。
しかし、Substance Designer のプレビューシェーダも含めデフォルトでDirectX であるため、テクスチャのアウトプットnodeの手前で、NormalInvertを使うことがむしろ容易い。
Unityでは.Sbsarを使うよりもテクスチャを出力して使った方が安定性が高い。このテクスチャエクスポート設定は、.Sbsにセーブされるため使いやすい。故に、Substabce Designer で確認時のOutputノードとUnity用のOutputは作業中に共存できる。
![](https://assets.st-note.com/img/1699791627384-YOJdRGSHvT.png?width=1200)
![](https://assets.st-note.com/img/1699791671184-2CMxXdrfoJ.png?width=1200)
おしまい。