当たったらどうすんだよ

当たらなければどうということはない

ZBとBlenderでUE4用のキャラを作る #5:Zbrushでディティール入れ

人物キャラをUE4用に作成!の第5回です。
今回はZbrushを使ってBlenderでジオメトリを編集し、UV展開したキャラクタメッシュにディティール入れと仮のテクスチャリングを行います。

Zbrushでの結果

f:id:kanianthi:20160609174317j:plain

ディティールをスカルプトし、テクスチャをつけるとポリゴンモデルは化けます。今回のキャラクタである「ワサビミドリ」のコンセプトは、

  1. ワサビをイメージしたキャラであること。和風で古風でもある。
  2. 性格はおしとやかで粗暴。言動は丁寧で非道。運動神経が高く武道に通じているがブドウ(葡萄)は苦手。
  3. 実は人間ですらないので児童ポルノ法に抵触する年齢問題はクリア。

というような設定が「しっかりと(謎)」なされていますので、公開用キャラとしてシンプルにウォームアップスーツというか自転車スーツ的なモノをデザインしました。

最初にやること

GoBでBlenderからZbrushにメッシュを戻して最初にやることは、ポリグループ設定のやりなおしです。まずはAutoGroups with UVでUVアイランドごとのポリグループにしてから、Shift+Ctrlクリックで表示/非表示を切り替え、パーツ単位でスカルプトや色塗りがやりやすいようにポリグループを作成します。袖口などの円周状ポリゴンは独立グループにしておき、Group Creaseでエッジ出しをするようにしておくと後の作業が楽になります。

これらの作業が終わったらUV Mapメニューから各UVというかテクスチャサイズも設定しておくと良いでしょう。

すべての下準備が終わったら、サブツールごとにMorph Targetに登録しておきます。本エントリはZbrush入門ガイドの主旨はないため、詳細はすっ飛ばして進めますがモーフターゲットというより、もともとのベースメッシュに対して、ハイポリにスカルプトされた「頂点位置の変位」がノーマルマップやディスプレイスメントマップとして書き出される仕組みですから、モーフターゲットとしてベースメッシュを登録しておくことはZbrushでのディティール入れの「キモ」と言えます。

開いていた口を閉じる

f:id:kanianthi:20160609180120j:plain

連載第1回で提示した素体モデルの口はきゅっと閉じていました。しかしDynameshをZremesherで自動リトポしつつ、口の内部の形状を保ったままにするのは至難の技です。ですので、口の開閉を行うキャラをZremesherする際には、一度形状を均してしまうか、最初から口を開けた状態でモデリングしておけば、ポリゴン化しても口の内側がメッシュとして整っていますので楽です。

とはいえ、そのまま口を開けた顔で作業を進めるとすさまじく間抜けなキャラが出来上がってしまいますので、この段階で口を閉じてしまい、そちらをベースメッシュとして保存します。

このとき、SDivレベルをいきなり上げないでください。

確かに、既存のキャラクタのモーフターゲット(シェイプキー)をZBで作成するケースでは、すでにSdivレベルがあるのですからそれを利用することもあります。しかしSDivレベルを追加する=サブディビジンサーフェースを利用すると「痩せる」という問題が発生します。

今やっている作業は「ベースメッシュの確定」ですので、Sdivレベルのない状態でMoveブラシやZbrushマイスターである榊馨さん謹製の「MoveF」ブラシなどを使って閉じた唇形状を作成します。こうしたモーフ作業を行う際には、唇なら唇を構成する頂点だけではなく、その周囲の頂点も適切な形状に整えることを心掛けてください。

ディティール入れます

f:id:kanianthi:20160609193133j:plain

いきなり前髪完成しましたww
このスカルプティングのキモは「先っちょが片側2つだから髪の毛の房も二つ!」という安直かつ明快な発想を脱却することにあります(おおげさ)

