チュートリアル / MayaのXGenを使用したフォトリアルなファー表現
第6回:動物のファーの制作〜シェーディング/レンダリング設定、完成まで

  • Maya
  • キャラクター・リグ
  • ゲーム
  • コラム
  • チュートリアル
  • モデリング
  • 学生・初心者

みなさんこんにちは!株式会社クエルトの松田です。

前回の記事では、ベースモデルの制作の工程からXGen Interactive Groomingの初期設定、ベースのファー制作までを解説してきました。

今回はファーの細かい設定から、シェーディング / レンダリングまで行い、ルックの完成までを解説します。

今回でXGen Interactive Grooming解説編も最終回、XGen編と同じく、最後の仕上げでルックは大きく変わってきます。

仕上げの部分までしっかりと解説していきますので、一緒に取り組んでリアルなモデルを制作する足掛かりにしていただければと思います!

リアルなモデル

モディファイア設定

STEP1 : clumpの設定

前回の記事にて、スカルプ等のベースの設定と毛の生える部分の設定、ガイドを使用して毛の流れを作成する部分までを解説しました。

現状のルック

現状のルックです。

大体のファーの流れは出来ていますが、かなりシンプルで均一なのでCGっぽさが強い状態です。

これからルックをより自然にする為に、モディファイアを上に追加していきます。

まずはclumpモディファイアを使用して、毛に束感を出します。

guideモディファイア

guideモディファイアを選択し、Add ModifierタブからClumpモディファイアを選択して作成します。

Clumpモディファイア

設定するとデフォルト設定では上記のようなルックになります。

アトリビュート

アトリビュートはこのように細かい設定が可能です。

設定の項目はXGenと似ていますが、より直感的に設定できるようになっています。

Clumpモディファイアは最も使うモディファイアの中の一つなので、各アトリビュートの役目は覚えておいた方が良いと思います。

メインで使用するパラメータの項目を解説していきます。

種類 特徴
Mask モディファイア全体の影響値です。
Clump Clump周りの影響値です。0にしてもOfffset等clump以外は影響します。
Clump Scale グラフやパラメータでclumpのかかり具合を調整出来ます。
Clump Points クランプのランダム感、密度等を設定出来ます。
Clump Map コントロールマップを使用して、クランプの重ね掛け等を設定出来ます。
Advance Shape 重ね掛けする細かいエフェクトを設定できます。
Secondary Effects セカンダリで載せるエフェクトを設定できます。

細かい設定に関しては実際に設定していきながら見ていきましょう。

まずはClump PointsからDensityを設定します。

XGenではGenerate Clumping Mapsから密度設定を行っていましたが、Interactive GroomingはDensityとControl Mapで設定を行います。

リファレンス画像を見ながらDensityを上げていきます。

Clumpをかける上では、大きいクランプを最初にかけ、細かいクランプをその上から重ね掛けしていくことで複雑なクランプを表現するやり方で進めていきます。

ネズミ含め、動物のファーはあまり大きなクランプはないので、プライマリでも割と細かいクランプになるかと思います。

大まかに設定したものがこちらです。

先端が尖ってしまっている

これだとかなり先端が尖ってしまっているので、Clump Scaleを使用して先端を均します。

Clump Scaleを使用して先端を均す

第三回の記事で、クランプモディファイアのマップを設定すると、その下で生成した束を崩さず、その束の中で束を作るように設定できる話をしましたが、Interactive Groomingにも全く同じ内容で設定できる項目があります。

まず、より細かいDensityを設定したClumpモディファイアを作成後、元のClumpモディファイアの上にスタックします。

Clump MapのUse Control Mapにチェックを入れ、設定を有効にした後、Control Usingを使用して重ねる元のマップを選択することで設定できます。

Use Control Mapにチェック
Control Mapを設定せずに重ね掛けしたもの
右が設定後重ね掛けしたもの

※左がControl Mapを設定せずに重ね掛けしたもの、右が設定後重ね掛けしたもの

このようなフローで、XGenの時と同じくClumpに複雑さを出していきます。

