2022/10/5エンジニア

    【Maya】XGenを使って髪の毛テクスチャを作成する方法①(準備~設定編)

    執筆: S.A

    はじめに

    お久しぶりです。2年ぶりのブログ執筆となります。キャラクターモデラーのAです。

    最近、MayaのXGenに触れる機会が多いので

    今回は”XGenを使って髪の毛テクスチャを作成する方法” をご紹介したいと思います。

    ただ、ベイクの工程まで書いてしまうとかなりのボリュームになりますので、本記事ではXGenで髪の毛束を作成する所までを記載いたします。

    また、この記事はXGen初心者の方に向けた内容となります。

    私も勉強中の身ですので、温かい目でご覧ください。

    準備

    ※MAYA2022を使用

    まずはじめに、髪の毛を生やすためのプレーンモデルを作成し、少し角度をつけます。

    こうすることで、頭部の傾斜を模倣し、毛束の根元がフラットにならないようにします。

    ①XGenの初期設定

    XGenタブ内の「XGenウィンドウを開く」を選択します。

    XGenウィンドウが表示されますので、プレーンモデルを選択した状態で

    「新しいディスクリプションを作成」を押します。

    「Xgenディスクリプションを作成」という設定画面が表示されますので

    赤枠の3カ所を変更し、「作成」を押します。

    ・新しいディスクリプション名

    MainHairやSubHair等、どのような髪の毛かわかるように名前を付けます。特に決まりはありません。

    ・コレクション名

    「Hair_collection」としましたが、こちらも特に決まりはありません。

    ・次を使用してプリミティブをコントロール

    「配置およびシェイプガイド」に変更。

    ②ガイドの配置

    XGenタブ内にある、+マークの付いたアイコン「ガイドを追加、または移動」を選択します。

    プレーンモデルにガイドを配置できますので、何本か配置します。

    ※ガイドで毛の長さや流れを制御します。

    一度配置したガイドを移動させたい場合

    ガイドはマニュピレーターで移動させることができません。

    以下、ガイドを移動させる手順

    ①ガイドを配置できる状態にします。

    ②移動させたいガイドにカーソルを持っていきます。

    ③Ctrlを押しながら、移動させたい場所へドラッグします。

    ガイドを配置したらスケールと回転で長さと角度を調整します。

    ガイドの長さは不均一にしておきます。

    デフォルトではガイドがまっすぐ ですので、XGenタブ内にある「スカルプトガイド」を使ってガイドの形状を細かく変えていきます。

    ガイドを変形させた際、カクついて狙った形にできない場合

    XGenウィンドウ「プリミティブ」タブ内のガイドツール「リビルド」から、ガイドのCV数を変更できます。

    数値を上げるほどCV数が増え、ガイドが滑らかになります。

    左:デフォルト 右:CV数15

    毛束の形状をイメージしてガイドを調整します。

    ガイドは後から調整可能ですので、大体で問題ありません。

    補足情報

    ガイドはカーブからも作成可能です。

    ZBrushのFibermeshをカーブ書き出ししてガイドに変換することもできます。

    「ユーティリティ」「カーブからガイド」→カーブを選択した状態で「ガイドを追加」を押すとガイドに変換されます。

    ③プリミティブの設定

    ある程度、ガイドの調整を終えたら一度プレビュー表示してみます。

    XGenウィンドウの目のアイコンをクリックすると、プリミティブをプレビュー表示できます。

    ジェネレータアトリビュート内にある、密度 の数値で毛の本数を調整できます。

    補足情報①

    プレビューしたプリミティブがジャギジャギして見にくい場合、「マルチサンプルアンチエイリアシング」をONにしてください。

    補足情報②

    これから各種設定を行っていくのですが、設定内容がうまくプレビューに反映されない現象が起こることがあります。

    プレビュー/出力タブ内 「プレビュー設定」「ビューのプリミティブのみ」のチェックをはずしておくと、設定内容がリアルタイムに反映されます。

    ・密度マスクマップの作成

    プレビュー表示した状態で横から見てみると、プレーンモデル全体にプリミティブが生成されているかと思います。

    毛束の厚みを抑えたいので、密度のマスクマップを作成し、不要な箇所にプリミティブが発生しないようにします。

    ジェネレータアトリビュート内のマスク項目右端にある逆三角マークから「マップを作成」を押します。

    デフォルト設定のまま「作成」を押します。

    作成を押すと、ブラシ、フロッピー、フォルダのアイコンが表示されますので、ブラシアイコンを選択します。

    そうすると、ペイントツールに切り替わりますので、ペイントのカラーを黒に変更し、毛を生やしたくない箇所に黒を塗ります。

    ブラシアイコンの横にあるフロッピーアイコンを押すとペイントが反映され、

    黒く塗った箇所にプリミティブが生成されなくなります。

    ペイントし直した場合、再びフロッピーアイコンを押すことで、更新できます。

    Qキーでペイントモードを解除し、次の設定に進みます。

    ・プリミティブアトリビュートの設定

    続いて、プリミティブアトリビュートの項目を各種設定していきます。

    幅、幅のランプ、テーパ、モディファイアのCV数の設定を変更していきます。

    各項目の説明は公式ドキュメントにまとめられていますので、こちらをチェックしてみて下さい。

    XGen スプライン(Spline)アトリビュートhttps://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2017/JPN/Maya/files/GUID-1BD26788-CF93-41A3-AE9F-5FE89E57A483-htm.html

    ・モディファイアのCV数:一先ず10に設定しています。

    ・幅:デフォルトだと少し太いので0.02~0.03くらいにします。

    ・幅のランプ:左端が根元、右端が毛先を表しています。値を下げると細くなっていきます。

           根元と毛先が少し細くなるように設定しました。

    ・テーパ:先端を細くしたいので0.7くらいにしました。

    ※モディファイアのCV数について

    左:CV数5 右:CV数15

    作成している髪がパーマやうねった髪の場合、CV数を最低10以上にした方が良いと思います。

    あまり数値を上げすぎると、動作が重くなる可能性があります。(マシンスペックによっては落ちやすくなります。)

    この後に設定を行うモディファイアのプレビュー結果が変わってきますので、状況によってCV数は変更していきます。

    以上がプリミティブの設定です。

    これらの設定値は参考程度に留めていただき、ご自身で色々と試してみてください。

    ④モディファイアの設定

    続いて、モディファイアを追加していきます。

    ここまで、ガイドを作成しプリミティブの設定まで行いましたが、それだけではあまりいい感じの髪の毛には見えません。

    モディファイアを追加し、束感やほつれ毛の表現を足していきたいと思います。

    今回はシンプルに束、ノイズ、カットだけを使用します。

    ・束モディファイアの追加

    まず初めに、束モディファイア(Clump)を追加します。

    XGenウィンドウ内のモディファイアタブから、+マークのついたアイコンを選択し

    「束」を追加します。

    「束」を追加するとエラーメッセージが出てしまい、何も変化が起こりません。

    これは 束マップ を作成していない為で、どのガイドを基準に束を作るかをマップで指定してあげる必要があります。

    束エフェクトの一番下にある、「マップをセットアップ」を押して

    マップの作成画面を開きます。

    色々と項目がありますが、一先ずデフォルトの密度のまま、「生成」を押してみます。

    そうするとプレーンモデルに黄色い線が表示されます。

    この状態で保存すると、この黄色い線を基準に毛がまとまり、束になります。

    左から密度0.01、密度1、密度10

    密度の数値を増やすと黄色い線が増えますので、束が細かくなります。

    また、「ガイド」を押して保存すると配置したガイドを基準に束を作成することができます。

    束モディファイアの設定項目について

    マスク:エフェクトの影響度合。

    :エフェクト量。数値を下げると束感が弱まっていきます。

    束のスケール:左端が根元、右端が毛先を表しています。

           値を下げると束がまとまり、上げると束がほどけていきます。

    ただ同じ設定のモディファイアを増やすだけでは良い束感が出ませんので、

    設定をそれぞれ変えたモディファイアを今回は3つ追加したのが上図になります。

    今回は割愛しますが、束マップの密度や束の数値の他にも、カット、ノイズ、カール等のエフェクト項目がありますので、実際に触っていただき、どういう結果になるか確かめてみてください。

    ・カットモディファイアの追加

    文字通り、毛先をカットするモディファイアです。

    毛先をランダムにカットして、長さにバラつきを持たせることができます。

    マスク:エフェクトの影響度合

    総数:rand(0.0,0.2) の0.0と0.2の所に数値を入れて調整します。

    randについて

    総数の欄にデフォルトで挿入されている rand(0.0,0.2) ですが、この場合、長さ0~0.2の範囲でランダムに毛先をカットします。

    こういったエクスプレッション式は他のモディファイアにも使用できます。

    ・ノイズモディファイアの追加

    ・マスク:エフェクトの影響度合

    ・周波数:ノイズの反復回数

    左から、周波数 0.1 、1 、10

    ※マグニチュード1にした場合。

    ・マグニチュード:数値を上げるとノイズが強くなっていきます。

    ・マグニチュードのスケール :左端が根元、右端が毛先を表しています。

                  値を下げるほどノイズのかかり具合が弱まります。

    ・ノイズでほつれた毛を表現してみる

    単純にノイズを追加するだけでは、毛束全体にノイズが乗ってしまいます。

    髪のほつれた感じを表現するために、漂游パーセンテージの設定 stray() を使用したいと思います。

    ディスクリプション→「漂游パーセンテージを設定」を選択します。

    設定画面が表示されますので、5くらいの小さい数字で様子を見てみます。

    数値を入力したら×で閉じて大丈夫です。

    パーセンテージを設定したら、”stray()” をノイズのマスク欄に挿入します。

    これで5%の毛にノイズがかかるようになります。

    ・漂游パーセンテージについて

    漂游パーセンテージの数値は一律です。

    上記のように漂游パーセンテージに 5 と入力して、複数のモディファイアにstray()を挿入した場合、どのモディファイアも一律5%の毛に影響を与えます。

    もし、異なるパーセンテージを設定して細かく制御したいのであれば、他のエクスプレッション式を使わなければいけません。

    こちらは調べると情報が出てきますので、検索してみてください。

    ⑤最終調整

    ここまでくれば後は望ましい結果になるまで、各種設定項目を調整しましょう。

    ガイドの形状を整えつつ、モディファイアをいくつか追加し、プリミティブの設定も再度調整しました。

    さいごに

    以上がXGen設定までの流れになります。

    後はこの手順を繰り返して、生え際のほつれた毛や細めの毛束等、毛のバリエーションを何パターンか作り、Arnoldやベイクツールを用いてテクスチャを作成するのですが…

    今回はここまでとさせていただきます。

    この記事が少しでも制作のお役に立てましたら幸いです。

    最後までご覧いただき、ありがとうございました!

    ベイク編でまたお会いしましょう!

    関連リンク

    XGen の学習パス

    https://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2

    Xgen エクスプレッション式について(こちらの記事で、ほつれ毛表現に使えるパーセンテージ式が紹介されています。)

    https://jesusfc.net/blog/xgen-expressions-for-vfx

    XGen エディタ(XGen Editor) ディスクリプション(Descriptions)メニューhttps://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2018/JPN/Maya-CharEffEnvBuild/files/GUID-1FAEE5F5-C44A-4807-B9E3-37C0A44D4827-htm.html

    How to Make DOPE CG HAIR | XGen Tutorial

    https://www.youtube.com/watch?v=hvNcRaPmWoE&t=2408s

    Maya XGen Series: 08 Adding Stray

    https://www.youtube.com/watch?v=zXUHZosQI5Y