というよりも…スカルプティングとして特殊な技術は一切使っていません。前述した榊さんが配布されているSM CreaseブラシとSM Slashブラシだけで仕上げています。先に溝を掘って次に角を立てているだけです。

大前提として、

  1. これからUE4にキャラを導入するためのディティール入れを行っている。
  2. 最終的に出力するものはメッシュデータではなくテクスチャである。

以上の2点を強く意識しましょう。

極端にローポリゴン化を目指すわけではありませんが、それなりのポリ数までは意識して減らしていますので、ポリゴンリソースを食うディティールはそもそも入れられません。なので「法線マップやディスプレイスメントマップ(ハイトマップ)による疑似表現で」やれる範囲のことをスカルプトすれば良いのです。

具体的には、Moveブラシやトランスポーズツールなどによる大きな形状変化はマップに反映できないので考えません。もしもそれらが必要であるなら、モデリング過程をやりなおす必要があります。この辺の感覚はどうしても経験に委ねられますので、定量的にこうしましょうああしましょうという話はしづらいですが、トライ&エラーを重ねてみましょう。

f:id:kanianthi:20160609195003j:plain

髪の毛スカルプティング最終段階…って画像見て気付きましたが「おさげ」をまとめる筒?的なのに加工するの忘れてますねw追加作業しておきます。

f:id:kanianthi:20160609195327j:plain

靴はこんな感じです。フィットネス系のダンスシューズ的なイメージです。サイドにはワサビロゴ。あとソールはリーボックのオールテレインをイメージしたものですw

SDiv6で出来る範囲のディティールなのでこんなものです。マスクしてDeformationでInflateしてCrayかCrayBuildUpで細部を描く感じです。

f:id:kanianthi:20160609195828j:plain

↑ボディ全体のスカルプティングとポリペイント。

サイドのラインもワサビをイメージしていますw服の皺入れも最低限にとどめました。

f:id:kanianthi:20160609200203j:plain

↑顔です。

鼻のポリゴンを多めにとっておいたのはこれをやるためです。アニメ調のとんがり鼻が大嫌いなのでしっかり鼻の穴も小鼻もあります。眼窩をポリグループ分けしてCreaseしてしまったせいで、ハイポリだとエッジが立った分眼球の収まりが悪くなっていますが、ローポリで表示する分には問題ありません。

顔のメイクはZBのポリペイントベースでもけっこうイイところまで表現できるので丁寧に作業します。眉毛やまつ毛の描画以外はカラースプレーモードで描画色以外の色が混ざり込むように彩色しています。

テクスチャ出し

そんなこんなですべてのサブツールにディティールが入り、ポリペイントもできたらテクスチャの出力です。ここでMulti Map Exporterを使えば自動ですべてのサブツールのテクスチャを一括出力できるのですが…なぜかUE4はTiffに対応していないので結局フォトショかなにかで変換作業が必要になります。

場合によっては、SubstanceDesignerでノーマルマップを作成(ベイク)したほうが良い結果につながることも多いので、ZBでは仮テクスチャを出すつもりで作業します。

  1. カラーマップ(ディフューズマップ):png
  2. ノーマルマップ(DirectXターゲットならFlipGで:png
  3. ディスプレイスメントマップ(ハイトマップ):16bit tiff

UE4だとディスプレイスメントそのものは使えませんが、マップはハイトマップとして生かしたり、これをベースにスペキュラーかラフネスマップを作成することができます。スペキュラであれば白(ハイライト)がそのまま光沢になりますが、ラフネスでは値0が鏡面ですのでマップの明度を反転させればラフネスマップ(のベース)として使えます。

ほかにもZBでAO(アンビエントオクルージョン)なども出力できますが、これも必要と思えばSubstanceで出すことにして、ハイポリをDecimateし、ベイク用にobjで出力しておきます。

なお今回のztlデータを公開します。

onedrive.live.com

次回は出力したテクスチャマップをフォトショで編集/加工したり、Substanceのベイク作業などを紹介します。