忘備録 基礎知識

サブスタンスペインターで
複数のUVマップを使いたい 2025/04/03

こういったキャラクターの場合、
①キャラクター本体
②抱えているロゴの玉
③服・靴
④帽子
⑤うきわ
と、それぞれのUVマップを分けたくなることがあります。

①キャラクター本体
②抱えているロゴの玉
③服・靴
④帽子
⑤うきわ

それぞれのUVのやり方は分かるけど、どないしたら別々に出力できるんや???

実はやり方自体はかなり簡単なんやけど、普通の感覚では思いつかんと思う
自分は和牛先生の動画をやってるときにミスった結果、このやり方にたどりついた

目次

マテリアルを分ける

UVマップそれぞれの1枚が1つのマテリアルになるように、マテリアルを分けます。

①キャラクター本体
②ロゴの玉
③服と靴
④帽子
⑤うきわ

この時点ではマテリアル設定そのものをする必要はありません。
名前だけ付けて該当するオブジェクトに割り当てだけしておけばOKです。

UV展開

それぞれのパーツごとにUV展開をしていきます。
(シームは既に入れてあるものとして、UV展開そのものの説明は省きます)

LayoutタブでUV展開したいオブジェクトを選択します。
最初はキャラクターの本体にあたる部分を選択しています。

UV Editingタブに移動します。

通常の手順でUV展開します。

これでキャラクター本体のUVマップの準備は完了です。

Layoutタブに戻ります。

キャラクターの選択を解除して、
次は、球体を選択します。

再度、UV Editingタブに移動します。

さっきのキャラクター本体のUVマップがないやん!
どこいってん?!

自分的にはこういうところが、Blenderは一般的な感覚とズレていて独特の癖を持っているを感じています。

マテリアル設定のやり方や、一般的な他のお絵描きソフト等の感覚から考えると、UVマップは下記のようなものを想像するのではないでしょうか?

UVエディターの動作は、このどちらにも当てはまりません。

ですので、普通の感覚からしたら、先に展開したUVマップが消えたかと思って焦ります。

UVマップの画面(左側)は、UV展開したイメージをそれぞれレイヤーのように記憶してるわけじゃなく、表示させてるだけ

どこにどうUV展開したかについては、オブジェクトそのものが情報を持っているようで、オブジェクトが選択されていない状態では見ることができません。

最初に展開したはずのキャラクター本体のUV展開がなくなってしまったのは、キャラクター本体のオブジェクトが選択されていないので、見えなくなっただけ、ということになります。

気を取り直して球体を展開します。

ではこの状態で、キャラクター本体と球体の両方のオブジェクトを選択してUV Editing画面にするとどうなるでしょうか?

キャラクター本体と球体のUV展開が重なった状態になっています。

これでは、UVマップを別々に出力するのは無理なように思えます。
が、サブスタンスペインターでは、マテリアルごとにUVマップが分かれてくれますので、この画面で被っていても心配する必要はありません。

服と靴、帽子、うきわのそれぞれもUV展開します。

③服と靴
④帽子
⑤うきわ

これで全て展開できました。
全オブジェクトを選択した状態で、UVマップを確認すると、このようになります。

うわぁ~・・・ぐっちゃぐちゃ~~~
こんなんでいいんか心配になるけど、これでOK

サブスタンスペインターへ

出力したいオブジェクトを全て選択した状態で、ファイルエクスポートFBXを選択します。

エクスポートする設定がポップアップしますので、右サイドの赤枠箇所の項目を選択します。
青枠箇所でファイルを保存したいフォルダを選択し、緑枠箇所でファイル名を入力します。
FBXをエクスポートボタンをクリックして、出力します。

サブスタンスペインターで新規プロジェクトを立ちあげ、FBXファイルを読み込みます。

テンプレートはBlenderを選択、
ファイルは先ほどBlender上で保存したFBXファイルを選択、
法線マップ形式はOpenGLを選択します。

ドキュメントの解像度は任意になります。
(後から変更できます)

FBXファイルを無事に読み込めると、このような表示になります。

テクスチャセットという欄に、Blenderで割り当てたマテリアル名が表示されています。
それぞれのマテリアル名を切り替えると、UVマップ(テクスチャ)が変更されます。

最初に思い描いたとおりの別々のUVマップにすることができました。

あとは普段どおりの作業を行います。
作業が完了したので、テクスチャ画像を書き出します。

各マテリアル名の横にある数字をクリックすると書き出し用のテクスチャサイズを変更することができます。

解像度が低くてもあまり影響がないものは512、
高いほうがいいものは2048、
といったように、マテリアルによって解像度を変えておきます。

上記設定どおりに出力するには、書き出し設定のサイズを「各テクスチャセットのサイズに基づく」にしておきます。
左サイドにマテリアル名が一覧表示されていますので、書き出すマテリアル名を選択して、書き出しします。

Blenderでマテリアル設定

Blenderに戻り、Shadingタブに移動します。

テクスチャを適用したいオブジェクトを選択して、プリンシプルBSDFをクリックします。
(プリンシプルBSDFの枠が白くなっていれば選択できています)

Ctrl+Shift+Tを押します。
ポップアップ画面が開くので、先ほど保存した該当のファイルを選択します。

プリンシプルテクスチャセットアップボタンをクリックします。

すると、このように良い感じにセットしてくれます。
これは「Node Wrangler」というアドオンの機能になります。色々な初心者向けチュートリアル動画で散々紹介されているので入れていない人はいないと思いますが、もし入れていないのであれば入れてください。

他マテリアルも全て同様に設定してください。

全てのマテリアル設定が出来れば、サブスタンスペインターで見ていたのと同じようになります。

こうこく

目次