On this page

このノードは、APEXリグの自動生成によって、ヘアーのアニメーション工程を高速化および簡素化することを目的にしています。 この考え方としては、数本のマスターヘアーカーブをカスタム選択し、アニメーション可能なジョイントをAPEX Add Groom SOPで作成できるようにすることです。 そうすれば、残りのヘアーカーブはそのマスター選択に追従するようになります。

以下の例では、APEX Add Groom SOPを基本的なグルームと組み合わせて使用する方法を説明しています。

シーンのセットアップ

このノードを動作させるのに必要なものは、リグ付きキャラクタとグルームです。 以下では、HoudiniのTest Geometry: Capybara SOPの頭にコントロールの一部と、APEX Add Groom SOPによってアニメーションさせることとなるモヒカンがあるのが確認できます。 このリグでは、既にAPEX Autorig Component SOPsを使用して、そのリグをセットアップし、ボーンを変形させています。

どちらびパーツにもNull SOPがあり、それぞれRIGGROOMという名前が付けられています。 これらのNull SOPには、Add Groom SOPで必要な情報が格納されています。 もちろん、これら2つのパーツは別々のGeometry OBJで存在していても良くて、私どもはより複雑なセットアップができるように、そのワークフローを推奨しています。

Add Groomネットワークでは、Object Merge SOPによってRIGGROOMを取り込む必要があります。 別の方法としては、適切なBGEOファイルが指されたFile Cache SOPによってリグとグルームを取り込んでも構いません。

APEX Add Groom

これで、APEX Add Groom SOPに接続するのに必要なものがすべて揃いました。

  1. APEX Add Groom SOPを追加します。

  2. その 1番目 の入力には、RIG Object Merge SOPの出力を接続します。

  3. その 2番目 の入力には、GROOM Object Merge SOPの出力を接続します。

その 3番目 の入力は、フェザーに大きく関係します。 ここでは、フェザーは、数百本もの個別の羽枝(Barb)を持つ高解像度ジオメトリとしてではなく、ポリゴンサーフェスとして表示させることが多いです。 これら2つのストリームを接続すると、その設定を開始することができます。

デフォルトでは、Add Groom SOPは、ヘアーをアニメーションキャラクタのスキンに拘束します。 例えば、キャラクタの頭を動かすと、ヘアーがこの動きに追従します。

Groomセクション

Groom セクションに Short Curve Mode が見つかります。 それを Cull に設定すると、 Length Threshold を定義することができます。 指定した値より短いすべてのカーブは、(例えば、非常に短いカーブがある領域で)Add Groom SOPの影響を受けなくなります。 これによって、パフォーマンスを大幅に改善することができます。

私どもは、 Output Surfaces を無効にすることも推奨しています。 このオプションは、フェザーでのみ必須です。

Jointsセクション

このセクションでは、いわゆるコントロールグループを作成することができます。 コントロールグループは、基本的にはヘアーカーブの選択です。 この選択に基づいて、Add Groom SOPがジョイントを作成し、それらのジョイントをAPEXリグに追加します。 同一ノード上で複数のグループを定義することができますが、たいていの場合、結局のところグループ毎に1個のAdd Groom SOPを追加することになるでしょう。 通常では、これは、様々なグループやマスクをもっと上手く制御できるようにしたいという実用的な理由で用意されています。

  • Name Prefix 接頭辞はデフォルトでfeathers_に設定されているように、このノードの素性を示します。これをhair_など他の名前に変更することができます。これらの新しいジョイントは、ビューポート内の Selection Sets リストに表示されます。

  • デフォルトでは、 Skin Vector Attribute は、キャラクタのスキンの法線のNを受け取ってジョイントの向きを決めます。

  • Control Groups では、複数のグループを指定して、それらのグループを個別に扱うことができます。グループの数を直接入力するか、または、 + ボタンを押して新しいグループを追加します。新しいグループを作成すると、 Joint Properties パラメータセットが表示されます。

Joint Propertiesタブ

最初の手順は、アニメーションに使用したいカーブを選択します。 既にグループを定義していた場合(例えば、グルームネットワーク内の別の場所でAttribute Wrangle SOPを使用したり、手動でカーブを選択することでグループを定義していた場合)、 Joints ▸ Group パラメータの入力フィールドにそのグループ名を入力することができます。 別の方法としては、以下で説明しているように、ビューポートから直接カーブを選択することができます。

  1. Select geometry… ボタンをクリックします。

  2. ビューポート上で、ジョイントの作成に使用したいカーブを⇧ Shift + クリックします。選択したカーブは茶色がかった黄色で表示されます(下図を参照)。

  3. 準備ができたら、Enterを押して選択を確定します。この工程を中止したいのであれば ⎋ Escを押します。

選択したカーブの番号は Group パラメータの入力フィールドに表示され、それらの番号を手動で編集することができます。 また、新しく作成されたジョイントは、 Root Color から Tip Color に変化するカラーで表示されます。 他に便利なパラメータは Width です。これは、ジョイントのビューポート表現のサイズを決めます。

ジョイントの数を変更したい場合は、 Joint Count を増減させます。 長いカーブの場合には、特にヒーローショットで高い値を使用すると良いでしょう。 短いカーブの場合には、ジョイント数を多くするメリットはないでしょう。

