Houdini 20.0 Feathers(羽根)

フェザーのClumping(束化)

On this page

フェザーは様々な形をしています。通常、羽軸(うじく:Shaft)は単なる直線ではなく、ややカーブしています。 また、多くのフェザーは左右非対称で、羽枝(うし:Barb)が伸びる方向や曲率も下から上に向かって変化します。 これらの特性は、フェザーの描画時にカーブやプロファイルを使って再現することができます。

小羽枝(しょううし:Barbule)と呼ばれる鉤(かぎ)形の小突起が羽枝(Barb)をつなぎ合わせています。 場合によっては、それらの小羽枝(Barbule)は引き裂かれ、所々でクランプ(束)になります。 その結果、羽枝(Barb)にはその引き裂かれたところに隙間が生じます。 Houdiniのフェザーツールには、この効果を模倣するためのメソッドがいくつか用意されています。

Note

次の手順は、フェザーを描画するのセットアップをベースにしています。 これは、フェザーを描画し、その羽枝(Barb)を作成するのに使用したネットワークです。

Feather Clump SOP

このフル機能のノードは、引裂とクランプ(束)を追加するのに便利です。 唯一の制限は、左右の羽枝(Barb)を区別できないことです。 しかし、カスタムアトリビュートを作成して、プロセス全体を制御できるという利点もあります。

Note

すべての値は、リファレンス画像の例のフェザーに対してのみ有効です。 他のフェザーを作成したい場合は、別の設定が必要です。

  1. Feather Clump SOPを追加し、その 1番目 の入力をfeathertemplatefromshape1の出力に接続します。

    よくあるのは、植物を連想させるような変形した形状です。 このルックを変更するには、 Splits および Clumping セクションのパラメータを使用します。 Splits では、引裂が生じる羽枝(Barb)を特定するためのPointアトリビュートが作成されます。 一方、 Clumping は、引裂ポイントで羽枝(Barb)を押し広げ、特徴的な隙間を作ります。

    このノードは、数学的なメソッドを使用して引裂を作成するため、引裂が生じる正確なポイントを定義することはできません。 また、引裂と隙間はフェザーの両側に適用されます。

  2. Splits セクションで、 Frequency に移動します。このパラメータは、引裂ポイントの数を定義します。100やそれ以上の高い値が設定されることもあります。

  3. Jitter を使用すると、様々なサイズのクランプ(束)を作成して、不均一なルックにすることができます。

  4. Seed の設定を変更することで、引裂のパターンを変えることができます。

この3つの画像は、 Frequency 値をそれぞれ10100400に設定したものです。残りのパラメータはデフォルト値です。

Clumpingセクション

Clumping セクションでは、羽枝(Barb)間の隙間を形成することができます。

  1. Amount を使用して、羽枝(Barb)を押し広げます。値が大きいほど隙間が広くなり、羽枝(Barb)の先端が収縮します。0.5の値から始めることを推奨します。

  2. Falloff 半径は、典型的なV字型の隙間を作成します。

  3. Split Depth では、どれくらい羽軸(Shaft)に近い位置から引裂が始まるようにするかを制御できます。0.4などの低い設定では、引裂ポイントが羽軸(Shaft)から遠ざかります。

  4. Shift を使用すると、羽枝(Barb)をフェザーの先端に向かってシフトすることができます。この例のフェザーでは、0.8の値を使用して、羽枝(Barb)が伸びている方向に沿ようにしています。

左の画像では、 Split Depth 値がそれぞれ0.250.75に設定されています。 右の画像は、 Shift 値を01に設定した場合のクランプ(束)の見え方を示したものです。

splitアトリビュート

引裂とクランプ(束)のためのプロシージャルメソッドでは、自然に見える結果を素早く得ることができますが、より詳細な制御が必要になることもあります。 その場合、残された方法はカスタムPointアトリビュートだけです。 Feather Clump SOPは、両方のメソッドをサポートしています。 splitアトリビュートを定義し、羽枝(Barb)のポイントに割り当てることができます。 0の値は引裂なしを意味し、1の値は引裂があることを示します。このようなネットワークをこれから作成していきます。

Note

実際のところ、1以上の値で引裂が生じますが、0と1で“切り替える”方が通常は扱いやすいです。

