Substance Designerでは3Dビューで外部のモデルデータなどをインポートして使うことができます。
モデルデータを使う際にあらかじめ作成しておきたいのが、ベイクしたメッシュマップです。
モデルの形状でAOやNormal、Curvatureなどの情報をビットマップなどの画像形式で作成することができ、それを割り当てることでよりリアルな質感を表現したり、細かいディテールを表現しやすくなります。
今回はSubstance Designerに読み込んだメッシュを使ってベイクをする方法について紹介します。
▼外部のモデルをインポートして3Dビューで表示する方法
-
【SubstanceDesigner】3Dモデルをインポートする手順
Substance Designerでテクスチャを作成している時に、3Dビューで自作の3Dモデルやアセットをインポートして使いたいと思ったことはありませんか? ...
続きを見る
【SubstanceDesigner】メッシュを使ってベイクする方法
今回は以前記事で使用したAssetのグレネードモデルを使用してベイクしてみます。
Substance DesignerではSubstance Painterと同じ様にローメッシュモデルのみでもベイクが可能ですが、今回はハイメッシュの情報でベイクしてみたいと思います。
-
【MAYA】ハイモデルからノーマルマップを作成する方法
ポリゴン数の少ないモデルでもテクスチャで簡単に凹凸を表現できるノーマルマップ(法線マップ)は、細かいディテールをモデリングしなくてもモデルの情報量を上げてくれるので非常に便利ですよね。 ...
続きを見る
リソースからベイクウィンドウを開く
まずベイクしたい3Dモデルを読み込んでリソースフォルダを作成しておきます。
作成したフォルダを開き、ベイクしたいモデルを選択して右クリック▶︎「Bake model Information」を選択します。
するとこのようにベイクウィンドウが開きます。
ベイクの設定
ベイクウィンドウではベイクするメッシュの選択やベイクしたマップを書き出すパスの選択、ベイクしたい各要素を設定する必要があります。
ベイクするメッシュとベイク方法を選択
ベイクウィンドウ左上にある「Select elements to bake」から、ベイクに使用したいメッシュかマテリアルを選択します。
選択方式はふたつあり、「Materials」か「Sub−mesh」が選択できます。
上記の「Materials」ではあらかじめ割り当てられているマテリアルごとにベイクする設定になっています。
「Sub−mesh」ではメッシュを分けておいた状態の場合はそれぞれベイクしたい部分ごとに選択することができます。
ベイクさせたくないメッシュがある場合はチェックを外すことで、ベイクさせないように設定できます。
今回は「Sub−mesh」でベイクしていきます。
ベイクに使うハイメッシュモデルを選択
今回はハイメッシュのモデルを使用してベイクするので、「Setup High Definition Meshs」から使いたいハイメッシュのモデルを選択します。
「Add high definition model」からモデルが格納されているパスを設定します。
「From Files」でパスから設定、「From Resources」からSubstance Designer内のリソースフォルダから設定することができます。
ハイメッシュモデルを使わずにローモデルのみでベイクする場合は「Use low as high definition」にチェックを入れればローモデルのみでベイクされるようになっています。
ハイモデルをパスから選択した状態。
出力先の設定
次はベイクしたメッシュマップ画像が出力されるパスを設定します。
Folderウィンドウの横の…からパスを選択できます
Methodが「Link」になっている場合、Folderに設定したパスにベイクしたマップが出力されます。
Nameからデータの命名規則を設定することもできますが、今回はデフォルトのままで進めることにしました。
デフォルト値を設定
ベイクするマップの解像度や画像形式などを設定します。
今回はデフォルト設定で進めていきますが、使用するテクスチャの解像度や拡張子が決まっている場合はここで設定しましょう。
ベイカーリストの設定
「Bakers render list」ではベイクしたいマップの種類を設定します。
例えばAmbient Occulusionをベイクして作成したい場合などは適宜Bakerから設定する必要があります。
「Add Baker」からベイクしたいマップをリストに追加していき、Renderでベイク処理を開始します。
「Add Baker」をクリックして、Ambient Occulusionを選択した状態。
ベイクメッシュマップの設定ですが、それぞれベイクのされ方が微妙に違うようです。
ここでは「Ambient Occulusion」に設定しましたが、
「Ambient Occulusion Map from Mesh」の方が綺麗にベイクされたり、「Normal Map from Mesh」よりも「Bent Normals Map from Mesh」の方がうまくいったりするので、色々試してみて良い感じにベイクされる方法を選ぶと良いと思います。
ベイクしたいマップ情報(ここではAO、Curvature、Normal)をそれぞれ追加しました。
これでベイク設定は完了です。
設定した内容でベイク
設定した内容でベイクを実行します。
「Start Render」でベイクが実行されます。
処理が完了すると、リソースファイル内にベイクされたマップ画像が追加されます。
ベイク完了です。
注意ポイント
ベイクから作成されたマップは設定したパスのフォルダ内に保存されますが、マップ画像を移動させたり削除したりするとリソースファイルの横に「!」が表示されてプロジェクトファイル内で使えなくなります。
誤って消してしまわないように注意が必要ですね。
ベイクしたマップを3Dビューで割り当てる
ベイクしたメッシュマップを3Dビューのモデルに割り当てて表示してみます。
リソースファイルから3Dビューまでドラッグして、使用したいチャンネルを選択します。
作成したマップ(Ambient Occulusion、Normal)を割り当てた状態です。
ハイメッシュモデルのディテールがベイクされてローモデルに表示されているのがわかります。
グラフから3Dビューに割り当て
作成したメッシュマップをグラフビューにドラッグして使用する事もできます。
グラフから右クリックで3Dビューにドラッグして、チャンネルを設定することでも同じ様に表示することが可能です。
今回はSubstance Designerでメッシュをベイクして各種マップを作成する方法について紹介しました。
Substance Painterとはベイカーが全然違うので戸惑ってしまうかもしれませんが、やっていることは基本的に変わりません。
オリジナルのメッシュをインポートしてテクスチャ制作をしたい方はぜひ試してみてください。
▼公式Help(英語)
▼ベイクの仕方を紹介してくれている動画(英語)