本記事では3DCG講師として指導育成の分野で活躍し、フリーのモデラーとしても活動しているIKA 重田良亮氏による解説。モデリング、およびテクスチャ関連の制作について、コツを紹介してもらった。

重田氏の講座『PBRペイント活用講座〜リアルタイム系メカモデリング〜』が5月18日(金)に開催されます。ご興味ある方はぜひご検討下さい。

  • ■PBRペイント活用講座
    〜リアルタイム系メカモデリング編〜

    開催日:2018/5/18(金)19:00 - 22:00
    会場:東京都千代田区九段南1-5-5(ボーンデジタルセミナールーム)
    参加費:10,800 円(税込)
詳細/お申し込みはこちら

※本記事は月刊「CGWORLD + digital video」vol. 223(2017年3月号)からの転載となります

TEXT_IKA 重田良亮

モデリングからPBRペイントまで現場で使える制作術を伝授

今回、紹介するのは近未来の世界に登場するような、特殊なボディスーツを身に纏って戦うという設定で制作したメカキャラクターである。このキャラクターを例に、リアルタイムビジュアライズツール「MarmosetToolbag 3」を使ったPBRレンダリングでリアルタイム表示させるためのモデリング作業を紹介したい。ベースとなるモデルは個人制作していたものをこの記事のためにつくり直したものだ。

 テーマにした設定は仕事の案件としても非常に多い。今回は俗に言う"中二的"な不定形なもの(メカやクリーチャー問わず)を制作する際に筆者が行なっている、ベースとなるソースメッシュとノーマルマップをZBrushとMayaを組み合わせて作成し、3D-Coatでリトポロジーモデルを作成。さらに、ノーマルマップにディテールを描き込み、PBRペイントすることでリアル近未来の表現を実現していく工程を解説する。ぜひ制作の参考にしてほしい。

資料集めとソースメッシュモデリング

架空のキャラクターを想像してつくり上げていくモデリングでは、たくさんの資料や素材をしっかり観察・分析することで様々な表現に応用していくことができる。観察や分析は非常に大切な工程だ。そして、時間の限りたくさんの資料を集めた情報こそが本人の「引き出し」という強力な武器となり、アイデアの素となるのでしっかり集めておきたい。

昨今ではネットで簡単に画像を探せるが、今回のテーマである「メカ」は自分の足で実物を見てスマートフォン撮影などをしておくと記憶に残りやすいのでぜひ試してほしい。薄汚れたトラックやバイク、建設機械などを見るだけで多くの情報が得られるはずだ。そして、自分の作品とのちがいが見えてくれば、表現の幅がより広がるだろう。そのほか、デザインやアイデアを集める際に、筆者は写真シェアサービスの「Pinterest」(※1)をよく使っている。また、画像やモデルを参考にしたい場合は「Artstation」(※2)や「Sketchfab」(※3)で探せるのでオススメだ。

さて、資料が集まったらノーマルマップのベースを作成するためにボディスーツの素体から作成していく。ここで自作の簡易モデルを使い、ZBrushで直接デザインを起こしながら、ラフモデルから一気にソースメッシュとして仕上げていく。ここではディテールの描き込みはせず、あくまでシルエットや面をしっかり出していくことが目的なので、つくり込みすぎには注意。今回は[Clay Build up][hPolish][Trim Dynamic][Dam Standard][Smooth][IMM]のブラシだけで仕上げている(IMMブラシは主にMayaで作成)。 ZBrushで素体の形状が整ったら、[ZRemesher]でシルエットが崩れない程度にポリゴンを削減し、Maya側で残りのパーツの作成に取りかかる。ZBrushでは円柱や球体などのプリミティブ形状の軸の扱いが特に大変なため、各種数値を保持しつつピボットのズレないMayaで行うのがオススメだ。特に可動関節が多いモデルはこうした作成方法の方がストレスがなく、早く作業できる。あらかじめツールごとの作業を切り分けておくことでノーマルマップを効率良く作成することができるため、筆者はこの方法をよく採っている。

