BlenderでColor ID Mapを作ってQuixel Mixerに読み込むまで
Color ID?Material ID?ID Map?ナニソレ辛いの?とりあえず名前統一するところかは初めて頂いていいですかね?(実際、同じものなのか違うものなのかわかっていません)
というレベルの人間がBlenderでColor ID Mapを作ってQuixel Mixerで読み込むまでなんとかたどり着いた備忘録。
注)BlenderとMixerを使っている日本語の解説サイトが無かったので、SubstancePainter(触ったこともない)やUE4、などで解説しているサイトや読めない英語のサイトを読んで参考にしました。用語や使い方を間違えている可能性もあります。
作業の流れ
BlenderでColor ID MapとFBXファイルを作成
Mixerに読み込みペイント
Blenderでの作業
1.モデルを作りUV展開まで済ませる
ここではスザンヌを使っていいるため特に必要なし
スムーズシェード、サブディビジョンモディファイアを2でかける
2.マテリアルを1つ作り、Color ID Mapを作るためのテクスチャを作成
2-1:マテリアルのベースカラーと放射に同じ色を設定
(ここでの色が完成品に反映されるわけではない)
(コピペは数字やカラーをクリックしなくても上にカーソルを置いた状態でCtrl+C,Vの操作が可能)
☆Color ID Map作成時に使うのは放射で指定したカラー☆
2-2:テクスチャーノードを追加
・新規で画像を作成
・名前は分かりやすくColor_IDなどに
・サイズは一応Mixerの2048に合わせる
・他はデフォルトのまま
・ノードは繋がなくて良い
2-3:作ったテクスチャーノードを選択してCtrl+Cでクリップボードにコピーしておく。
3.Mixerで塗り分けたい所に対し個別のマテリアルを割り当て色を付ける
マテリアルビューにしておくとわかりやすい
3-1:塗り分けたい面を指定して、別スロットを割り当てる
3-2:新規マテリアルを追加
3-3:Ctrl+Vで2-2で作った画像テクスチャノードをペースト
・ここでの画像テクスチャは最初に作ったColor_IDと名付けたファイルを必ず使用
・ペースト出来なかった場合は前のスロットに戻ってCtrl+C
3-4:ベースカラーと放射を分かりやすい色に指定
・似た色にしてしまうと分かりにくいので注意
4.他に塗り分けたい所があれば3の手順を繰り返す
画像テクスチャーノードに指定するファイルは必ず共通のファイルを使用する(ここではColor_ID.png)。
5.Color ID Mapとしてベイクする
塗り分けたい所に対しマテリアルと色を分けたので、それをUVマップを元に画像にする作業(UVエディットタブで作業)
5-1:レンダーの設定
・レンダーエンジンをCyclesにする(Eeveeではベイク機能がない)
・ベイクのトグルメニューからベイクタイプを「放射(Emit)」に変更
(放射を使うことで照明などの要因で色が変わることが防げる。このためにわざわざ放射に色を指定してある)
6.ベイクボタンを押す
ベイクボタン(レンダープロパティにベイクトグル内にある)を押すと、下に進行状況を示すバーが現れ、少し待てばベイクが完了して左のUVエディターにColor ID Map(UVマップに色を塗ったようなもの)が表示される。(下の画像は少し失敗してるところがある)
ベイクでエラーが出た場合:画像テクスチャーノード忘れてるかも。シェーダーエディターで各マテリアルに画像テクスチャノードが設定されているか、ノードに割り当ててあるpngファイルが正しいかを確認。
7.画像を保存する
ベイクが完了した時点では画像が保存されていないので保存する。
UVエディターの画像メニューから「保存」を押すかAlt+S。名前はそのままで良い。わかり易い場所に保存。
これでColor ID Mapの作成は完了
8.FBXファイルを出力する準備
1オブジェクトに対して1マテリアルのみをのこして削除
・Quixel MixerでFBXを読み込む際に、1オブジェクトに複数のマテリアルが設定されているとエラーになる。
・よってここでは1オブジェクトに3マテリアルが割り振られているので2つを削除する。
・コピーを撮って削除前を保存するなどは自由。完成品では使わないが保存しておけばやり直しのとき便利。
9.FBXファイルを書き出す
9-1:書き出したいオブジェクトのみを選択
9-2:ファイルメニューからエクスポート(Export)>FBXを選択
9-3:「選択したオブジェクト」にチェックを入れてExportをクリック
(細かい設定はよくわからん)
Blenderでの作業は以上で終了
Quixel Mixerでの作業
1.New ProjectとNewMixを適当な名前で作成。
2.FBXファイルを読み込む
2-1:SetupタブのModel SettingからTypeでCustom Meshを選択
2-2:読み込むファイルを指定するウインドウが表示されるので、Blenderで書き出したFBXファイルを指定して読み込む。
読み込みが上手く行けば画像のようにモンキーが現れる
FBXが読み込めない時(models with multiple texture sets are not currently supported):Mixerは1つのオブジェクトに対し複数のマテリアルが設定されていると、エラーが出て読み込めない。
3.Color ID Mapを読み込む
3-1:Layersタブに移り、BaseLayerのMATERIAL IDのトグルを開く
3-2:Loadをクリックするとファイル読み込み画面が表示されるので、Blenderで作ったColor_ID.pngを読み込む。読み込みが成功すればMATERIAL IDのサムネイルに読み込んだ画像と色分けが表示される。
4.Material IDをレイヤーに追加
4-1:適用範囲を指定したいレイヤーを選択して、Layersタブに下にあるadd material idを押す。
4-2:マテリアルIDが作成されるので、表示させたい場所にチェックを入れる。
4-3:グループを作り整理して、クリップングマスクを兼用するとより細かく範囲を指定できる。
これ以上はMixerの使い方になるのでこの記事は終了。
ペイントが完了したらExportでTextureとして書き出してBlenderに読み込んで使う。
参考にしたサイト
https://www.create-virtual.com/Article/2164