スポンサーリンク

Substance 3D Painter: 編集した部分を透明にする方法

Substance 3D PainterでOpacityチャンネルを追加して、編集した部分を透明にする方法を紹介します。

1 準備

1.1 メッシュのインポート

この記事ではMeetMatというサンプルを使用します。

Substance 3D Painterの画面左上にあるFileにあるOpen Sampleをクリックしたら、MeetMat.sspを開きます。MeetMat.sspを開くと、画像1のようなメッシュが表示されます。

substance painter opacity

画像1

1.2 Shaderの変更

UIを変更していない場合はSubstance 3D Painterの一番右側に並んでいるアイコンの上から2番目にShader Settingsがあるので、クリックしてメニューを表示させます(画像2参照)。

substance painter opacity

画像2

asm-metal-roughと書かれている部分をクリックしたら、pbr-metal-rough-alpha-blendingをクリックして変更します。
変更が確認できたら、Shader Settingsのメニューは閉じて構いません。

1.3 Opacityチャンネルの追加

これからOpacityチャンネルを追加していきますが、Opacityチャンネルは編集した部分を透明にしたいTexture Setごとに必要となります。

サンプルとして使用しているMeetMat.sspは、画像3のように01_Head、02_Body、03_Baseの3つのTexture Setがありますが、今回は01_HeadだけにOpacityチャンネルを追加します。

substance painter opacity

画像3

Texture Setの01_Headが選択されている状態で、Texture Set Settings内にあるChannelsの右にある+ボタンをクリックしたらリストからOpacityを選択します(画像4参照)。

substance painter opacity

画像4

画像5のようにOpacityチャンネルが追加されていることを確認してください。

substance painter opacity

画像5

ShaderによってはOpacityが選択できない場合もありますが、1.2の「Shaderの変更」を先に行うとOpacityが選択できるようになるはずです。

2 Opacityチャンネルを編集して透明にする方法

準備が整ったので、Opacityチャンネルを編集してメッシュの一部を透明にしていきます。
編集の方法はたくさんありますが、ここでは3通り紹介していきます。

2.1 ブラシでペイントした部分を透明にする方法

手順1

LAYERSにあるAdd Layerでレイヤーを追加します(画像6参照)。

substance painter opacity

画像6

はじめからある「Layer 1」を使用しても構いません。

手順2

手順1で追加したレイヤーを選択した状態で、PROPERTIES – PAINT内にあるMaterialのopのみオンにしたら、Opacityの値を1から0に変更します(画像7参照)。

substance painter opacity

画像7

opの下に何も表示されていない場合は、Substance 3D Painterの一番左のメニューでPaintが選択されていることを確認してください。

手順3

Add fill layerからレイヤーを追加して、画像8のように手順1で追加したレイヤーの下において、Base colorを変更します。

substance painter opacity

画像8

手順3は透明になるのをわかりやすくするための作業なので、必須ではありません。

手順4

手順1で追加したレイヤーを選択した状態でメッシュにブラシでペイントすると、画像9のようにペイントした部分が透明になります(画像9ではTexture Setの02_Body、03_Baseは非表示にしています)。

substance painter opacity

画像9

このときViewportのチャンネルをOpacityに変更すると(画像10参照)、

substance painter opacity

画像10

Opacity(不透明度)が1(=100%)の部分が白(または格子柄)で、Opacity(不透明度)が0(=0%)の部分が黒になっているのが確認できます(画像11参照)。

substance painter opacity

画像11

また、Viewportの表示をMaterial以外のもの(Base ColorやMetallicなどのチャンネル)に変更すると、画像12のようにViewport上で透過情報は反映されません。
また、Viewportの表示をMaterialにしている場合でも、3D表示には透過情報は反映されますが、2D表示には透過情報が反映されません。

substance painter opacity

画像12

この方法を使用して透明になった部分を元に戻すには、Eraserを使用します。