勿論重ね掛けのみだと、いくら重ねても最初に指定したClumpの中でしか複雑な形状ににならず、引きで見るとあまり良いルックにならない為、更に上からマップを指定せずに重ね掛けすることで、より自然なClumpを出していきます。

下の動画ではClump mapとControl Mapの設定について解説しています。

3種類のClumpをかける

最終的に3種類のClumpをかけ、上記のルックで一旦完成としました。

STEP2 : cutの設定

続いてCutモディファイアをアサインします。

Cutモディファイアは毛をカットする為のものなので、パラメータもシンプルで、MaskとAmountでカットする量を調整することと、Cut Modeで絶対的 / 相対的に削るかを選択すること位の、シンプルなものになっています。

Cut Modeで絶対的 / 相対的に削るかを選択する

今回は生き物特有のランダムな毛の乱れを表現する為に、ランダムに毛をカットしていきます。

Maskでランダムにペイントしていくのは大変な為、ノイズを使用して設定を行います。

Amount項目からCreate Render Nodeを選択、その後を選択し、フラクタルノイズを繋ぎます。

Amount項目からCreate Render NodeCreate Render Nodeを選択、その後フラクタルを選択し、フラクタルノイズを繋ぎます。

フラクタルノイズは白い部分が1(よりカットされる)設定なので、プレビューを見ながら調整していきます。白黒にある程度コントラストがあり、ビューポートで見ておかしくなければ問題ないと思います。

フラクタルノイズのプレビュー

下の動画ではCutモディファイアの設定について解説しています。

STEP3 : noiseの設定

現状かなりのっぺりした質感になってしまっている為、これからノイズを追加してより自然なルックに調整していきます。

自然なルックに調整

追加されたノイズはこのようなパラメータになっていると思います。

こちらもよく使用するモディファイアですので、主要なパラメータを解説していきます。

種類 特徴
Mask モディファイア全体の影響値です。
Frequency ノイズの振動数です。数値を上げるとより細かいノイズがかかります。
Magnitude ノイズの振幅です。数値を上げるとより大きく動くノイズがかかります。
Preserve Length 数値を上げると、元の長さを保ったままノイズがかかります。
Magnitude Scale グラフの左が毛の根本 / 右が毛先の影響値です。動かして調整します。

ノイズの挙動に関してはXGen用ノイズとほぼほぼ同じものだと思ってください。

ノイズの制作においてはClumpの逆で、最初に少なめの調整をかけてから枝毛等の跳ねている毛を重ね掛けして制作していく方法を取っています。

どのフローが正解というのはありませんので、色々と試して自分に合うやり方を見つけてみてください。

少なめの調整
枝毛等の跳ねている毛を重ね掛けして制作

最初に毛の先端にかけて、枝毛ほどではないが少し跳ねているような表現を追加しました。

Magnitude ScaleMagnitude Scaleにて先端のみに影響範囲を絞っています。

枝毛等の跳ねている毛を重ね掛けして制作
大きいノイズを追加して自然な毛の乱れを再現

続いて、より細かく振幅も大きいノイズを追加して自然な毛の乱れを再現していきます。

ハイライトの反射を見ながら調整するとやり易いと思います。

下の動画ではNoiseモディファイアの設定について解説しています。

STEP4 : sculptモディファイアを使用した微調整

ノイズを重ね掛け、全体を見ながらある程度調整した段階で、ファー全体のスケールを調整していきます。

スケールの調整はscaleモディファイアで可能です。

内容もシンプルで、スケールのパラメータを上げるとファーの長さが伸び縮みします。

スケールをかける前
スケールをかけた後

※スケールをかける前とかけた後のシルエット比較

ノイズを差し込んで調整も可能なので、ランダムに毛先をカットするような使い方も出来ます。

今回はファーのボリュームが足りないと思ったので、少しだけスケールを大きく調整しました。

STEP5 : sculptモディファイアを使用した微調整

眼球付近が顕著ですが、モディファイアのみでの調整だとどうしてもスプラインのエラーや、調整し切れない部分が出てきます。

眼球付近

こういった部分を手動で調整していく為に、sculptモディファイアを使用します。

sculptモディファイアを追加するとこのようなレイヤーが出てきます。

