今回でSubstance Painter紹介記事は最後にします。
ここまで紹介した記事を見てもらえればアーティストさんであればかなり色々なことが出来るはずです。
絵心が全くないプログラマである私がそれっぽいものを作れるわけですから、アーティストさんならちょっといじればすぐに慣れて素晴らしいテクスチャをいくつも作れるであろうと信じています。
最後はペイントした結果をテクスチャとして出力し、UE4で表示するところまでです。
もちろん、UE4以外でもUnityや自作描画エンジンでもテクスチャは使用可能です。
とりあえず、以下のように自分の納得の行くペイントが出来たと仮定します。
まずはテクスチャのサイズを決めたいです。
初期状態ではテクスチャサイズは1024*1024じゃないかと思いますが、このロボットはプレイヤーキャラなので2k*2kくらいのサイズでもいいでしょう。
というわけで、まずはサイズを変更します。
ウィンドウ左上の [TextureSet Settings] ウィンドウに [サイズ] という項目がありますので、ここをちょちょいといじります。
サイズを2048にすると少し時間を掛けて3Dビューのテクスチャまでちゃんとサイズが変更します。
サイズ変更はいつでもどこでも可能で、変更してから元に戻しても結果は変わらない非破壊性ですので、例えばレイヤーが多くなって重くなってしまったという場合に、作業は512くらいで、出力は2048で、ということも可能です。
また、あまりないとは思いますが、テクスチャの縦横サイズを変更したい場合は上図の緑枠のボタンを押しましょう。
これはデフォルトONで、OFFにすると縦横それぞれのサイズを決定することが出来るようになります。
テクスチャサイズを決定したら出力を行います。
出力するには [ファイル] → [すべてのチャンネルをエクスポート] を選択します。
ショートカットキーは Ctrl + Shit + E です。
するとエクスポートウィンドウが開きます。
このまま [エクスポート] ボタンを押して出力してもいいのですが、あなたが使用する描画エンジンに合わせてテクスチャをカスタマイズしたい、ということもあるでしょう。
例えば、この状態ではAOマップは出力されませんし、ラフネスとメタリックが別テクスチャに出力されてしまいます。
ラフネスとメタリック、AOマップは1つのテクスチャに合わせてもいいのでは?
また、今回は高さマップはいらないかな、などの要望があるでしょう。
そのようなエクスポートのカスタマイズはエクスポートウィンドウの [Configuration] タブで行います。
[Configuration] タブには出力するテクスチャのコンフィグが存在しています。
主要なゲームエンジンであるUnity、UE、CryEngineに対応するコンフィグも存在しています。
今回は [Unreal Engine 4 (Packed)] を元にして自前のエクスポートコンフィグを作成してみましょう。
まずは前述のコンフィグをコピーします。
Presets と書かれている部分の左側のボタンを、前述のコンフィグを選択した状態で押してみましょう。
するとこのようにコピーされたコンフィグが作成されます。
コピーされたコンフィグを右クリックし、[Rename] を選択して名前を変更しましょう。
とりあえず今回は [UE4 Custom] と名づけました。
今回はエミッシブはいらないのでコンフィグ内の4番目を削除しましょう。[x] ボタンを押せば削除できます。
次に設定すべきは上から2番目のテクスチャです。
このテクスチャはRとGのチャンネルにラフネスが、Bチャンネルにメタリックが入っています。
ラフネスは1つでいいので、Rをラフネス、Gをメタリック、BをAOにしたいと考えました。
まずは [Input maps] ペインから [金属] という項目を見つけて、2番目のGチャンネルにドラッグ&ドロップします。
コンテキストメニューが開いたら [Gray Channel] を選択しましょう。
同じように [Ambient occlusion] を見つけてBチャンネルにドラッグ&ドロップします。
これで出力テクスチャの各チャンネルに何が格納されるかが決定されました。
もしも新しくテクスチャを追加したい場合は、上部の [Create] の項目から必要な型を選択してボタンを押してください。
最後に出力するテクスチャの名前を変更しましょう。
UE4のテクスチャ命名規則は基本が "T_xxx_B" などとなっています。
最初は "T_" で始まり、素材などの文字列が入り、最後はベースカラーなら "_B"、法線なら "_N" と言った具合です。
今回は "T_メッシュ名_マテリアル名_接尾辞" という名前にしてみます。
メッシュ名、マテリアル名は言わずもがなですが、接尾辞はいわゆる Suffix というやつで、ベースカラーは "B"、ラフネス・メタリック・AOのマップは "RMA"、法線は "N" とします。
メッシュ名やマテリアル名を直接設定するのはまずいので、"$mesh" と "$textureSet" の文字列を使います。
これはそれぞれメッシュ名とマテリアル名に自動的に置き換えられる便利な文字列です。
というわけで変更後はこうなります。
$mesh などの自動変換される文字列がわからなくなった場合は右の [$] ボタンを押してください。
今は3つの文字列が設定可能なのがわかるでしょう。
では、[エクスポート] タブに戻って [Config] を先ほど作ったコンフィグに切り替えましょう。
ファイル名の自動変換文字列はきちんと変換されて、どのような名前のテクスチャが出力されるかわかるようになっています。
ではエクスポートボタンを押して出力しましょう。
設定されているフォルダに出力されているはずです。
こんなダイアログが表示されたら成功ですので、[Open folder] ボタンを押してフォルダを開き、テクスチャが正常に出力されているのを確認して下さい。
正常に出力されていたらあとはメッシュとテクスチャをUE4に読み込ませて、マテリアルにテクスチャを接続して完成です。
だいたいSP上の見た目と同じになっていますね。
という感じで、Substance Painter紹介記事はここまでとします。
これ以上はアーティスト的なテクニックのほうが重要になるでしょうし、そういうのは自分には解説できません。
これからもブログはUE4とたまにSubstance Designerの紹介なんかもやっていこうかとは思っています。
というわけで、みんなも使って色々なテクニックを紹介してくれると喜ばれると思うよ!