SubstancePainterでテクスチャペイントをする際にシェーダーを変更する必要が出てくる場合があります。
例えば公式のランタンモデルのテクスチャペイントをする際にはガラス部分は透明にする必要があります。
そういった場合にデフォルトのシェーダーでは透過マップ(OpacityMap)を扱って透明度を表現することが出来ないので、透明度を制御できるシェーダーに変更しなければならないというわけです。
しかし普通にシェーダーを変更すると全てのTextureSetのシェーダーが変更されてしまいます。
そこで今回はTextureSetごとにシェーダーを変更する手順について紹介したいと思います。
【SubstancePainter】TextureSetごとにシェーダーを変更する
基本的には以下の手順を踏むことで、選択したSetごとにシェーダーを変更出来ます。
シェーダー名の変更なども可能になっています。
TextureSetごとのシェーダー変更の手順
- シェーダーのインスタンスを作成
- 変更したいTextureSetを選択
- シェーダーを変更
それでは順番に紹介します。
シェーダーのインスタンスを作成
まずはこんな感じで公式の配布しているランタンにマテリアルを設定します。
ひとつのTextureSetにスマートマテリアルを作成して、インスタンス化しています。
▼「異なるTextureSetにインスタンスを作成する」
-
【SubstancePainter】異なるテクスチャセットにレイヤーをインスタンス化
SubstancePainterではTextureSetごとにレイヤーを作製してテクスチャペイントしていくと思いますが、異なるTextureSetで同じようにペイントをしたい時もあります。   ...
続きを見る
このままだとグラス部分も同じシェーダーなので、透明度を制御するシェーダーに変更しなければいけません。
しかし普通にシェーダーを変更すると全てのTextureSetのシェーダーが変更されてしまうので、TextureSetのインスタンスを作成して、インスタンス化されたSetのみシェーダーを変更します。
シェーダーを変更したいTextureSetを選択して、TEXTURE SET SETTINGS▶Shader Instanceを「New Shader Instance」に変更します。
この様にGrassのTextureSetのシェーダーがインスタンス化されました。
シェーダーを変更
シェーダーを変更したいTextureSet(ここではGrass)を選択して、SHADER SETTINGSからシェーダーを変更します。
デフォルトのシェーダーである「pbr-metal-rough」をクリック。
透明度を制御したいので、「pbr-metal-rough-with-alpha-blending」 を選択します。
Instance nameからシェーダーの名前を変更しておきます。
GrassのTextureSetのみが別のシェーダーになります。
これで選択したTextureSetのシェーダーの変更は完了です。
適当にOpacityチャンネルを追加して、透明度を調整してみました。
TextureSetごとに個別でシェーダーを変更したい場合は基本的にはこの手順を踏めばOKです。
▼「透明度マップ(OpacityMap)を追加する」
-
透明度マップ(OpacityMap)を追加する【SubstancePainter】
SubstancePainterではマテリアルなどに透明度(Opacity)のチャンネルを追加することができます。 今回はデフォルトのままでは使えない様になっている透明度マップ(Opac ...
続きを見る
▼Substance Painter初心者の方にオススメの教本
▼キャラクターのテクスチャペイントの参考になりそうな本(バージョンは古め)