sculptモディファイアを追加する出てくるレイヤー

sculptモディファイアのeditを押すと、そのレイヤーのスカルプト機能が有効になります。

レイヤーのスカルプト機能が有効

この状態で、シェルフ内のgrabブラシgrabブラシを起動します。

grabブラシを起動している状態で、shift+右クリックをすると、sculptに使えるブラシ一覧が出てきます。

sculptに使えるブラシ一覧

ブラシの中で、よく使うものについて解説します。

種類 特徴
Grab スプラインを直接動かすブラシです。
Length スプラインの長さを変えられるブラシです。
Freeze なぞった部分をフリーズ出来ます。フリーズした部分は動かせません。
Noise なぞった部分にノイズ効果をかけます。

種類は色々とありますが、基本的にこの辺りを抑えていれば問題ないかと思います。

例として、飛び出てしまった長い毛を押し込む作業を解説していきます。

sculptモディファイアのeditを有効化し、Freezeブラシで動かしたい毛をなぞります。

Freezeがかかると毛が青くなります。

Freezeがかかった画像

その後、Grabブラシに切り替え、右クリックをしてオプションを開いた後、Invert Frozen Effectにチェックを入れます。

Grabブラシ

こうすることでFreezeに対しての効果を逆転させることが出来、Freezeがかかった部分のみを動かすことが出来るようになります。

後はGrabブラシで毛を押し込めば完成です。

Grabブラシ

下の動画ではSculptモディファイアの設定について解説しています。

ある程度調整が終わったもののルックがこちらになります。

ある程度調整が終わったもののルック

STEP6 : 足りない要素を追加していく

メインのbody部分のファーは完成しましたが、現状気になっている点として以下が挙げられます。

・顔周りの毛の密度感が少し足りない
・耳の周りの毛がない
・手足周りの薄い毛がない
・尻尾周りの薄い毛がない
・髭周りの長い毛がない

特に顔、耳周りのファーはルックに大きく影響してくる為、特に気にして調整していきます。

最終的に下記ルックで要素を追加しました。

・手足周りの薄い毛+尻尾周りの薄い毛

手足周りの薄い毛+尻尾周りの薄い毛

・顔周りの密度を上げる為の毛+耳の周りの毛

顔周りの密度を上げる為の毛+耳の周りの毛

▪髭周りの長い毛

髭周りの長い毛

必要な要素別にInteractive Groomingを作り直し、組み合わせることでルックを作るアプローチをとっています。

足のファーと尻尾のファー等、毛質が似ていてまとめて制作が出来る場合は、1つのInteractive Grooming内で制作してしまうのが効率的です。

全ての要素を重ね掛けたものがこちらになります。

全ての要素を重ね掛けたもの

ファーのシェーディング

STEP1 : ライティングとシーンのセッティング

本番用レンダリングの設定を行っていきます。

今回も光のバウンスが入るように簡易的に背景のボックスを作成し、HDRIを貼ったスカイドームライトを使用して、シンプルにライティングしていきます。

簡易的な背景のボックス

STEP2 : ヘアシェーディング / ワークフローについての解説

ここまで来たら後はもう少しです。
ファーのシェーディングを行っていきます。

第四回でXGenのシェーディングの工程と挙動を解説しましたが、XGen Interactive Groomingのシェーディングも、直接XGenのモデル自体にStandard Hairシェーダを割り当ててシェーディングの設定を行うフローと全く同じやり方で可能です。

レンダリングにおける挙動も同じように機能します。

今回はbase colorとメラニンのパラメータを使用して、動物特有の模様やノイズを使用したランダム感を出していく方向で、シェーディングを行っていきます。

base colorで行う場合、塗った部分がそのまま色になる為、リファレンスを見ながらSubstance Painterを使用して、ファー用の色を塗っていきます。

ファーの色

上図がファーの色です。

こちらをbasecolorに載せて調整したものが、下図です。

basecolorに載せて調整したもの

色がつくだけでかなりルックが近くなってきました。

リファレンス1
リファレンス2

しかし、リファレンスを見ると、より複雑な模様をしていることが分かります。

色の複雑さは、ノイズでメラニンを制御することで表現することにします。

