ZBrush、Maya、Houdini等使用、緻密なCGキャラクター「Khlotharius」のメイキング

ステップ09:UV を Maya に書き出す

UV は、ZBrush の[UV Master(UVマスター)]プラグインで作成します。前に作成したポリグループをオン([UV Master(UVマスター)]>[Polygroups(ポリグループ)])。これにより見栄え良い UVになります。では、低解像度メッシュを Maya にエクスポートします(ステップ04で行なったように、[Export(エクスポート)]メニュー >[Grp]を選択解除しないと、モデルが塊になります)。Maya では、各UVを 4つの UDIM(UVタイル)に配置します。

その後、モデルを ZBrush に戻します。メッシュは変更されていないので、低解像度メッシュツールを開いている ZBrush に、UV調整したメッシュをインポートするだけです。

Maya上のモデルUV

ステップ10:鎧をスカルプトする

ハードサーフェス アクセサリの作成では、ZBrush でなければ実現できない(または効率的でない)素晴らしいテクニックがあります。ここで そのいくつかを説明しましょう。以下の手順で進めるにあたり、抽出する身体のベースが必要です。

まず、サブツールを複製し、領域をマスクしてメッシュを抽出します。[Ctrl]+[W]キーでポリグループを割り当てたら、境界のギザギザの線を滑らかにします。次に[Lightbox(ライトボックス)]>[Smooth]ブラシコレクション > Smooth グループのブラシを選択、ギザギザのポリゴンの境界をなぞります。残りの身体のポリゴンを非表示にして、[Tools(ツール)]>[Geometry(ジオメトリ)]>[Modify Topology(トポロジ調整)]>[Del hidden(非表示削除)]で身体のポリゴンを削除します。ただし、これを適用する前にすべてのサブディビジョンレベルを削除、または フリーズしておきましょう。続けて、ZRemesher(Zリメッシュ)をデフォルト設定で使用。次に[Half(半サイズ)]プリセットを選択して実行ます。これを数回繰り返し、適切なポリカウントを取得します(回数は必要に応じて調整ください)。

[Stroke(ストローク)]メニュー >[Curve function(カーブファンクション)]>[Border(縁)]のみを選択、[Frame Mesh(フレームメッシュ)]を押すと、境界のガイドカーブが表示されます。[Curve Tube]ブラシでガイドカーブをクリックして DynaMesh(ダイナメッシュ)を適用。ギザギザのポリグループの境界を[Smooth Groups]ブラシで滑らかにし、再び DynaMesh を適用します。[UV Master(UVマスター)]で展開したら、ディテールを追加できるクリーンなベースの準備完了です。白を選択して、[fillObject]で塗りつぶしましょう。

鎧のパーツをモデリングしてディテールを設定

ステップ11:アーマーのディテールを作る

[Surface noise(サーフェスノイズ)](カスタムイメージを使用、[UV]をオン)でメッシュをポリペイントできます。カスタムイメージから色を抽出するのにも[Surface Noise]を使います。[Strength(強度)]:0、[Mix Basic Noise(基本ノイズを混ぜる)]を0、[Color Blend(カラーブレンド)]:1、色を黒に設定、メッシュにノイズを適用します。

カラーの強度に基づいてマスクを適用し、[Ctrl]+[W]キーでポリグループを作成。次に、このサブツールを複製、残りのポリグループを非表示にして[Del hidden(非表示削除)]で削除します。続けて、ZRemesher をデフォルト設定で適用し、ZModeler で押し出します。こうしてクリーントポロジを設定することができます。[Crease(クリース)]を実行、2回サブディバイドして[Uncrease All(すべて解除)]を実行。最後に、もう1度サブディバイドしてクリーンエッジにします。このテクニックで、すべての鎧のパーツを作成します。

鎧に模様のディテールを追加

ステップ12:ステッチを作る

ステッチメッシュで[Curve Insert]ブラシを作成しましょう。まず、トーラスをポリゴンに変換し、C字型に形作ります。これを「I」に見えるように傾けます(それがサーフェス上に横たわっている場合は、整列させてください)。[Brush(ブラシ)]メニュー >[Create InsertMesh(インサートメッシュの作成)]を選択。続けて[Stroke(ストローク)]メニュー >[Curve Mode(カーブモード)]を選択します。これがキャラクターの衣装に適用するステッチになります。

トーラスからステッチを作成

ステップ13:衣装を作る

ここで生地を作りましょう。まず、サーフェスの向きでポリグループに分けるため、[Group by normals(ノーマルグループ化)]を実行します。それを分割して他のポリグループを隠したら、[Visibility(可視性)]>[Shrink(収縮)]を押し、[Curve function(カーブファンクション)]>[Frame Mesh(フレームメッシュ)](Border(縁)をオン)を実行します。このようにして、ガイドカーブをサーフェスの少し内側に入れます。これは、ステッチを配置するのに最適な領域になります。後で[Curve Insert]ブラシでステッチを配置していきます。

[Curve Insert]ブラシに切り替えてガイドカーブをクリック。[Brush(ブラシ)]メニュー >[Imbed(深度)]スライダで配置するメッシュの高さを、[Curve Step(カーブステップ)]スライダで各ステッチ間の距離を設定します。こうしてより多くの調整を加えれば、素敵なステッチのディテールを引き出せます。[Curve function(カーブファンクション)]>[Smooth(スムース)]を使えば、ガイドカーブの歪みを除去できます。[Curve Step]を変更して奇妙な結果になるなら、[Smooth]を1回押して、[Curve Insert]ブラシでガイドカーブをクリックしてください。このとき、ガイドカーブの配置も少し変わるので注意が必要です。

