Groom Mergeノードも新しい機能で、これを使えば、個別に設定されたグルームオブジェクト複数をまとめて操作できます。タランチュラのプロジェクトでは、Hairを体の部位ごと(腹部、脚、腹板、口など)にグループ分けしました。Guide Groomのカーブをスタイリングした後にGroom Mergeを使えば、複数のシステムをまとめて1つのガイドセットとし、デフォームさせたりシミュレーションしたりできます。さらに、Groom Mergeで作成したグループをHair Generateで選択し、ガイドを滑らかにブレンドするといったことも可能です。
STEP 07:コリジョンをキャッシュする
Guide Groomのレスト状態のスキンのVDBの設定をデフォルトの「From Skin Geometry」としても作業はできますが、レンダリング速度を上げるには、前もってVDBボリュームをキャッシュすることをオススメします。この場合、Tポーズのメッシュとアニメーションメッシュを個別にキャッシュする必要があるため、単純にVDB From PolygonsノードにFile Cacheノードを繋げます。なお、この方法は穴の開いていないメッシュで最適に動作します。穴は必ずふさいでおきましょう。
STEP 08:頂点カラーをディフューズカラーとして使用する
カスタマイズしたカラーパターンをグルームに適用するには、Paintノードを使ってベースメッシュに直接ペイントします。この精度はCdアトリビュートを格納するジオメトリの頂点数に左右されるため、あらかじめジオメトリを細分化しておくと良いかもしれません。
Cdアトリビュートを転送するには、次の方法がベストです。まずFile Cacheノードを使用して、ペイントしたジオメトリをフレーム単位でキャッシュします。それからHair Generateオブジェクト内のFileノードにbgeoファイルを読み込み、ペイントされたCdアトリビュートをAttribute Transferノードを使ってコピーします。キャッシュのbgeoファイルは、デフォームメッシュと一致していなければなりません。つまり、グルーミングに初めに使用した静的なTポーズジオメトリは使えません。Tポーズのメッシュを最初にペイントした場合は、Paintノードをコピーして、デフォームメッシュの下に貼り付けます。
STEP 09:Hair Generateにテクスチャマップを読み込むAttribute Wrangleを作成し、最初のインプットに上のHAIRS SOPからのワイヤを繋ぎます。続いて、2番目のインプットにメッシュのキャッシュした.bgeoファイルをつなぎます。これでUVアトリビュートがHairにダイレクトに転送されます。VEXpressionには、画像のように入力します。
次に、直下にAttribute From Mapノードを配置して、テクスチャパスを設定します。ここではわかりやすいようにトラ柄にしました。
STEP 10:根元と毛先のブレンドをカスタマイズする
ここでの方法は Point WrangleノードとVEXが必要ですが、この方法によるブレンドの利点は、Hairシェーダに頼らずに、1本1本のHairの根元から先端までディフューズカラーを完全にコントロールできることです。Paintノードを使ってペイントしたメッシュを使用することも、テクスチャファイルのCdアトリビュートをHair Generateに直接読み込むことも、あるいはこの両方を組み合わせることも可能です。
カスタムブレンドに使用するVEXpressionの設定は、画像を参照してください。ここではわかりやすいように3色を使っています。根元はマゼンタ、先端はオレンジ、そして根元と先端のブレンド部分はタランチュラのメッシュ上に直接ペイントした頂点カラーです。
Hair Generateオブジェクト内にAttribute Renameノードを作成しCdをrootDiffuseColorに設定します。さらにAttribute Createノードを作成し、アトリビュート名をtipDiffuseColor、サイズを3に設定します。パラメータボックスの一番下の最初の3つの値でHairの先端の色が決まります。Attribute RenameとAttribute Createは、Point Attribute Wrangleの2番目と3番目のインプットにそれぞれ繋ぎます。
STEP 11:Hair1本1本をマスクする
Guide Maskノードは非常に便利です。様々なタイプのノイズやHairの長さに基づいてマスクできる上、ランダムに散らばったHairから1本抜き出し、マスクすることも可能です。また、グループ化してFrizzやClumpingといった各種ガイドプロセスを適用したり、色で設定したりすることもできます。画像は、タランチュラの腹部に長さマスクを使用して、長いHairをグループ化したところです。
STEP 12:デプスパス
Mantra ROPの[Extra Image Planes]タブで[+]ボタンをクリックしイメージプレーンを新規に作成、[VEX Variable]を[Pz]に設定します。[Sample Filter]を[Closest Surface]、[Pixel Filter]を最大の領域をもつオブジェクト(minmax idcover)に設定すると、確実かつアーティファクトのないデプスパスがレンダリングされます。
また、Houdini 16.5のグルーミングツールを活用した事例として、2月にSideFX公式サイトにて公開された、アメリカのVFXプロダクションJAMM Visualによるハムスターのメイキング動画に日本語字幕が追加されたので、そちらも併せてご覧いただきたい。
SideFX公式サイトでの動画紹介ページはこちら
JAMM Visual - Kia Soul Turbo "The Arrival" // Houdini Connect from Go Procedural on Vimeo.