splitアトリビュートと01の乱数をポイントに適用する方法を紹介します。

  1. Attribute Randomize SOPを追加し、Feather Template from ShapeとFeather Clump SOPの間に配置して接続します。

  2. Attribute Name に、splitと入力します。このアトリビュートは、Feather Clump SOPによって使用されるものです。

  3. Distribution タブで、 DistributionTwo Values に変更します。

  4. splitはスカラーなので、 Dimensions1に変更します。

    Value AValue B がデフォルトで01に設定されていることが分かります。 つまり、このパラメータは、splitが持つべき状態を正確に表しているということです。

  5. Split Location Mode ドロップダウンから、 From Attribute を選択します。 Split Attribute のデフォルトのエントリは、splitです。

  6. Attribute Randomize SOPで、 Probability of Value B スライダを使用して引裂の量を制御します。値を小さくすると引裂の数が減り、より大きいクランプ(束)を作成できます。最終的なルックは、羽枝(Barb)の数によって大きく変わってきます。

  7. フェザーを微調整するには、 Clumping セクションのクランプ(束)ノードのパラメータを使用します。

この画像の Probability of Value B 値は、それぞれ00.010.10.5です。

ジオメトリのマスキング

マスクは、オブジェクトの特定の領域が変更されないように保護します。 これにより、隙間が生じる場所を詳細に制御することができます。 一般的なアプローチの1つは、何らかのジオメトリを介してクランプ(束)の効果を制限することです。 以下のスクリーンショットは、これから作成するネットワークです。

画像をクリックすると拡大します。
  1. Sphere SOPBox SOPなどを使用してジオメトリを追加します。

  2. Center を使用して、マスクしたい領域にオブジェクトを移動します。

  3. オブジェクトのタイプに応じて、 RadiusSizeUniform Scale パラメータを使用してマスクのサイズを定義します。

  4. Guide Mask SOPを追加し、Feather Template from ShapeとFeather Clump SOPの間に配置して、 1番目 の入力に接続します。 4番目 の入力は、マスクジオメトリの出力に接続します。

    アトリビュートメソッドを使用している場合は、Guide Mask SOPをAttribute RandomizeとFeather Clump SOPの間に配置します。

  5. Guide Maskノードの General タブで、 Output セクションに移動します。 Output Type ドロップダウンから Point を選択します。

  6. Output Attributeclumpingmaskに変更します。

  7. Additional Masks タブを開き、 Use Geometry Mask をオンにしてマスクオブジェクトを接続します。

また、マスクを改善したりカスタマイズするための便利な設定もいくつかあります。

  • 期待通りの結果が得られない場合は、 Voxel Size を小さくして、マスクの解像度を上げてみてください。

  • マスクを反転するには、 Presets メニューに移動して Outside を選択します。

  • Depth Ramp で、マスクの柔らかさまたはフォールオフ(減衰)を制御します。

命名

複雑なセットアップでは複数のマスクを使用することが多いので、マスク自体だけでなく、関連するノードにも分かりやすい名前を割り当てることを推奨します。

  • このシーンでは、ジオメトリはSphere SOPで、ノードの名前はclumpingmask_geoに設定されています。

  • Guide Mask SOPの名前はclumpingmask_guideです。

マスクをアクティブ化する

Feather Clump SOPでマスクをアクティブ化して、マスクが動作するようにします。

  1. マスクノードの出力をクランプ(束)ノードの 1番目 の入力に接続します。

  2. Feather Clump SOPの Clumping セクションで、 Amount パラメータの最初のドロップダウンを No Override から Guide Attribute に設定します。

  3. Amount Attrib のデフォルトのエントリをclumpingmaskに変更します。

球のマスクを使用した場合の結果の一例です。マスクの中心は2つの羽弁(うべん:Vane)の中点付近です。クランプ(束)ノードの Falloff によって、羽枝(Barb)の間に滑らかな遷移が生じています。

左右のクランプ(束)

デフォルトで、Feather Clump SOPは常にフェザーの両方の羽弁(Vane)に適用されます。 しかし、実際の鳥の羽根では、たいていクランプ(束)は非対称に見られます。 左の羽弁(Vane)の方が右よりも隙間が多かったり、逆に片方の羽弁(Vane)にはクランプ(束)がまったくなかったりします。

現時点では、Feather Clump SOPは左右の羽枝(Barb)を区別することができません。 唯一の解決策は、フェザーをいわゆるUncondensed(具現化)の状態に変換することです。 すると、フェザーを左右の羽枝(Barb)に分けることができ、Hair Clump SOPを使用してクランプ(束)の効果を作成できます。

Uncondensed(具現化)のフェザーネットワークには異なるセットアップが必要となるため、フェザーの分割および綿羽(Down)のデザインのページで個別に説明しています。

フェザーアトラス

Feather Clump SOPは、単一のフェザーとのみ機能するわけではありません。 複数のフェザーを結合して、そのグループ全体にノードを適用することもできます。 この方法では、単一のノードを使用して素早く効率的に大規模なフェザーセット(フェザーアトラス)をランダム化することができます。

Feathers(羽根)

基本セットアップ

描画とシェイピング

ブラッシングとグルーミング

シミュレーション

テクスチャとレンダリング

ツール

動画