衣装にステッチのディテールを加える

ステップ14:アクセサリ

ベルトは[CurveStrapSnap]ブラシで作成、チェーンアクセサリはさまざまなインサートブラシを組み合わせ作成しています。フードと服は Maya の nCloth で作成、その後 ZBrush に戻してディテールを加えました。これには、カスタムアルファ画像と[Surface noise(サーフェスノイズ)]機能を使用。すべてのベルト・帯・鎧・布地を UVマップするには、身体と同じ手順に従います。

最終ディテールを追加したモデル

ステップ15:ディスプレイスメントの出力

このキャラクターには 4つの UDIM があるので、ZBrush から任意のマップを出力するための特別なワークフローに従います。これらの UDIM に基づいてポリグループを作成するには、[Polygroups(ポリグループ)]>[UV Groups(UVグループ)]を押します。マップを出力するたびに、これらのポリグループのうちの1つだけを表示します。この時点で、私はディスプレイスメントを意識しています。下図の設定を使用して、すべてのディスプレイスメントマップを出力します。

UDIM からポリグループを作成

Houdini に移動

ステップ16:Houdini にエクスポートする

ZBrush で UDIM の特別なワークフローを使って、すべてのマップを出力します。また、ディスプレイスメントディテールが Houdini に上手く収まっているかをチェックしたいので、すべてのメッシュを Houdini にエクスポートします。ここでは、ディスプレイスメントを確認するための基本的なライティングを作成し、Mantra PBR を実行しました。

ディスプレイスメントを設定

ステップ17:Houdiniシェーダ

Houdini の mantraSurfaceシェーダを身体に割り当て、4つの UDIMのディスプレイスメントマップを使用する特別なネットワークを作成します。このためには、mantraSurface をダブルクリックしてシェーダの中に入り、displacementセクションを見つけてください。

図に示す 5つのノードを作成し、適切に接続します。mantraSurface のデフォルトの displacementセクションでは、すでに textureDisp がluminanceDisp、RGBDispChannel、texture_value に接続されています。それらを textureDisp から切り離し、新しく作成した add ノードに接続します。UDIM番号に基づいて、UV Transform の[Translate x]値も変更します。最初の値は 0、2番めの値は 1 など。

ディスプレイスメントを設定

ステップ18:ディスプレイスメントをテストする

このモデルは現実のスケールに基づいているので、ZBrush で作成したディスプレイスメントとディテールはほぼ問題なく動作します。図はディスプレイスメントの設定、ディスプレイスメントあり/なしのレンダリングテストです。

ディスプレイスメントの設定

ステップ19:テクスチャペイント

ZBrush が提供するさまざまなマスキング機能、画像投影、手描きの組み合わせで、身体をテクスチャリングします。シェーダは[skinShade4]、画像投影は Spotlight で実行します。まず[Texture(テクスチャ)]メニューからテクスチャをインポートして選択、[Add to spotlight(スポットライトへ追加します)]を押します(Lightbox がポップアップする場合はオフにします)。Spotlight(スポットライト)はテクスチャの配置と編集モードになっているので、円形マニピュレータでテクスチャを配置して編集します。

ここで2つの重要なショートカット、[Z]キーと[Shift]+[Z]キーを使用します。[Shift]+[Z]キーで Spotlightモードのオン/オフを切り替えます。Spotlightをオンにすると、[Z]キーで編集モード/ペイント(投影)モードを切り替えできます。色の投影は[Standard]ブラシで、RGB のみオンにして行います。ZAdd(またはZSub)がオンになっていると、ディテールが投影されます。この方法で、身体の大部分の領域に画像を投影します。

[Color Spray]ストローク、[Alpha58](またはカスタムアルファ)をセットした[Standard]ブラシでペイント、[C]キーで既存の投影テクスチャから色を抽出し、白い隙間を埋めていきます。このようにして、ブラシで鮮やかな色の効果を作りましょう。これは本物の肌の質感のようです。

テクスチャをモデルにペイントする

ステップ20:テクスチャのディテール

さらに慎重にペイントして、さまざまなアルファと色でテクスチャを仕上げます。ペインティングを続けながら、凹部を塗りつぶすために暗い色を選択(凸部と比較)。まず、サブディビジョンを下げて[Mask by cavity(キャビティによるマスク)]を適用し、そのマスクを1度ぼかして再びシャープにします。続けて、最高のサブディビジョンに切り替えてペイントを開始します。

肌にリアルなディテールを加える

ステップ21:ハードサーフェスのペイント

ハードサーフェスのテクスチャリングでも[Mask by cavity(キャビティによるマスク)]を使用しますが、さらに2つのブラシを使用します。[TrimDynamic]ブラシを RGB のみオンにして使うと、ペイントをエッジのみに制限できます。これにより、傷つき使い込まれたエッジを作成できます。また[Pen A]ブラシで細い線から太い線になるようにペイントすると、見栄えの良いすり傷の効果になります。

ハードサーフェスのアクセサリをテクスチャペイントする