MARIでテクスチャーを描く。MARIでテクスチャーを描く。ochiこんにちは!越智光進です。前回まででモデリングが完成しましたので今回からMARIの回ということで全てのUDIMにテクスチャーを描いていく内容でご説明してまいります。細かい話もあるかもしれませんし、私自身もすべてを理解しているわけではないので説明不足がありましたらご容赦ください。準備編と題しまして、描く前にできるだけ設定・作成しておいた方がいい内容をご説明いたします。ついてをご確認ください。マシン環境については必ずというわけではないです。推奨ですので、別のボード、例えばQuadroMシリーズでも問題なく使えると思います。4kや8kを超える内容でUDIMの数やレイヤーをたくさん重ねる予定で描いていくつもりでしたら推奨スペックをお勧めいたします。SSDの外付けのハードディスクも電気屋さんで購入できますので、そちらを使ってデータを作成していけば読み込み速度の向上にもつながります。ちなみに私は500ギガの外付けSSDを使って別環境、自分の仕事場以外でのMARI等のやりとりに使用したりしています。余談でしたがご参考までに。実際まずMARIを立ち上げて描いていくモデルをインポートしていきます。モデルを読み込む際すこしでも凹凸の変化を見ながら描きたい場合はZbrush等で作成したモデルのポリ数が100万以上でも全然読み込めます。sdivをすこしだけ下げてエスクポートし、MARIで読み込むか、もしくはZbrushからの場合はUVを保持させてデシメーションをかけて使用することも可能です。※特にスカルプト中心で作成したモデルは形状をできるだけ保持してエクスポートすることをお勧めいたします。※UDIMを使用している場合はしっかりUVの位置関係を確認してからエスクポートしてください。間違えるとエラーが起きます。↓またエスクポートするオブジェクト分けをする場合は、私の場合はUDIMが入っているパーツ(要するに1シェーダーに割り当てるUV構成)をひとまとめ1オブジェクトにしてエクスポートしています。その方が作業管理がしやすいのと、同じUDIMが入っているのに別パーツにしているとモデルの切り替えやエクスポートした後の処理も大変もめんどくさいからです。肌、着物類(草鞋込み)、兜、首から下の甲冑、武器、紐類というようなUDIM分けをしましたので分けられたパーツをそれぞれエクスポートして読み込みます。次に、解像度の設定とChannelの設定です。解像度の設定をしないでオブジェクトをインポートしてもPatchesの中の設定で自由に変えられます。だいたいテクスチャーはまずはalbedo(diffuse)から描いていきますが、チャンネルを追加するのと、bit数、カラーマージメントの設定はかならず行っておいてください。※カラーマネジメントはプロジェクト毎に設定があったりするので可能なら共有することをお勧めいたします。これでまずは初期の設定は完成したので、次にベーステクスチャーを作成していきます。肌、着物、甲冑と、必要なベーステクスチャーをフォトショップで作成してMARIのImageManagerに読み込んでいきます。ある意味今回高解像度で撮影を行ったのもこのベーステクスチャーの素材を確保するためでもありました。前回までのブログでそれなりにベーステクスチャーは作成しておりましたので、そちらで使える素材はつかって、新規で必要な素材も出てくるので作成しておきます。↓ベーステクスチャーも作成しましたら、MARIのImageManagerに格納しておきます。次はアンビエントオクルージョンマップを作成します。最初に言っておきたいのは、オクルージョンマップをよくアルベドのテクスチャー要素としてバンバン使う人を見かけますがまずそれは間違いということを知っておいてもらいたいです。映像用の場合はレンダリング時にオクルージョンを生成してくれますのでテクスチャーとして描いていると情報が重なって絵がどす黒く見える事が多くあります。ゲーム用であったり、例外として描いたほうが結果が良いというケースもあるのですが、オクルージョンマップは基本はReflectionやSSS、Gloss(roughness)のマスクマップとして使用するために作成します。オクルージョンを作成する場合は私の場合はオクルージョン用のシーンを別途用意しまして作成します。Patch用のモデルだけから書き出しても理想のオクルージョンマップは生成してくれないためです。MARI内でオクルージョンを作成する時はオクルージョン用のモデルをまずは別途作成します。↓MARI内でオクルージョンを作成する時は頂点カラーとして計算されますのでポリゴン数の少なすぎるローモデルからマップを生成するのはオススメしませんが、ポリゴンの分割設定がありますのでより細かい結果を求める場合は設定します。↑ゲーム用モデル等のサポートエッジの入っていないモデルに関しましてはこの設定はお勧めしません。割り数を増やすと計算が終わりませんので注意してください。※スカルプト要素のつよいオブジェクトはできる限りオクルージョン用に別途モデルをエクスポートして情報量の多いモデルからオクルージョンマップを生成してもいいと思います。MARIから作成する場合は↓(ベイクには多少時間がかかります)※より正確なマップを求めるならVrayDirtで1枚ずつレンダリングするかSubstancePainterでパーツごとにベイクしてもいいかと思います。このあたりはどういったアセットモデルを作成するかにもよりますので個人の判断ですが色の要素として使わないレベルのものでよいならMARIのオクルージョンでも問題はありませんし、MARI内のリアルタイムシェーディングのなかで結果を見る際に活用できますので可能ならbakeしておきましょう。MARI内でオクルージョンの設定を完了させたらExportFlattenedでAOマップを出力、制作側のシーンで読みなおすか、UV情報が同じならSessionから必要な要素だけをエクスポート→インポートします。今回はUV情報が違うのでテクスチャーとしてエクスポートしておきます。※すぐに必要ということではありませんので必要になった時にテクスチャーとしてインポートします。オクルージョンを作成しましたら制作用のシーンに戻りまして、準備の最後にSelectionGroupsの設定をします。MARIを使う方でこのSelectionGroupsを設定しない方が意外と多いです。しなくてもPatchの表示/非表示があるので複雑なオブジェクトでなければ描けるのですが、Patchの中でも重なっているパーツなどがありましたらグループに分けて置くことで描きたい部分だけの表示/非表示を可能にするので登録することをお勧めします。私の場合はUV画面、Faceモードに切り替えて、Selectツールで分けたいfaceだけを選択し、タグ下にある+ボタンを押します。これだけでグループに分けられますし、名前の管理もできます。この作業をすべてのオブジェクトに設定していきます。少々時間もつかいますがここをめんどくさいと思ってしまうと後々の塗りの作業がもっとめんどくさいことになりますので、できれば設定する事をお勧めいたします。今回の制作モデル自体はそれぞれ6つくらいのオブジェクトに分かれていますが、各それぞれでさらにパーツ分けをしたい箇所を選定して細かくグループ分けてしておくといいと思います。※またこのようなルーティンワークが多い作業はいち早くコマンドをショートカットに設定してストレスなく進めていくことを強くお勧めします。↓これで描く前の準備が整いました。準備に関しては、ベーステクスチャーがしっかりそろっていれば1日もあれば完了すると思います。ここまでが描く前に行なっている準備段階です。画像ではすでにテクスチャーの貼り付けが終わっている絵もありますが、また次回以降説明してまいります。お話が長くなってしまったので次回は肌全般か、甲冑全般のテクスチャーを描いてまいります。