Moving joints

これで、ジョイントの移動を開始できるようになりました。それをするには、Add Groom SOPを選択します。

  1. マウスをビューポート上に移動させます。

  2. Enterを押すとリグが表示されます。また、ビューポートの左上コーナーにHUDがあるのに気づくことでしょう。

  3. ジョイントを選択して、そのジョイントを回転させます。アニメーションモードを抜けたいのであれば、 ⎋ Escを押します。

このノードは、ウェイトを計算して、近隣カーブがどれほど強くジョイントに追従するのかを定義します。 これによって、カーブ間でゆっくりとフェードアウトする滑らかな遷移が得られます。 以下の動画は、そのカーブの動きを示しています。

Orientation

Add Groom SOPの Control Groups マルチパラメータには、 Orient to Skin Vector Attribute トグルが用意されています。 このトグルを有効にすると、このノードは、 Skin Vector Attribute で指定されたアトリビュートのみを使用するようになります。 デフォルトでは、そこにはスキン法線のNが指定されています。

このトグルを無効にすると、orientが使用されます。 何も方向系のアトリビュートが使用されていない場合では、このノードは、スキンベクトルアトリビュートを生成します。

Joint Influenceセクション

それでもジョイントの影響力が強すぎるとお考えでしたら、その影響範囲を制限することを検討してください。

Mask Attribute は、ジョイントが影響を与えるカーブを制御します。 マスクアトリビュートは、事前に存在している必要があり、通常では、APEX Add Groom SOPに入る時に既にグルーム上に存在しています。

アトリビュートの代わりに、 Limit Influence Distance を使用することで、静的なままにしておきたい領域ではカーブが移動しないようにすることもできます。 Core DistanceMaximum Distance はフォールオフを生成します。 以下に、その比較を載せています。 制限効果がない場合、他のジョイントの影響下にあるフェザーまでもが移動しています。

Mask AttributeLimit Influence Distance は共存可能で、これらの値は乗算されます。つまり、両方のプロパティが適用されている領域でのみカーブが移動します。

APEXのセットアップ

既にAPEXノードで作業しているので、このテクノロジを進めて、それに応じてセットアップを準備する必要があります。

Note

HoudiniのAPEXテクノロジー全体がまだ開発中です。機能と特徴は変更される可能性があります。

  1. APEX Scene Animate SOPを追加し、その入力をAdd Characterノードの出力に接続します。このノードは、これまで作成したアニメーションセットアップを操作する場所なので必須です。

  2. APEX Scene Invoke SOPを配置し、その 1番目 の入力をそのAPEX Scene Animate SOPの出力に接続します。このノードは、アニメーションするフェザーの実際の動きを表示します。

  3. Bind Multiple Outputs を有効にして、 Output All Character Shapes ボタンをクリックします。この例では、このボタンは、 Multiple Outputs セクション内に2個のエントリを作成します。パスとキーのペアは、どの部分のアニメーションを使用するのかを定義します。 このボタンをクリックすると、利用可能な出力のリストからすべての適切なエントリが選択されます。 Geometry Spreadsheetペインで、特定のノードのすべてのエントリを確認することができます。 この場合では、関連するエントリはBase.shpGroom.shpのみです。Groom.skelBase.rigなどの他のエントリはヘアーでは不要です。

HairとFur

ファーの扱い方

ファーを作成するシェルフツール

  • Add Fur

    サーフェスにファーを追加します。

  • Create Guides

    スキンジオメトリからガイドカーブを作成したり、他のGroomオブジェクトのガイドを操作します。

  • Groom

    カーブの描画とブラッシングの準備が整ったGuide Groom SOPを作成します。

Guide Processでスタイリングするシェルフツール

  • Initialize Guides

    ガイドに初期方向を与えます。

  • Curve Advect

    スキンサーフェス上に描画したカーブから生成されたベクトルフィールドを使ってカーブを移流させます。

  • Groom

    カーブの描画とブラッシングの準備が整ったGuide Groom SOPを作成します。

  • Reguide

    植え付けたガイド間にガイドを補間します。

  • Set Guide Direction

    ガイドをベクトルの方向に向けます。

  • Set Guide Length

    ガイドヘアーを長くしたり短くします。

  • Lift Guides

    スキンからカーブを引き上げたり、スキンに対してカーブを平坦化します。

  • Straighten Guides

    各セグメントが以前のセグメントと同じ方向になるように曲げ戻すことで、ヘアーをまっすぐにします。

  • Smooth Guides

    近隣ガイドの形状を曲げて、より滑らかな見た目を作成します。

  • Frizz Guides

    ガイドヘアーに沿ってカーブポイントをオフセットさせることで、縮れを表現します。

  • Bend Guides

    特定の角度によって特定の方向にカーブを曲げます。

  • Clump Guides

    ガイドヘアーの束を作成します。

  • Part Guides

    スキンジオメトリ上に分け目を描画することができます。

  • Add White Hairs

    標準のヘアーシェーダでヘアーを白髪としてマークするのに必要なアトリビュートを追加します。

ファーのアニメーションとシミュレーションをするシェルフツール

  • Deform Guides

    ネットワーク内にGuide Deformオブジェクトを作成します。

  • Simulate Guides

    物理シミュレーションをガイドセットに追加します。

How to