※1...Pinterest(jp.pinterest.com
※2...Artstation(www.artstation.com
※3...Sketchfab(sketchfab.com

[資料を集める]主にディテールや材質用に集めた資料の一部。このくらいの量があるとアイデアがドンドン浮かんでくるので参考にしやすい。そのほか、可動部分などは市販のフィギュアやガン○ラの説明書、設定資料集などを用意して制作に挑んでいる

[ラフモデル]ZBrushでラフモデルからソースメッシュに起こした画像。全身作成しているが、今回のモデルには別の巨大な腕が付くので、この後切り離している

腕を外し、[ZRemesher]をかけて、FBXでMayaに読み込んだ状態。このモデルをアタリとして各パーツを組み上げていく

Mayaで[Crease]を設定した、ZBrushへ渡すためのモデル。Mayaでは主にCombineとExtractが行えるフリープラグイン「AriCombineExtract」(※4)でパーツをどんどん切り離したりくっつけたりした後、エッジを立てたいところに[Crease]を設定している。腕のひじ関節はこの後の作業も考えて画像のように軸が横にくるようにしている

※4...「CG自習部屋 Mayaの時間」(cgjishu.net)にて配布中

次ページ:ソースメッシュとリトポロジー

関連講座

  • ■PBRペイント活用講座
    〜リアルタイム系メカモデリング編〜

    開催日:2018/5/18(金)19:00 - 22:00
    会場:東京都千代田区九段南1-5-5(ボーンデジタルセミナールーム)
    参加費:10,800 円(税込)
詳細/お申し込みはこちら [[SplitPage]]

ソースメッシュとリトポロジー

Mayaで作成した"Crease付き"モデルをmaファイルでZBrushへ読み込むと、ZBrush内でもMayaで定義したCreaseを扱うことができる。エッジに[Geometry→Crease、Bevel]をかけることでキレのいいシャープなエッジが生まれるので、後はソースメッシュとしてパーツをどんどん仕上げていく。

この後、それぞれをFBXとして出力し、Mayaで作成した大半のパーツはMayaで元のモデルを利用してリトポロジーを行い、残りのパーツとボディスーツの素体は3D-Coatでリトポロジーを行なっていく。ここまでの作業は仕込みの手順さえ覚えればさほど時間をかけずに行えるため、業務でもよく活用する手法である。

Mayaでは[Modeling Toolkit]や元のモデルを利用して作業を行うのだが、この理由のひとつとして、頂点同士の整列や吸着、ちょっとしたズレのケアレスミスの回避対応などが上げられる。主に正円に近い形状の円柱や球体の扱いのほか、前述の軸のズレ防止のためにも作業の際は雑なデータにならないように意識すると良いだろう。

続いて3D-Coatでの作業だが、3D-Coatのリトポロジーは覚える機能が最小限で済むので、誰でも気軽に、直感的に扱えるのが特徴だ。興味がある人はぜひ試してほしい。操作で主に使う機能はリトポロジーモデルを管理する「リトポグループ」、ポリゴンを作成する場合は[点と面][ストローク]の2種類の機能だけしか使わない。リトポロジー作成においては非常にシンプルで強力なツールなのである。

[MayaによるCreaseの設定]Mayaで[Crease]を設定した状態でSmooth Mesh Previewしたマスクパーツ。Mayaでは[Crease]を使うとどうしても各エッジが少しぬるくなってしまう

ZBrushで[Crease][Bevel]を施したマスクパーツ。エッジ処理が効いている。この時点でほぼベイク用のソースメッシュが完成している状態だ

同じく、Mayaで[Crease]を設定した状態でSmooth Mesh Previewした腕パーツ。細かいパーツもエッジを追加すれば引き立つが、今度はエッジが無駄に増えることでエッジにノイズが入ってしまう。Mayaで処理する場合は注意が必要だ

ZBrushで[Crease][Bevel]を施した腕パーツ。実はZBrushでこのような細かいパーツをひとつずつ[Crease]を設定していく場合、選択のデリケートさゆえにケアレスミスが細かなパーツの処理に比例して増えてしまいがちだ。データの橋渡しをする必要があったとしても、Mayaで設定することで作業工数の短縮になっている

[ソースメッシュ]ZBrushでの処理が済んだソースメッシュの全身モデル

後ろ側

バストアップ

[リダクション]Mayaで元データをリダクションしたリトポロジーモデル

腕パーツは内部にもギミックを仕込んではいるものの、元モデルと比べてポリゴンが削減されているのが見て取れる

ZBrushでポリゴン数を削減する準備。元はバラバラの状態

[DynaMeshMaster]をかけた状態。一度、高密度のDynaMeshに変えることで交差ポリゴンのない高解像度のポリゴンモデルとしてつくり変えることができる。こうすることで、シルエットを残したままポリゴンの削減がしやすくなる。参考までに、このモデルは約600万ポリゴン相当ある

[Decimation Master]をかけ、ポリゴンを削減(リダクション)した状態。三角ポリゴンにすることで極限まで削ることができるようになる。ディテールを繋ぎ目の溝以外何も施していないのはこのためである。なお、こちらは約30万ポリゴン

[3D-Coatでのリトポロジー]3D-CoatでFBXファイルを読み込み、リトポロジーモデルを作成する

3D-Coatでのポリゴン生成例。青い点を4つ以上置き、カーソルを合わせる

これだけでポリゴンが生成できる。三角でも四角でも、ポリゴン生成の方法をある程度固定させることもできるので、ローモデルからハイモデルまで幅広く対応可能。また、この時点でおおまかでかまわないのでUV展開のことを想定して切り離せるようにリトポグループにどんどん分けておくと、後々展開の苦労がかなり軽減できるので試してほしい。また、形を捉えるのではなく蓋を被せる=UVシェルなのだと意識することもひとつの手である

[リトポロジー完成]FBXで全てMayaに読み込み、確認をしたらリトポロジーの作業は完了。この後はUV展開の作業に入る。3D-CoatやZBrushでもUV展開はもちろん可能であるが、筆者が一番慣れているのがMayaのため、今回はMayaに読み込んでUV展開を行うことにした

次ページ:UV展開とノーマルマップ作成

関連講座

  • ■PBRペイント活用講座
    〜リアルタイム系メカモデリング編〜

    開催日:2018/5/18(金)19:00 - 22:00
    会場:東京都千代田区九段南1-5-5(ボーンデジタルセミナールーム)
    参加費:10,800 円(税込)
詳細/お申し込みはこちら [[SplitPage]]

UV展開とノーマルマップ作成

いちいち面やエッジを分けたり、切り離したりと、ノリだけで上手くいくほど綺麗なポリゴン分割ではない場合のUV展開の苦労は計り知れない。そこで、前述のように「リトポグループ」で小分けにすることが大切である。メカなどの場合は特にこの小さな手間が作業の効率アップのカギとなる。流用パーツを配置する際はもちろん、装甲のパーティションラインで分けたりと、いつも以上に気持ち細かく切り離しておく方がUVの自動展開機能が活かせるのだ。後は最低限のUVの移動に抑えて、再びエッジ同士を繋いでいくことで綺麗なUV展開が完成となり、最後はUV座標にまとめてマテリアルごとに設定していくだけとなる。

筆者がいつもUV展開で使用するのは[Cut][Sew][Flip][Rotate]の基本機能のほか、[Unfoldselected UVs]、[Tweak UV Tool]など。それに、パイプなどの帯状に展開するフリープラグイン[AriUVGridding]。同じく個々に展開した後のスケール調整に[AriUVScaleChecker]を使用しているので参考にしてほしい。

次にテクスチャの歪みチェックもUV展開時に行うが、512×512の1ピクセルずつ確認ができるくらいの小さいテクスチャを使うと伸びや歪み、繋ぎ目のズレなどが簡単にわかるのでオススメ。筆者の授業でもよく話をしているほどだ。UV展開が終わった後のノーマルマップベイクは、このままMayaの[Transfer maps]を使って行なった。全体を[SoftEdge]にした後、調整が必要な箇所だけ、[HardEdge]に切り替えて仕上げている。その後、ベイクする際はUV展開後のマテリアル分け+各パーツに分解してからPhotoshopでまとめればベースのノーマルマップの完成となる。

UV展開図。シンメトリーや流用パーツもあり、UV展開は比較的簡単に行うことができた。今回はUDIMを使用していないが(MayaはUV座標の移動が容易なため)、マテリアルごとに展開している際には整理と管理に重宝するので参考にしてほしい

[ノーマルマップベイク]512×512マップで表示

今回は各2Kでペイントするため、最終的には2,048×2,048となっている

ベイクした頭と胸パーツのソースメッシュとリトポロジーモデル

ソースメッシュとリトポロジーモデルのワイヤー表示

腕パーツのソースメッシュとリトポロジーモデル

同じく、ソースメッシュとリトポロジーモデルのワイヤー表示

[3D-Coatによるディテール]各ノーマルマップをひとつに合成

3D-CoatにFBXで読み込み、各UVセットとノーマルマップを設定

ここにディテールを描き込んでいく

ラインツールでパーティションラインを彫り込んでいく

ボタンや留め金などをブラシのスタンプで足して完成。今回は「3D ART RESOURCES」(gumroad.com/environmentdesign)で配布されている有料のアルファ素材を利用している。画像を組み合わせることでさらにたくさんのディテールも作成可能だ。この素材集、有料だが約300種類付いて$5と非常に良心的な価格で、無料サンプルも配布されているので試して損はない





その他のディテールも完成。ノーマルマップにディテールも加えることができたので、いよいよPBRペイントに移りたいところだが、描き終わったら必ず「曲率計算(CurvatureMapを生成)」を行うこと。この計算をせずにペイントしてしまうと起伏の情報がまったく反応されないので注意が必要だ。初めてマテリアルを選んでPBRペイントを行う際は計算するかのアナウンスがあるので、処理を行なってからペイントするように

次ページ:PBRペイントとレンダリング

関連講座

  • ■PBRペイント活用講座
    〜リアルタイム系メカモデリング編〜

    開催日:2018/5/18(金)19:00 - 22:00
    会場:東京都千代田区九段南1-5-5(ボーンデジタルセミナールーム)
    参加費:10,800 円(税込)
詳細/お申し込みはこちら [[SplitPage]]

PBRペイントとレンダリング

3D-Coatでディテールを加え終わったら、前述のようにバックアップを取った後に必ず「曲率計算(CurvatureMapを生成)」を行う。これを実行しないとマテリアルペイントでダメージ素材や削れなどの情報がエッジにきちんと反映されないので、ある程度描けたら計算を行うようにしておくといい。次に、マテリアル編集から[Overall CavityModulator]の数値を調整し、各材質に合ったエッジ幅の削れ具合を決めたら、レイヤーごとに素材分けして塗っていく。

今回はノーマルペイントでディテールを入れているので、塗る前にノーマルマップに影響しないように塗りのチェックを外しておくといいだろう。金属ベース、ペイント塗装、マット塗装、ラバー、汚し、発光などをレイヤーに分けて塗っていく。全て塗れたら、HDRIマップを切り替えてマテリアルの映り具合を確認する。マップの影響で面の映り込みなどを確認したら、表示モードを切り替えて塗り残しがないか、確認も忘れずに行う。各テクスチャ出力ができたらモデルと共に「Marmoset Toolbag3」で描画すれば、今回のモデル制作の完成となる。

[Overall Cavity Modulator]の数値による変化の例。状態を確認してからペイントを行う

細かいパーツや部位にペイント

さらにペイントを施し、ステンシルやスタンプ機能でラベルの追加と汚し、発光素材を追加ペイント

HDRIを変えながら、映り込みや環境のちがいによる影響をチェック

塗り残しがないか各表示モードに切り替えてチェック。この確認が終わればテクスチャ作成は完了だ

出力したテクスチャは計45枚。カラー(アルベド)、グロス、メタルネス、ノーマル、発光の5種類で、発光以外は全て2,048×2,048で出力している(発光は1,024×1,024に落としてブラー効果を少し入れている)。発光はレイヤーから直接出力は可能だが、ノイズが多く修正に手間がかかるので、下のレイヤーにマットの黒で塗りつぶしてからカラーマップとして出力した

「Marmoset Toolbag 3」にFBXと各テクスチャを読み込み、パラメータを調整していく

カメラとポストエフェクトの調整。右は効果を入れる前。左は被写界深度とブルーム効果を入れている

画づくりができたら、すでにポーズを付けておいたモデルに差し替えてカメラレイアウトを調整

完成



背中のブースターや腕の放熱フィンを展開させて一撃を決めようとするワンシーンに仕上げた

まとめ

ベースのノーマルマップと描き込みを分けて効率UP!

以上が、今回制作したフローのながれである。ベースのノーマルマップと描き込みを分けることでベイク時のトライ&エラーの手間を減らすことができるので、Maya環境内の作業の参考になれば幸いだ。また、学生が今回のディテール作成に興味をもってくれたなら、MudboxやMARI、Substance Painterのアカデミック版やノンコマーシャル版で代用が可能なので、ぜひ挑戦して熱い作品をたくさん生み出してほしい。

関連講座

  • ■PBRペイント活用講座
    〜リアルタイム系メカモデリング編〜

    開催日:2018/5/18(金)19:00 - 22:00
    会場:東京都千代田区九段南1-5-5(ボーンデジタルセミナールーム)
    参加費:10,800 円(税込)
詳細/お申し込みはこちら