2.2 グレースケールのテクスチャを使用して透明にする方法

手順1

LAYERSにあるAdd fill layerでレイヤーを追加します(画像13参照)。

substance painter opacity

画像13

はじめからある「Layer 1」が残っている場合は削除してください。

手順2

LAYERSにあるAdd fill layerからレイヤーを追加して、画像14のように手順1で追加したレイヤーの下において、Base colorを変更します。

substance painter opacity

画像14

手順2は透明になるのをわかりやすくするための作業なので、必須ではありません。

手順3

手順1で追加したレイヤーを選択した状態で、PROPERTIES – FILL内にあるMaterialのopのみオンにしたら、Opacityと書かれているボックスをクリックして、好みのグレースケールのテクスチャ(ここではFabric Star Blockを使用)を選択します(画像15参照)。

substance painter opacity

画像15

ASSETSからドラッグ&ドロップしても構いません。

手順3

すると、画像16のようにグレースケールテクスチャの黒の部分が透明になります。

substance painter opacity

画像16

2.3 メッシュのすべてを透明にして、ペイントした部分だけ不透明にする方法

2.1と2.2の方法を組み合わせることで、メッシュのすべてを一度透明にして、ペイントした部分だけ不透明にすることも可能です。

手順1

Add fill layerでレイヤーを追加したら、Materialのopのみオンにして値を1から0に変更します。
この時点で、頭の部分がすべて透明になります。

手順2

手順1で追加したレイヤーの上にAdd a layerでレイヤーを追加したら、Materialのopのみオンにします。
値は1に設定します。

手順2で追加したレイヤーを選択した状態でメッシュにブラシでペイントすると、画像17のようにペイントした部分だけが不透明になります。

substance painter opacity

画像17

2.4 補足

ここまで3通りの編集方法を紹介しましたが、Add layerの代わりにAdd fill layerでレイヤーを追加してマスクと併用して透明にする、レイヤーに直接ペイントやテクスチャを設定する代わりにAdd paintやAdd fillを使用するなど、結果的に同じになるような細かな方法については用途や好みによって変更してください。

レイヤーの順番を変えると透明にならない場合もあるので、Opacityチャンネルを編集したレイヤーの位置にも注意して作業をしてください。

3. エクスポート時の注意

Substance 3D Painterで作成した透過情報を持ったテクスチャをエクスポートする際に、.png形式の場合はOutput templateでPBR MetalRoughなどを選択してBase ColorやRoughnessなどのテクスチャをエクスポートするだけで特に問題ありませんが、.jpegや.bmp​などの形式の場合はOpacityチャンネルの画像も別途にエクスポートする必要があります。

Opacityチャンネルの画像をエクスポートするには、画像18のようにOutput templateでDocument Channels + Normal + AO(No Alpha)または(With Alpha)を選択してください(Opacityチャンネルの画像は(No Alpha)と(With Alpha)で同じです)。
Opacityチャンネルの画像は「Texture Set名_Opacity.ファイル形式」という名前でエクスポートされます。

substance painter opacity

画像18

4. BlenderのCyclesでレンダリングする場合

透過情報を持ったテクスチャをBlenderのCyclesでレンダリングする際のノードの組み方については、「Blender: Cyclesで透過テクスチャを使用する場合のノードの組み方」で紹介をしています。

.png形式の場合は1と2を参考にしてください。

.jpegや.bmp​などの形式の場合は3を参考にしてください。マスク画像=Opacityチャンネルの画像となります。

ちなみにサンプルで使用したMeetMat.sspのメッシュをBlenderで使用したい場合は、Substance Painterの画面左上にあるFile → Export Meshから、MeetMat.objをエクスポートできます。

以上、Substance 3D Painterの「編集した部分を透明にする方法」でした。


※この記事で使用しているのはSubstance 3D Painter 2022 (Version 7.4)です。

コメント

タイトルとURLをコピーしました