On this page |
以下の章では、1本のフェザーの作成から、フェザーで覆われたオブジェクトの作成まで、基本的なグルーミングの工程全体について説明します。
このネットワークは、皆さんの好きなように拡張して構いません。 フェザー一式を描画してフェザーアトラスにしたり、キャラクタの部位によって異なるタイプをペイントすることができます。 また、非常に詳細なフェザーを適用することもできますし、基本の形状から始めて、グルーミング後にランダム化することも可能です。 サイズ変更可能なブラシを使用して、大量のフェザーを植えたりばら撒く方法もあります。 HoudiniのVellumソルバを使用すれば、フォースフィールドの影響下でのフェザーの動作をシミュレーションすることができます。
フェザーのネットワークは非常に複雑になる場合があるため、フェザーやグルームなどのすべてのシーン要素を分けて、別々のコンテナに格納することを推奨します。 以下は、ネットワークのプレビューです。
フェザー ¶
まず、ネットワークエディタの obj レベルで、TabメニューからGeometry OBJを配置します。ノードの名前をfeather
に変更し、ダブルクリックして中に入ります。
最も速くて便利なのは、Feather Templateツールを使うやり方です。 このヘルパーは、標準的なフェザーに関連するすべてのノードと設定を含んだ小さいネットワークを作成します。 もちろん、カーブを編集することで、フェザーの形状はカスタマイズ可能です。 フェザーの羽枝(うし:Barb)を変更するには、Feather Template from Shape SOPのパラメータを変更します。 このシーンでは、Feather Templateツールで作成したフェザーを使用します。
-
Resolution セクションに移動し、 Name をオンにします。
body
または他の任意の名前で$OS
エントリを置き換えます。 -
重要なのは、フェザーネットワークをNull SOPで終了することです。Nullにより、フェザージオメトリを素早く見つけやすくなります。
Nullを追加し、その入力をFeather Template from Shapeノードの出力に接続します。
-
Nullの名前を
FEATHERGEO
などに変更します。
キャラクタ ¶
キャラクタは、球、立方体、Houdiniのいずれかのテストジオメトリ、カスタムモデル、インポートしたオブジェクトなど、何でも構いません。
-
obj レベルに戻ります。もう1つGeometry OBJを追加し、その名前を
groom
に変更します。 -
新しいジオメトリノードの Misc タブを開き、 Shade Open Curves in Viewport をオンにします。このオプションを使用しないと、フェザーがオブジェクトとして表示されません。
-
ノードをダブルクリックして、その中に入ります。
-
Sphere SOPノードまたは他の任意のオブジェクトを追加します。
-
Primitive Type を Polygon に設定し、極が非表示の球を作成します。この手順は必須ではなく、表示をより見やすくするためのものです。
-
Frequency を
15
に上げ、より滑らかなサーフェスにします。
フェザーを接続する ¶
現在、フェザーとキャラクタは別々のコンテナ内にあるので、両方の要素を接続する必要があります。
-
groom
コンテナ内に、Guide Groom SOPを追加し、その 2番目 の入力をSphereノードの出力に接続します。 -
Feathers セクションに移動し、 Create & Output Feathers をオンにします。それからそのセクションを開きます。
-
Template Geometry SOP の横にある、 Open floating operator chooser ボタンをクリックします。パネルから
FEATHERGEO
Nullを選択し、 Accept をクリックします。入力フィールドに、
/obj/feather/FEATHERGEO
のようなパスが表示されます。 -
Template Group の横にあるドロップダウンを開きます。メニューから、
body
を選択します。複数のタイプのフェザーがある場合は、ここに名前が表示されます。 -
Set Feather Settings をクリックします。このボタンにより、 Create and Maintain orient Attribute がオンになります。関連する Orientation Attributes セクションを展開すると、
barborient
およびN
アトリビュートが表示されます。どちらも、フェザーの整列とブラッシングに必要となります。
ガイドを描画する ¶
通常は、何百、何千というフェザーを描画するのではなく、いくつかのガイドを配置することになります。 その後、ガイド間のフェザーを補間して、密集した羽毛を作成します。
Guide Groom SOPのパラメータを見ると、 Tool ドロップダウンが Draw に設定されていることが分かります。 このモードでは、キャラクタに個々のフェザーを描画できます。 下にあるキャラクタ(球)を確認するには、そのピンクの Template/Selectable Template フラグをオンにします。
Brush Options セクションには、作成時にガイドを形成するための便利なパラメータがいくつかあります。
-
Interpolate Guides をオフにして、キャラクタの内側にガイドが描画されないようにします。
-
Limit to Template Length をオフにして、ガイドの最大長を実際のフェザーの長さに制限します。
-
マウスカーソルをビューポートに移動し、Enterを押して描画モードをオンにします。ビューポートの左上コーナーにあるHUDは、このモードを示すと同時に、ショートカットを提供します。
-
⇧ Shift + Mを押して Mirror Groom モードにします。
-
キャラクタのサーフェス上で、をクリックしてドラッグすると、ガイドを描画できます。
長いガイドを描画すると、フェザーも長くなります。ガイドの曲率と向きも、フェザーに反映されます。
各ガイドはまた、Feather Template from Shape SOPで適用した名前を含む、
templatenames
Primitiveアトリビュートを取得します。 ここでは、その名前はbody
です。 -
⎋ Esc押して、描画モードを終了します。
ヘアーの生成 ¶
Houdiniのフェザーシステムは、多数のヘアーベースのノードとメソッドを使用して羽毛を作成します。 というのも、この2つのプロセスには、特にガイドという点で多くの共通点があるからです。 ここまでに描画したガイドも、実はアトリビュートが追加されたヘアーです。既存のガイドの間にヘアーを補間し、フェザーの“シード”として機能させます。
-
Hair Generate SOPを追加し、その
-
1番目 の入力をガイドグルームの 2番目 の出力に接続します。
-
2番目 の入力をガイドグルームの 1番目 の出力に接続します。
-
-
Distribution セクションの Density パラメータでは、補間されるヘアーの数を制御できます。
-
ノードの青の Display/Render フラグをオンして、補間されたヘアーを確認します。
ノードによって、ガイドの間にヘアーが追加されたことが分かりますが、長いガイドと短いガイドの間に遷移が見られません。 これを修正するには、以下で説明するように追加のノードが必要です。
ガイドの補間 ¶
この手順では、Hair Generate SOPで使用されるガイドアトリビュートを作成して、ガイドが正しく補間され、ガイド間が滑らかに遷移するようにします。
-
Guide Interpolation Mesh SOPを追加します。その
-
1番目 の入力をガイドグルームの 1番目 の出力に接続します。
-
2番目 の入力をガイドグルームの 2番目 の出力に接続します。
-
出力をヘアー生成ノードの 5番目 の入力に接続します。
このノードの主な目的は、低解像度のプロキシジオメトリを作成し、グルーミング処理を高速化することです。
-
-
Hair Generate SOPを選択し、 Guide Weights セクションに移動します。
-
Compute Weights Using Skin Coordinates をオンにします。
-
Use Interpolation Mesh をオンにして、プロキシメッシュが考慮されるようにします。
-
Skin Guide Mode ドロップダウンで Weight Array Pair (guides & weights) を選択し、補間処理にプロキシメッシュのアトリビュートが使用されるようにします。
手順を進めながら、ガイドの変化を確認できるはずです。
ガイドからフェザーへ ¶
現在のところ、ガイドはありますが、フェザーは表示されていません。 基本のセットアップの最終ステップは、ガイドとフェザーのジオメトリを1つにまとめることです。
-
Feather Template Interpolate SOPを追加して、その
-
1番目 の入力をヘアー生成ノードの 1番目 の出力に接続します。
-
2番目 の入力をヘアー生成ノードの 2番目 の出力に接続します。
-
-
Object Merge SOPを追加して、その出力をテンプレート補間ノードの 4番目 の入力に接続します。
-
Object Mergeノードで、 Object 1 に移動して、 Open floating operator chooser ボタンをクリックします。パネルから
FEATHERGEO
Nullを選択し、 Accept をクリックします。
補間ノードの青の Display/Render フラグをオンすると、キャラクタにフェザーが表示されます。 このネットワークが、より複雑なセットアップをするためのいわば設計図となります。
マスキング ¶
現在、キャラクタはほぼ全体がフェザーで覆われていますが、特定の領域のみが覆われるようにしたい場合もあります。 そのためには、マスクを使用します。 Houdiniでは、プロシージャルなマスクを作成したり、マスクをオブジェクトにペイントすることができます。 ここでは、Hair Generate SOPの Density パラメータを制御するためのマスクをペイントします。 しかし、マスクでできることはそれだけではありません。フェザーの長さのようなアトリビュートを駆動することも可能です。 ドロップダウンを含むパラメータが表示され、 __No Override__に設定されている場合は、そのパラメータをマスクで制御することができます。 以下の画像では、モヒカンスタイルのようなマスクを作成できます。
-
Attribute Paint SOPを配置し、その入力をGuide Groom SOPの 2番目 の出力に接続します。出力は、Hair Generate SOPの 1番目 の入力に接続します。
-
その新しいノードの Attributes タブを開きます。 Attribute Name に、
density
と入力します。これは、不要な領域からフェザーを除去するのに使用するアトリビュートの名前です。 -
Symmetry タブを開き、 Enable Mirroring をオンにします。ビューポートにミラー平面が表示されます。その平面は Direction パラメータで変更できます。
-
マウスカーソルをビューポートに移動し、Enterを押してペイントモードをオンにします。
-
を使用して、ブラシのサイズを制御します。
-
Hair Generate SOPで、 Distribution ▸ Density に移動し、ドロップダウンを Skin Attribute に設定します。
Density パラメータはまだ使用可能で、フェザーの数を調整できますが、フェザーはペイントした領域内に作成されるようになります。
-
Hair Generate SOPの青の Display/Render フラグをオンにし、 さらに ブラシとマスクが表示されるようにAttribute Paint SOPを選択します。
-
フェザーを生やしたい領域をペイントします。
-
⎋ Esc押して、描画モードを終了します。
Feather Template Interpolate SOPの青の Display/Render フラグをオンにすると、再びフェザーが表示されます。
フェザーの幅 ¶
最終レンダリングでは、フェザーの羽軸(Shaft)と羽枝(Barb)の幅を制御することが重要です。
デフォルト値でフェザーを作成すると細すぎたり太すぎることがよくあります。
羽軸(Shaft)と羽枝(Barb)を個別に調整するためのノードが用意されており、ランプを使用して例えば、羽軸から先端に向かって太さを制御することもできます。
または、アトリビュートマスクを描画する方法があります。
熟練ユーザなら、おそらく独自にWrangleを書いてwidth
、width_barbl
、width_barbr
のアトリビュートを制御するのではないでしょうか。
-
Feather Width SOPを配置して、その最初の2本の入力を上流のFeather Template Interpolate SOPの最初の2本の出力に接続します。
-
Shaft Width を使用して羽軸(Shaft)全体の幅を調整します。または、 Ramp をクリックしてカスタムカーブを作成します。
-
Barb Width を制御したい場合は、 Create Barb Width を有効にします。カスタムカーブを作成する Ramp ボタンも用意されています。
ガイドをブラッシングする ¶
多くの場合、ガイドの伸びる方向や向きを変える必要があります。これを行なうには、Guide Groom SOPの Tool メニューを Brush に設定します。
Tip
ガイドをブラッシングしたら、ほぼ瞬時にその最終結果を確認することができます。 このためには、Hair Generate SOPの青の Display/Renderフラグ をオンにして、Guide Groom SOPを選択します。 レスポンスタイムを改善するには、生成ノードの Density 値を一時的に下げてください。
-
描画モードでない場合は、マウスカーソルをもう一度ビューポートの上に置いてEnterを押します。
-
Guide Groom SOPには、ガイドがキャラクタの内側に描画されないようにする Collide with Skin オプションがありますが、衝突がうまく検出されない場合もあります。より良い結果を得るには、 Ray Bias を
0.01
などに上げます。 -
ブラシをミラーコピーするには、 Mirroring セクションを開き、 Mirror Groom をオンにします。
-
ブラシのサイズは、ビューポートでを使用してインタラクティブに変更できます。
カラー ¶
カラーは、フェザーの印象を良くしたり、視覚的に区別できるようにするの役立ちます。
-
Color SOPを配置し、その入力をFeather Width SOPの 1番目 の出力に接続します。
-
Class を Primitive に変更します。
-
Color Type ドロップダウンから、 Random などのエントリを選択します。 Constant に設定すると、 Color を使用してカスタムカラーを定義することができます。