今回は、SabstancePainterで作成したテクスチャをBlenderに出力する方法を共有していきます。この内容では、テクスチャの作成方法は記載していません。個人的にBlenderへの出力方法がよくわからなかったので備忘録として残していきます!
Substance PainterからBlenderに!
Substance PainterからBlenderへの出力の仕方が分からないと思っている方々は、おそらく『出力する際の”OUTPUT TEMPLATES”がなんか複雑に見える』のではないでしょうか?以下に参考画像を載せます。
どの設定でやれば良いのか?設定そのままで良いのか?などわからないことが多いですよね。Blenderテンプレートがあれば簡単に解決しそうですが(笑)→現状無いと思う。
とりあえず、今日紹介する形で出力すれば、Substance Painterで作成したテクスチャをBlenderでも使用できるのでやっていきましょう!
Substance Painter(adobe)
Substance Painterとは?簡単に言うと、プロが作ったようなマテリアルをお手軽に使えちゃいます。聞くより見たほうが早いですよね。
右画像のようにオブジェクトに対してマテリアルをドラック&ドロップするだけでこのようにカッコよく仕上がります。金属の部分とか、カバンの切れ傷とか!(自己満)
また今回はソフトの導入や使い方は記載しません。まだ私も勉強なので説明できるほど使えないというのが事実です(笑)では、出力の仕方が少しだけ難しく感じたのでそこだけ私のやり方を紹介します。
Substance Painter出力画面/設定
以下の画像がSubstance Painterの出力画面になります。設定に関しては、5つの項目があります。
簡単に紹介します。
・保存先ディレクトリ
→出力先です。自分がわかればどこでも良い!!
・出力テンプレート
→ここが難しいです。出力テンプレートにBlender用は存在しません!次に紹介するので一旦飛ばします。
・ファイルの種類
→出力ファイルの形式です。要はpngとかの拡張子に関してです。出力テンプレートに基づくでOK。指定するのでもOKです。
・サイズ
→出力サイズです。作成したテクスチャにサイズは合わせましょう。
・パディング
→テクスチャの拡張です。無限拡張が推奨になりますが、パディングをピクセル分(推奨16ピクセル)指定するのでもOKです。
※パディングの意味は出力すればわかります!試してみてください。(私もはじめわからなかった…)
Substance Painter出力画面/出力テンプレート
出力テンプレートです。これが複雑に見えてしまい、難しく考えすぎてしまいます。簡単に紹介します。今回のテンプレートは、Unreal Engine 4(packed)です。UE4でテクスチャを使用するなら、これを使いましょうということですね。
とりあえず、Unreal Engine 4(packed)で簡単に説明します。
・$mesh_$textureSet_BaseColor(_$colorSpace)($udim)
→①ベースカラー用のテクスチャです。
・$mesh_$textureSet_OcclusionRoughnessMetallic(_$colorSpace)($udim)
→②アンビエントオクルージョン、ラフネス、メタリック用のテクスチャです。
・$mesh_$textureSet_Nomal(_$colorSpace)($udim)
→③ノーマルマップ用のテクスチャです。
・$mesh_$textureSet_Emissive(_$colorSpace)($udim)
→④発光用のテクスチャです。
では次に、各①~④のテクスチャに対応するチャンネルの説明をします。
※④は省力します。
Substance Painter出力画面/出力テンプレート ①ベースカラーとアルファ
ベースカラー用のテクスチャである”$mesh_$textureSet_BaseColor(_$colorSpace)($udim)”には、
“RGB“と”A“がついていますね。
・RGB
→RGBチャンネルで表示するための設定になります。
RGBチャンネルは、R、G、Bと3要素あります。今回でいうと”8bit”設定になっているため16777216階調になります。考え方は、3要素なので8bit(R)×8bit(G)×8bit(B)になります。8bitは2の8乗(256)なので、256階調(R)×256階調(G)×256階調(B)になります。
また、16bitに変更することも可能です。
※bitカラーで検索すると8bitカラー256階調(R8階調×G8階調×B4階調)というのもありましたが、上記の考えでは24bitカラーにあたると思います。24bitカラー=R8bit+G8bit+B8bitです。深く考えなくて大丈夫かな(笑)
“8bit”=16777216(階調)=8bit×8bit×8bit=256(階調)256×(階調)×256(階調)
“16bit”=同様の方法で計算してみてください(笑)→281兆階調らしい
・A
→Alphaチャンネルで表示するための設定になります。(透明度)
Alphaチャンネルは、RGBチャンネルと異なり、1要素になります。今回でいうと”8bit”設定になっているため256階調になります。考え方は、1要素なので8bitになります。8bitは2の8乗(256)なので、256階調になります。
では次にチャンネルの設定方法について説明します。
ベースカラー用のテクスチャである”$mesh_$textureSet_BaseColor(_$colorSpace)($udim)”には、
“RGB“と”A“から右側の設定項目に線(緑とオレンジ)でつながれています。
※実際、線はありません。
RGBを見ていきましょう。RGB(四角マーク)とBase Colorが緑線でつながれています。Base colorは色を表現したテクスチャなのでRGBチャンネルに設定します。
設定方法は、“作成”➡”RGB”(RGBチャンネルを作成)➡”Base colorをドラッグ”➡”RGBにドロップ”➡”RGBチャンネルを選択(テキスト)”になります。
今回のUnreal Engine 4(packed)では、”RGB”と”A”なので、”作成”➡”RGB+A”で作成されていることがわかります。
Aを見ていきましょう。A(四角マーク)とOpacityが茶色線で繋がれています。Opacityは透明度を表現したいテクスチャなのでAlphaチャンネルに設定します。
設定方法は、“作成”➡”RGB+A”(RGBチャンネル+Alphaチャンネルを作成)➡”Opacityをドラッグ”➡”Aにドロップ”➡”グレースケールチャンネルを選択(テキスト)”になります。
※Alphaは1要素256階調で表現するためグレースケールでOKです。
Substance Painter出力画面/出力テンプレート AO、ラフネス、メタリック
アンビエントオクルージョン(AO)、ラフネス、メタリック用のテクスチャである$mesh_$textureSet_OcclusionRoughnessMetallic(_$colorSpace)($udim)には、”R“と”G“と”B“がついていますね。
要はこれも、先ほどのベースカラーと同じです。長くするとくどいので簡単に説明します。
・R(256階調)=アンビエントオクルージョン(AO)
・G(256階調)=ラフネス
・B(256階調)=メタリック
つまり、アンビエントオクルージョン(AO)、ラフネス、メタリック用のテクスチャは256階調で表示すればよいので、グレースケールでも良いのです。今回のUnreal Engine 4(packed)では、RGBの各要素にそれぞれを設定していますが、Blenderに出力する場合は各項目をグレースケールで設定したほうが分かりやすいかもしれません。
※最後にBlenderの設定画像を載せるのでそちらを参考に!
Substance Painter出力画面/出力テンプレート ノーマル
ベースカラー用のテクスチャである”$mesh_$textureSet_Nomal(_$colorSpace)($udim)”には、
“RGB“がついていますね。
これも同じです(笑)
・RGB(256×256×256階調)=ノーマル
つまり、ノーマル用のテクスチャは256×256×256階調で表示するため、RGBチャンネルに設定します。今回のUnreal Engine 4(packed)では、赤枠のNomal DirectXをRGBチャンネルに設定していますが、BlenderではNomal OpenGLを設定します。
※最後にBlenderの設定画像を載せるのでそちらを参考に!
Substance Painter出力画面/出力テンプレート(UE4からBlenderに変換)
Unreal Engine 4(packed)を編集して、Blender仕様にします。といっても少ししか変更しません。変更して設定内容は以下のようになります。
ノーマルの設定を変更します。赤枠のNomal OpenGLをノーマル用RGBチャンネルに設定するだけです。“Nomal OpenGLをドラッグ”➡”ノーマル用RGBチャンネルにドロップ”で設定完了です。
※また、必要に応じて発光用テクスチャに関するチャンネルは削除してください。
今回の設定で画像を出力すると、以下のように出力されます。
Substance Painter出力画面/出力テンプレート(Blender)
最後にBlender用にテンプレートを作ります。こちらも先ほど説明した感じで簡単なのでざっくり説明します。設定内容は以下のようになります。
変更点は、アンビエントオクルージョン(AO)、ラフネス、メタリック用のテクスチャは256階調で表示すればよいので、グレースケールにしています。
設定方法は、“作成”➡”グレー”➡”Mixed AOをドラッグ”➡”Grにドロップ”➡”グレースケールチャンネルを選択(テキスト)”で設定完了です。(AOの場合)
これをラフネス、メタリックでも同様に設定します。
今回の設定で画像を出力すると、以下のように出力されます。
いかがだったでしょうか。案外理解したら簡単だ!とか思うかもしれません(笑)ちなみに私も使い始めたばかりで深くは理解していません!これを機に皆さんと成長していけたらなと思います。
ではまたっ!!
コメント