Created on | Updated on
フォローする

Substance Painter 2018.3で2D Viewをエクスポートできない

2018.3より2D Viewでの表示(シェーディング、ライティングされた状態)を1枚のテクスチャとして出力することができるようになりました。

GPU環境によっては正しく出力することができず真っ黒になってしまう場合があります。
問題の原因の1つとしてTDR Delayの値が低いことがあるようです。

レンダリングやGPU計算によるシステムのロックを防ぐため、Windowsオペレーティングシステムは、レンダリングに数秒以上かかるとGPUドライバを強制終了します。 ドライバが強制終了されると、それを使用するアプリケーションは自動的にクラッシュします。

Windowsでは、ドライバ呼び出しを強制終了するまでのOSの待機時間を指定するキーがレジストリにあります。 アプリケーションにはこの設定を直接変更する権限がありません。この手順は手動で行う必要があります。

https://support.borndigital.co.jp/hc/ja/articles/360000574634

私の環境では、上記を参照し、TDR Delayの値を変更することにより正しくテクスチャを出力可能となりました。
※お使いの環境によってはその他の原因の可能性もございます。予めご了承ください。

実際に、2S Viewでの出力を試してみました。

まずは、通常通りSubstance Painterでテクスチャを作成しています。

2Dビューを確認します。

例えば、ゲーム等で後方にいるアセットには細かいシェーディングをさせたくなかったり、モバイルゲーム用にこのライティング、シェーディングを1枚のテクスチャにベイクしたいと思うことがあります。

テクスチャを出力するためにFile>Export Textureを選択します。

表示されたウィンドウのConfigから2D Viewを選択します。

設定はこれだけです。ライトの方向やシェーディング設定はExport Textureを行う前に2Dビューポート上で確認して置く必要があります。

Exportボタンを押すとテクスチャが計算され、出力されます。

出力された結果と2Dビューを比較するとそのままの結果が出力されていることがわかります。

出力した画像をゲームエンジンで非ライティング、マテリアルのスペキュラーを0で、メタリックも0で適用してみます。

シェーディング、ライティングがテクスチャにベイクされているため、あたかもその場でシェーディング、ライティングされているように見せることができます。

 あくまでフェイクなので、カメラによるアセットには厳しいかもしれませんが、遠方のアセットには十分有効ですし、DCCツールでのベイクという手順を飛ばすことができるのでとても便利だと思います。