>   >  Houdini Cook Book:vol.80 Point and Line
vol.80 Point and Line

vol.80 Point and Line

Carve SOP


  • Carve SOPはPolygonやNURBSなどをカットしたり、Pointや断面を抽出したりすることができます。日本語にすると「カーブ」と読めてしまい、曲線(Curve)と混同しがちですが、実際には「刻む」を意味する方のカーブなので、ご注意ください


  • Houdiniでは、PolygonやNURBSなどメッシュやカーブには、パラメトリックな座標値であるUVが存在しています。それを用いることで、カットや抽出する位置をUVで指定します。UVはそれぞれFirstとSecondでカット位置を指定します。また、Cut(切り出し)かExtract(抽出)を選択することができます

今回のフローでは、複数本のカーブをカットすることに用いています。長めに生成したベースカーブの一部分を切り出し、それをオフセットしていくことで、あたかもカーブがレールに沿って動いているかのようにアニメーションをつけることが可能になります。本来の使い方を少々アレンジした使用方法ではありますが、こう言ったアプローチも非常に重宝します。例えばカーブのFirst Uにアニメーションをつけ、Extractで先頭のPointのみを抽出し、そのPointに対してジオメトリをコピーすれば、簡単にカーブアニメーションをつけることができます。通常はオブジェクトレベルで行うカーブアニメーションも、SOP内で複雑に行うことが可能になります。

今回、For Eachを使っている理由として、カーブのアニメーションをグラフで制御する際に、カーブそれぞれをエクスプレッションでオフセットすることができないと言うことが大きく作用しています。本来、For Eachは使用したくないのですが、Carve SOPの仕様上、今回のようなフローにする必要があります。

画像の例は、チューブ上のNURBSを指定したUとVの位置でカットしたものになります。今回のようなカーブだけではなく、このようにサーフェスに対してもカットを施すことができます。ちなみに、今回のプロジェクトのようなカーブは、Uのみが存在し、Vは存在しません

Resample SOP

Resample SOPはPolygon、NURBSなどのカーブに対し、Pointを距離や数によって再度サンプリングして、元のカーブ上へ再配置します。このとき、元のカーブは必ずPolygonへ変換されます

Level of Detailは、Polygon以外が入力されている際、元のカーブの詳細レベルを設定するもので、大きいほど詳細に判定します。Resample by Polygon Edgeは、入力されているカーブのコーナーを保持します。Methodはどのようにエッジの長さを測定するかを決めます。デフォルトではEven LengthSegmentsになっており、そのままのエッジの長さを測定します。Resample SOPでは大きく2種類のサンプリング方法があり、エッジの長さから指定する方法と、エッジの最大数を指定する方法があります。Maximun Segment Lengthは、エッジの長さをLengthで指定することで、カーブに対して、指定した長さ分のエッジを生成します。こうすることで、エッジの長さは絶対的に決定されるので、入力のカーブの長さにかかわらず、一定のエッジの長さを維持することになります。したがって、入力カーブの長さが短ければエッジ数は少なく、長ければエッジ数は多くなります。もうひとつは、Maximum Segmentsです。これはSegmentsでエッジの絶対数を指定する方法で、カーブの長さにかかわらず、エッジの数は一定になりま

今回のフローでは、NURBSで作成したカーブに対して使用しています。NURBSカーブとResample SOPは、筆者にとってはもはやセットのような感覚です。セオリー的に、Pointを一定の間隔にする方が扱いやすく、癖になっています。

画像は、左からベースのNURBS、中央がLengthを指定した場合、右がLengthとSegmentsを指定した場合になります。Lengthはエッジの長さを指定しますが、さらにSegmentsの数を指定することで、その長さも強制的に変わります。Lengthがまず適用され、その後にSegmentsの数が設定されるために起こる減少です。これを利用すれば、カーブが伸びていく様子をResample SOPのみで行うこともできます

あとがき

これまでとは大きく連載の形式は変わりましたが、今回見ていただいたように、アプローチを紹介して、それにまつわるオペレータを紹介していくというながれを基本形にしていきたいと思います。今回は初級から中級の内容ですが、これは毎号変動する見込みです。はじめにお話ししたとおり、Webの場合ある程度自由度があるため、いろいろ組み替えて紹介できることも増えると考えています。細かい引き出しをどんどん増やしてもらえるような内容にして、それらをさらに応用として使いやすい切り分け方を検討していきたいと思いますので、どうぞ今後とも「Houdini Cook Book」をよろしくお願いします。

その他の連載