Substance 3D Painter: メッシュ名で指定してベイクする方法

Substance 3D Painterで使用可能なハイ/ローメッシュのマッチング(Match)メッシュ名ごと(By Mesh Name)という機能を紹介します。

目次

1 メッシュ名ごと(By Mesh Name)とは

Substance 3D Painterでベイクをする際に、メッシュ同士の距離が近いとノーマルマップなどが貫通してしまうことがありますが、ハイ/ローメッシュのマッチング(Match)メッシュ名ごと(By Mesh Name)という機能を使用すると、ローポリゴンメッシュとハイポリゴンメッシュでメッシュの名前が同じもの同士だけでベイクを行い貫通を防ぐことができます。

画像1左側では矢印の部分で他のメッシュが貫通していますが、メッシュ名ごと(By Mesh Name)を使用すると画像1右側のように貫通を防ぐことができます。

Substance 3D Painter By Mesh Name
画像1

2 メッシュ名ごと(By Mesh Name)の使用方法

ここでは説明用にBlenderのモンキー(Monkey)を使用します。

2.1 Blenderでローポリゴンメッシュの作成

Blenderで追加(Add)>メッシュ(Mesh)からモンキー(Monkey)を追加したら編集モード(Edit Mode)に切り替えて、リンク選択(Select Linked)などを使用して目の部分だけを選択します(画像2参照)。

Substance 3D Painter By Mesh Name
画像2

選択した目の部分を分離(Separate)>選択(Selected)で別のオブジェクトとして独立させます(画像3参照)。

Substance 3D Painter By Mesh Name
画像3

オブジェクトモード(Object Mode)に戻してアウトライナー(Outliner)を確認すると、頭のオブジェクトの名前が「Suzanne」で目のオブジェクトの名前が「Suzanne.001」となっているはずですが、これを「head_low」と「eye_low」に変更します。
さらに「low」と名前を付けたコレクション(Collection)を追加して「head_low」と「eye_low」をここに入れておきます(画像4参照)。

Substance 3D Painter By Mesh Name
画像4

これでローポリゴンメッシュは完成したので、「head_low」と「eye_low」を選択した状態でOBJ形式やFBX形式でエクスポートします。
エクスポート時のファイル名は好みで付けて構いません。

ローポリゴンメッシュを作成する際のポイントはすべてのオブジェクトの名前の最後に「_low」を付けることです。「_low」の前の部分は好みで付けて構いません。

2.2 Blenderでハイポリゴンメッシュの作成

今回の例ではローポリゴンメッシュを複製してハイポリゴンメッシュとして使用します。

コレクション(Collection)の「low」にカーソルを合わせて右クリックするとコレクション(Collection)というメニューが表示されるので、コレクションを複製(Duplicate Collection)を選択してコレクション(Collection)ごとを複製します(画像5参照)。

Substance 3D Painter By Mesh Name
画像5

名前をコレクション(Collection)の「low」を「high」に、オブジェクトの「head_low」と「eye_low」を「head_high」と「eye_high」に変更します(画像6参照)。

Substance 3D Painter By Mesh Name
画像6

これでハイポリゴンメッシュは完成したので、「head_high」と「eye_high」を選択した状態でOBJ形式やFBX形式でエクスポートします。
こちらもエクスポート時のファイル名は好みで付けて構いません。

ハイポリゴンメッシュを作成する際のポイントは、ローポリゴンメッシュに合わせてハイポリゴンメッシュの名前をすべて「〇〇_high」で対応させることです。

ローポリゴンメッシュとハイポリゴンメッシュを名前で区別するために例えば「_L」と「_H」などではなく「_low」と「_high」を使用するのは、Substance 3D Painterで「_low」と「_high」を使用するようにデフォルトで設定されているためです。

2.3 Substance 3D Painterでベイク

Substance 3D Painterでローポリゴンメッシュとして使用するモンキー(Monkey)を読み込み、モード(Mode)の切り替えやCtrlキー+Shiftキー+Bキーなどを使用してメッシュマップをベイク(Bake Mesh Maps)の画面を表示します。

メッシュマップ設定(MESHMAP SETTINGS)ハイポリパラメーター(High poly parameters)高精細メッシュ(High Definition Meshes)に(画像7参照)、ハイポリゴンメッシュとして使用するモンキー(Monkey)を設定します。

Substance 3D Painter opacity bake
画像7

出力サイズ(Output Size)はここでは4096に設定して、その他の設定はそのままにしておきます。

2.3.1 常にオン(Always)でベイク

ハイ/ローメッシュのマッチング(Match)常にオン(Always)メッシュ名ごと(By Mesh Name)の違いが分かるように、初めはデフォルトの常にオン(Always)を選択して(画像8参照)ベイクします。

