On this page |
Houdiniでは、いくつかの方法でフェザーをデザインできます。 これらの方法は、描画とシェイピングセクションの各章で説明されており、個々のフェザーをシェイピングするのに使用されます。 寄りショットや飾り羽や綿羽(めんう:Down)といった特定の種類のフェザーによく使用するテクニックもあります。
しかし、鳥(またはその他のキャラクタ)のすべてのフェザーが完全に同じルックであることは、まずありません。 サイズ、クランプ(束)、羽枝(うし:Barb)の長さ、その他の特徴には必ず違いがあります。 この例ではまず、引裂やクランプ(束)などのない、基本のフェザーテンプレートから始めます。 その後、関連するディテールをすべて追加し、インスタンスをランダム化して、独自のルックにしていきます。 上記の画像の各フェザーは、いずれも 単一 のフェザーテンプレートが元になっています。
ここで紹介する素早く便利なアプローチは、グルーミングの後に行なうためのものです。 ほんの数個のノードを使って、大量のフェザーをランダム化することができます。 この方法は、Condensed(縮約化)フェザーのみに機能することに注意してください! テンプレートやアトラスにUncondensed(具現化)フェザーが含まれる場合は、Feather Match Uncondensed SOPを使用してCondensed(縮約化)の状態を再作成する必要があります。
Note
以下のワークフローガイドは、前の補間と交差修正の章のネットワーク(以下参照)をベースにしています。
サーフェスから羽枝(Barb)へ ¶
フェザーはまだポリゴンサーフェスとして表示されていますが、ディテールを確認したい場合は、羽枝(Barb)を視覚化する必要があります。 上記のネットワークグラフでは、最後のノードはFeather Deintersect DOPです。 ここから始めましょう。
Note
様々なノードによってフェザーのルックがどのように変わるのかを十分に理解できるように、グルーム全体のサブセットのみを確認します。 実際のグルームは、数千のフェザーで構成されています。
-
もう1つFeather Visualize SOPを追加し、 1番目 の入力を上流のFeather Deintersect SOPの 1番目 の出力に接続します。
-
Barb Mode ドロップダウンメニューから、 Curve を選択します。
レンダリング解像度に合わせてリサンプルする ¶
パフォーマンス上の理由から、フェザーテンプレートの初期 Barb Density を下げている場合があります。 その場合、羽枝(Barb)の数をレンダリング解像度に合わせて増やす必要があります。 既にフル解像度で作業している場合は、この章をスキップできます。
-
Feather Resample SOPを追加し、 1番目 の入力をDelete SOPの出力に接続します。
-
Shaft セクションに移動し、 Resample Shaft をオンにします。
-
Mode を Length に切り替えます。
-
Maximum Length スライダを左側にドラッグし、羽枝(Barb)の数を増やします。スライダの解像度の細かさが不十分な場合は、値を入力します。おそらく
0.00025
など、非常に小さい値に設定する必要があるでしょう。
引裂とクランプ(束) ¶
実際の羽根では、羽枝(Barb)上の鉤(かぎ)形の小突起が引き離された時に引裂とクランプ(束)が発生します。 そのような小突起は小羽枝(Barbule)と呼ばれ、Houdiniのフェザーシステムでは表現されません。 それでも、その影響を再現して、プロシージャルにクランプ(束)を作成することは可能です。 フェザーのクランプ(束)チュートリアルで、これを既に行なった方もいるでしょう。 ここで説明しているワークフローは基本的に同じです。主な違いは、ここでは1つまたはいくつかのフェザーではなく、グルーム全体に対して作業することです。
-
Attribute Noise SOPを追加し、その入力を上流のFeather Visualize SOP (Feather Resample SOPを使用している場合は、これが接続用のノードになります)の 1番目 の出力に接続します。
-
General セクションに移動し、 Attribute Names を探します。タイプを Vector から Float に変更し、
Cd
をsplitfreq
に置き換えます。このアトリビュートはノイズ駆動で、引裂間の距離を定義します。ノイズによって、自然に分布するようにします。 -
Noise Value セクションで、 Operation を Set に変更します。これにより、
splitfreq
の最大値が Amplitude に設定されます。この場合、 Amplitude は1
なので、最大の周波数も1
になります。 -
Feather Clump SOPを配置し、 1番目 の入力をAttribute Noise SOPの出力に接続します。
-
Splits セクションに移動し、 Frequency の横のドロップダウンを No Override から Guide Attribute に変更します。 Frequency Attribute パラメータに、
splitfreq
エントリが含まれるようになります。 -
これで、 Frequency を調整できるようになりました。現在は、フェザーというよりシダのように見えます。
400
か、それ以上の非常に高い値が必要でしょう。 -
Jitter を上げると、引裂をよりランダムにすることができます。
引裂ポイントは、まだ羽軸(うじく:Shaft)に非常に近い位置にあります。 このようなルックがふさわしい種類のフェザーもありますが、ここでは、引裂は深すぎない方が良いでしょう。
-
Clumping セクションで、スライダを使って Amount を下げます。引裂ポイントがフェザーの輪郭の方に押し出されるのを確認できます。
以下は、結果の一例と元のフェザーとの比較です。
曲げる ¶
この手順では、羽枝(Barb)を曲げることができます。
-
Guide Process SOPを追加し、 1番目 の入力をFeather Clump SOPの 1番目 の出力に接続します。
-
Operations タブで、 Operation を Bend に設定します。2番目のドロップダウンのデフォルトエントリは、 Curves です。そこで、 Feather Barbs を選択します。これにより、ボタンを使って左右の羽枝(Barb)を区別することも可能になります。
-
また、様々な Mode オプションを試すこともできます。 Direction Constant を使用すると、 Direction 値を設定できるため、最前の結果を得られるでしょう。
-
羽枝(Barb)の曲げを制御するには、 Angle を変更します。このパラメータは、正の値と負の値の両方を受け入れます。 Random Angle を適切な値に設定すれば、均一なルックを避けることもできます。
長さのバリエーション ¶
お気付きかもしれませんが、Guide Process SOPには幅広い Operation モードがあります。 すべてのオプションがフェザーに適しているわけではありませんが、 Set Length は必ず試してみましょう。
-
もう1つGuide Process SOPを追加し、 1番目 の入力を上流のGuide Process SOPの 1番目 の出力に接続します。
-
Operation ドロップダウンメニューから、 Set Length と Feather Barbs を選択します。
-
Randomize をオンにします。
-
Min Length と Max Length を使用して羽枝(Barb)をランダム化し、輪郭が少し乱れるようにします。おそらく、かなり小さい値に設定する必要があります。
Set Length の操作であまり良い結果が得られませんでした。マスクを適用して、その効果をフェザーの下部に制限した方が良いでしょう。
マスキング ¶
上の画像で分かるように、マスクは、 Set Length モードでフェザーの先端の羽枝(Barb)の交差を防ぎたい場合に特に便利です。
-
最後のGuide Process SOPの Masking タブを開き、 Use Curve Mask をオンにします。
-
Curve Mask Ramp で、マスクの影響をインタラクティブに制御することができます。カーブをミラー化するために、 Reverse Domain をクリックしなければならないことがあります。
-
ランプスライダを使用して、マスクサイズを制御します。例えば、右のスライダを左にドラッグすると、マスクがフェザーの下部の羽枝(Barb)にのみ作用します。
以下の画像では、マスクの影響が分かりやすいように効果を誇張しています。
アトラスフェザーをランダム化する ¶
フェザーのクランプ(束)およびガイド処理とノイズのページで、単一のフェザーにディテールを追加する方法を学びました。 グルーミング処理の 前 に、完全なフェザーアトラスまたはそのサブセットに対して、クランプ(束)やガイド処理ノードを適用する方法について、ここで改めて説明すべきことはありません。
あとは、Merge SOPを通して、Feather Template from Shape SOP(Condensed(縮約化)ネットワークの最後のノード)を接続するだけです。 その後、例えばFeather Clump SOPを追加して、 1番目 の入力をMergeノードの出力に接続します。
接続したすべてのフェザーに引裂とクランプ(束)を追加し、単一ノードを通して分布を制御することができます。また、Feather Clumpが既に特定のフェザーに適用されている場合などは、複数のクランプ(束)を“積み上げる”ことも可能です。結合の後、別のクランプ(束)ノードを適用することもできます。
また、Guide Process SOPやFeather Noise SOPノードも使用でき、これらはFeather Clump SOPとまったく同じように機能します。