03 Operators
主要ノードを解説します。
Join SOP
Join SOPは、開いたPoygonカーブなどを単一のPrimitiveへ繋げることができるノードです。
Blend:Primitiveをどのようにつなげるかを設定できます。例えば、BlendがONの状態でToleranceが1の場合、PointがBiasに伴った位置でブレンドされた状態でコネクトされます。OFFの場合、元々の位置でコネクトされます。
Multiplicity:接続された際に滑らかに接続されます。これは、PolygonやMeshには影響しません。
Connect Closest Ends:Primitiveの順番ではなく、端点の近接度に基づいてコネクトします。
Join:コネクションするためのルールを設定します。例えば、Nの数だけスキップするなどが可能です。
Wrap Last to First:最初と最後のPointをコネクトし、Primitiveを閉じます
今回のフローでは、Mirror SOPで上下に配置された弧を閉じるために使用しています。単純にPointを接続するのではなく、1つのPrimitiveとして変換するため、今回のようなシチュエーションには重要なSOPの1つです。カーブを扱う際には非常に使用頻度の高いものとなります。ただ、扱いには若干の癖があります。例えば、多数のカーブを扱う際などは、工夫が必要になるシチュエーションも多いです。
UV Texture SOP
UV Texture SOPはジオメトリにテクスチャUV座標を割り当てる役割をします。UVはAttributeとしてジオメトリへ追加されます。
Texture Type:UVを投影するタイプを設定する箇所です。様々なタイプが準備されており、基本的な投影はここで設定可能です。ただし、あくまでも基本的な投影やジオメトリの情報に基づいたものですので、エッジを選んで展開するなど、複雑な展開方法には対応していません。
Projection Axis:投影する際の軸を設定します。
Attribute Class:UVが作成される際のAttributeのクラスを設定します。デフォルトではVertexに設定されています。
カーブを扱うシチュエーションで重要な役割を果たすSOPです。Houdiniにおいては、UVはテクスチャのためだけに存在するものではありません。XYZの3D空間とは別のパラメトリックな座標系として、ジオメトリがもっていると何かと便利なAttributeとして機能させることができます。使い方は様々ですが、こういったイレギュラーなアプローチの積み重ねがHoudiniを輝かせるのです。
あとがき
今回は、UVを作成しながらモデリングをするためのアプローチを紹介しました。通常は、ジオメトリが完成してからUVを作成すると思いますが、今回のような組み立てをしておけば、ジオメトリの分割数が変わろうと、数が変わろうと、形が変わろうと、UVを取り直す必要はまったくありません。Houdiniはこのような大量くり返しのために様々なアプローチを生み出すことができます。今回のサンプルは非常に簡単なものですが、これを応用すれば様々なシチュエーションへ対応するしくみをつくり出すことができます。まずはHoudiniのプロシージャルな考え方に慣れていくことが必要です。