Noiseノードを使用し、レンダリングを回しながらモデルのルックを見ていきます。

Noiseノード

同時にBase Colorの方にもノイズを載せていき、複雑性を出していきます。

ase Colorの方にもノイズを載せる
ase Colorの方にもノイズを載せる

最終的に下図のようなルックとなりました。

最終的なルック

ビューポートだとこのようになります。

ビューポート

Base Colorとメラニンの重ね掛けで、色を付けつつ、ランダム感も出していく方向性で調整しています。

よりリアルにしたい場合、毛先に汚れのメッシュをを付ける等のアプローチを取ることで、汚れ感を出すやり方もあります。

おまけ : UEにてルック作成

Mayaでのルック構築はこちらで終了ですが、XGen編と被る部分も多かったかと思います。

最終回ということもありますので、おまけ編としてUnreal Engine5にファーを移植して、元のbodyメッシュにファーを紐付ける所までを解説したいと思います。

UEへ入れる場合、まずはMayaからファーのデータを書き出す必要があります。

また、XGenデータは書き出せませんので、Interactive Groomingに変換しておきましょう。

GenerateタブからCache→Export Cacheを選択し、書き出していきます。

Interactive Groomingに変換

アニメーションを入れる必要は無いので、Current Frameを選択します。

Current Frameを選択

alembicで書き出せば、Maya側の作業は完了です。

続いてUEの方で、空のプロジェクトを立ち上げ、下記設定を行います。(細かい設定は省きますので、詳しく知りたい方はUEのドキュメントを参照してください。)

・Groomプラグインを有効にして下さい。

Groomプラグインを有効

・スキンキャッシュ計算を有効に

スキンキャッシュ計算を有効に

以上の設定を行った後、ベースとなるメッシュ(今回だと毛のないネズミのメッシュ)を読み込み、マテリアル設定等を行います。

モデルの設定が終わったら、先程Mayaから書き出したファーのalembicデータをインポートします。

インポートを行うと、GroomデータとしてUEに取り込まれます。

alembicデータをインポート
Groomデータ

内部のEnable Simulationにチェックを入れると、毛の物理シュミレーションを切り替えられます。

動物の毛等、あまりにもスプラインの数が多いと重くなってしまうので、今回はoffにしておきます。

毛の物理シュミレーション

インスタンスの詳細パラメータを確認し、追加からGroomを追加します。

Groomの詳細パラメータ内の、グルームにあるGroom AssetとBinding Assetを設定します。

Groomを追加

Binding Assetは、Groomを右クリックして作成します。

細かい設定はドキュメントを参考に行って下さい。

Binding Asset

出来たものを割り当てた後、ファーがメッシュに紐付けられて、モデルデータとしては完成です。

後はWidth等のGroomの設定や、マテリアルの設定を行って最終的なルックを作っていきましょう。

最終的なルック

今回はおまけ編として軽く解説させていただきましたが、UEのマテリアル周りもかなり奥が深く面白いので、是非勉強してみてください!

おわりに

全六回でお届けしてきました、MayaのXGenを使用したフォトリアルなファー表現ですが、今回で最終回となります!
第四回と同じく、動物のファー制作編で作成したMayaのデータも用意させていただきました!

細かい設定の部分は、こちらのデータを見ながら勉強してみてください。
ここまでの記事を読んでくださった皆さんはきっと、機能面については十分に理解されていることでしょう。
しかし、知識を覚えるだけでは十分ではありません。
大切なのは、その知識を使って自分の表現したい内容を具体化できるかどうかです。
この記事を読み終わった後は是非、リファレンスと見比べながら、自分が作りたいものを実際に再現してみてください!
そしてそれを色々な人に見せて、積極的にFBを貰ってブラッシュアップしていきましょう。
そうしていくことで自身の審美眼が磨かれ、より素晴らしい作品を作れるようになるはずです。
この記事が皆さんの制作の一助となれば、大変嬉しく思います。
最後までお読みいただき、ありがとうございました!

松田 空
【X】https://x.com/Sorasan24
【株式会社quelto】https://quelto.co/
【株式会社applibot】https://www.applibot.co.jp/

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。