Houdini 18 SOP No.23 “Revolve:2.0 SOP”


~“Revolve:2.0 SOP”~

前回に引き続きHoudini18.0のSOPノードの解説を行います。
今回のノードは新しく追加されたものではなく、機能が追加されたノードになります。
前回の記事をご覧になられていない方はこちらからご覧ください。

※本記事ではHoudini 18.0.416を使用しています。

今回はRevolve:2.0 SOPについて説明していきます。

 

Revolve:2.0 SOP

このノードは、Houdini 18.0でアップデートされた際に機能変更がありました。主な変更はUV関係の変更になります。
Houdini17.5 ではこのノード内でUVを扱うことはできませんでしたが、Houdini18.0ではこのノード内でUVを調整することができるようになりました。
さらに 、従来のRevolve SOPに加えて、ポイントのみの表示などの設定が可能となりました。

では詳しく説明していきます。

まず初めにRevolveの基本的な使い方を説明します。

Revolveの基本的な機能は中心軸でカーブ(ジオメトリ)を回転させサーフェスを作成するものとなります。

今回は簡単なカーブとして下のようなサークルを用いて作成していきます。

このサークルをy座標を軸として回転させ、サーフェスを作成します。
このサークルに対してRevolveを適用させたモデルが下の画像になります。

このようにサークルを用いてサーフェスを作成することができます。

これが基本的なRevolve SOPの使い方となります。

 

それでは次にパラメータを説明していきます。

下の画像は各バージョンのパラメータの比較となります。

パラメータはこのようになっています。

※Houdini17.5 のパラメータは各タブの表示となっています。

このようにパラメータの見た目が大きく変わっています。

このパラメータは内容が変わった点もありますが、パラメータの場所が変わっただけでHoudini17.5 から引き継いでいるパラメータが多くあります。

このように赤枠で表示されているパラメータがHoudini17.5 から引き継いだパラメータとなります。また、黄枠で表示したパラメータは新しく追加されたUV関係のパラメータとなります。

 

それではパラメータについて、さらに詳しく説明していきます。

まず初めに赤枠で囲われた部分とそのほかのジオメトリの形状を操作するパラメータについて説明します。
赤枠で囲われたパラメータは場所が移動しただけでなく名前が変わっているパラメータも存在しています。
具体的にこの2つになります。
 Direction → Axis Direction
 Connectivity → Surface Type
そのほかの赤枠で囲われたパラメータに名前の変更はありません。

さらに、中身に変更があるパラメータもあります。

Surface Typeで選択することが可能なプルダウンが下の画像のように1つ追加されました。

このように「Point」の項目が追加されました。

この機能は、出力をサーフェスなどではなくポイントのみで出力するものとなります。
これらの項目の出力は下の画像のようになります。

各項目を選択することで上の画像のような形状でポイント等を出力することができます。

 

また、それ以外にも新しく追加された項目があります。
まず初めに下の画像の赤枠で囲われている「Primitive Type」です。

このパラメータは出力する際のジオメトリの種類を選択することができます。
デフォルトでは「Automatic」となっており、入力に合わせて“ポリゴン”、“NURBSカーブ”、“Bezierカーブ”で出力を行います。

「Surface Type」を“Quadrilaterals”として各タイプを出力したものが下の画像となります。

このように各タイプで出力を行うことができます。

それ以外にも新しいトグルがいくつか追加されています。

下の画像の赤枠で囲われている部分が新しく追加されたトグルになります。

Ensure Unique Seam Vertices
 「Surface Type」 が “Rows”、“Columns”、“Rows and Columns” のどれかで、「Revolve Type」 が “Closed” または“Closed Arc”、もしくは入力カーブが閉じている場合、パラメトリックカーブのUV座標値で0と1が存在するように頂点を分けるために、各カーブに余分に頂点を追加します。
「Primitive Type」が“Polygon Soup” 、“NURBS Surface ”、“Bezier Surface” 、“Bilinear Mesh” の場合、UVシームが正しく生成するのに必要となる頂点を余分に追加します。

Swap Rows and Columns
 有効にすると、グリッド内のポイントとプリミティブの並びを、横並び順の行優先から、縦並び順の列優先になるように変更します。 これを切り替えると法線も逆になります。

Reverse Cross Sections
 有効にすると、法線を反転させることができます。

End Caps Group
 有効にすると、この名前のプリミティブグループが作成されて、そこに End Caps オプションで生成されたプリミティブが格納されます。

このような設定が追加されました。
では次に下の画像の黄枠で囲われているUVに関するパラメータを説明します。

この黄枠で囲われた項目は先ほども述べましたが,UVに関するパラメータとなります。

Compute UVs
 有効にすると、下にあるパラメータを有効にし、uvVertexアトリビュートを生成します。 U座標は、入力カーブのパラメトリック座標に相当し、V座標は、回転軸のパラメトリック座標に相当します。
  Surface Type が Points の時、これはuvPointアトリビュートになります。

Override Any Existing UVs
 有効にすると、既存のuvVertexアトリビュートに新規のuvVertexアトリビュートを上書きします。

Length-Weighted UVs
 有効にすると、他のエッジを基準に、該当するエッジ長によって、UとVの座標の距離がスケールされます。

Normalize Computed Us
 有効にすると、U座標が0から1の範囲に収まるようにスケールされます。
 無効にすると、Uはメッシュ上の断面に沿った平均距離にスケーリングされます。
 下の画像が有効になっている場合と無効になっている場合のUVの比較となります。

Normalize Computed Vs
 有効にすると、V座標が0から1の範囲に収まるようにスケールされます。
 無効にすると、Vはメッシュ上のV方向に沿った平均距離または入力されたカーブに沿った距離にスケールされます。

Make Computed Us Wrap Seamlessly
 Normalize Computed Us が無効でこのトグルが有効な時、テクスチャがU方向で正しく循環するように、Uの範囲が一番近いプラスの整数値にスケールされます。    
 Normalize Computed Us と Normalize Computed Vs の両方が無効であれば、 UV Scale は小さなジオメトリに対してスケールを指定することができます。 

Make Computed Vs Wrap Seamlessly
 Normalize Computed Vs が無効でこのトグルが有効な時、テクスチャがV方向で正しく循環するように、Vの範囲が一番近いプラスの整数値にスケールされます。
 これは、 Normalize Computed Us と Normalize Computed Vs が両方とも無効の場合、 UV Scale は小さなジオメトリに対してスケールを指定することができます。 

Flip Computed Us
 これを有効にすると、計算されたU値がmax-uに変換され、テクスチャが裏返しになるのを回避します。 前面から見た際にテクスチャをサーフェス上に正しく表示するには、これを有効にする必要があります。
  背面から見た際にテクスチャをサーフェス上に正しく表示するには、これを無効にする必要があります。

UV Scale
生成されるUV座標に対してスケールを変更することができます。 

このようなUV関係の機能が追加されました。

以上がRevolve:2.0 SOPの説明となります。

 

Houdini18.0にアップデートされた際にRevolve SOPに変更が加えられました。この変更により、形状の調整方法が変更され、UVをノード内で扱うことができるようになるなどの機能の向上がありました。このノード用いることによって従来のノードよりも効率よくモデリング、UVの作成を行うことができるようになります。

 

こちらの記事のhipファイルが以下のURLからダウンロードできますので興味のある方はご確認ください。
https://www.dropbox.com/s/q20b9cn7s35fubt/Revolve.hip?dl=0