Substance 3D Painter By Mesh Name
画像8

テクスチャをベイク(Bake selected textures)を押してベイクを行い、完了したらF3キーなどを使用して2Dのみ表示して、メッシュマップ(Mesh maps)Normalに表示を切り替えます(画像9参照)。

Substance 3D Painter By Mesh Name
画像9

ハイ/ローメッシュのマッチング(Match)常にオン(Always)では、ローポリゴンメッシュとハイポリゴンメッシュの頭と目の部分を同時にベイクするため、目の部分を確認すると画像10のように、頭の部分が貫通してベイクされていることが確認できます。

Substance 3D Painter By Mesh Name
画像10

2.3.2 メッシュ名ごと(By Mesh Name)でベイク

今度はハイ/ローメッシュのマッチング(Match)メッシュ名ごと(By Mesh Name)に変更して(画像1参照)ベイクしてみます。

Substance 3D Painter By Mesh Name
画像11

ハイ/ローメッシュのマッチング(Match)メッシュ名ごと(By Mesh Name)では、ローポリゴンメッシュとハイポリゴンメッシュをメッシュ名で区別してベイクします。今回使用した例では、ローポリゴンメッシュとハイポリゴンメッシュの頭と目の部分を別々にベイクするため、画像12のように目の部分に貫通がなくなります。

Substance 3D Painter By Mesh Name
画像12

2.4 AOマップの貫通について

メッシュマップ(Mesh maps)Ambient occlusionに表示を切り替えます(画像13参照)。

Substance 3D Painter By Mesh Name
画像13

目の部分を確認すると、画像14のように頭の部分で隠れているところが影になっていることが確認できます。

Substance 3D Painter By Mesh Name
画像14

この影をなくしたい場合はメッシュマップベイカー(MESH MAP BAKERS)Ambient occlusionを選択して(画像15参照)、

Substance 3D Painter By Mesh Name
画像15

メッシュマップ設定(MESHMAP SETTINGS)自己オクルージョン(Self Occlusion)常にオン(Always)から同じメッシュ名のみ(Only Same Mesh Name)に変更します(画像16参照)。

Substance 3D Painter By Mesh Name
画像16

再度ベイクすると、画像17のように影になっていた部分がなくなります。

Substance 3D Painter By Mesh Name
画像17

CurvatureマップやThicknessマップなどの場合も同様に設定してください。

AOマップなどの貫通に関しては、常にオン(Always)同じメッシュ名のみ(Only Same Mesh Name)のどちらを使用するのかは作品次第だと思うので、好みで選択してください。

3 補足

3.1 名前について

3.1.1 Blenderで付ける名前

Blenderではオブジェクトの名前の他にメッシュデータ(Mesh Data)またはメッシュ(Mesh)というものがありここにも名前がついています。
例えばこの記事で作成した「eye_low」と「head_low」をアウトライナー(Outliner)で確認すると、それぞれの下層に「Suzanne.001」と「Suzanne」というメッシュデータ(Mesh Data)についた名前があります(画像18参照)。

Substance 3D Painter By Mesh Name
画像18

ハイ/ローメッシュのマッチング(Match)メッシュ名ごと(By Mesh Name)を使用する際に名前の対応が必要なのはオブジェクト名だけで、メッシュデータ(Mesh Data)の名前は対応していなくても問題ないようです。

Blenderのオブジェクトはメッシュとイコールとは言えないのですが、メッシュ名ごと(By Mesh Name)の使用に関してはBlenderのオブジェクト名がSubstance 3D Painterのメッシュ名に対応しています。

3.1.2 Substance 3D Painterのサフィックス(Suffix)

Substance 3D Painterでメッシュの名前に付けるサフィックス(Suffix)(=接尾辞)はデフォルトで「_low」と「_high」になっていますが、ボックスに入力することで「_L」と「_H」などに変更することも可能です(画像19参照)。

Substance 3D Painter By Mesh Name
画像19

サフィックス(Suffix)を変更した場合は、メッシュの名前も同じサフィックス(Suffix)にする必要があります。
例えばサフィックス(Suffix)を「_L」と「_H」に変更した場合は、メッシュ名も「head_L」と「head_H」とします。

3.1.3 大文字と小文字の区別

名前に付ける大文字と小文字は区別されます。

Blenderでオブジェクトに名前を付ける際に「head_low」と「Head_low」のようにするとエラーになるので注意してください。

以上、Substance 3D Painterの「メッシュ名で指定してベイクする方法」でした。

この記事ではBlender 3.4.1とSubstance 3D Painter 8.3.0を使用しています。

  • URLをコピーしました!

コメント

コメントする

CAPTCHA

目次