絶対に挫折しないHoudini入門 10 - モデリング 2

モデリング

 前回の記事でVOPによってマテリアルを作成しました。実はVOPにはコンテキストという概念/機能が存在しますVOPコンテキストが違うと同じ名前の関数でも機能が変わるのです。また、VOP内で使用できるノードにも差異があります。

 マテリアルを作成した時のVOPコンテキストはシェーディングコンテキストと呼ばれるもので、surfaceやdisplaceというコンテキストでした。
 Global Variables > Context Typeで指定したアレです。

画像1

 VOPにはシェーディングコンテキスト以外にもコンテキストがあり、その一つがcvexコンテキストです。
 このコンテキストはSOP内でAttribute VOPノードを使用して使うことが出来ます。このコンテキスト内ではジオメトリを直接編集することが出来ます。

 この記事ではジオメトリをディスプレイスメントする例を通して、cvexコンテキストのVOPについて説明します。

準備

 まず、元となるジオメトリを作成します。obj以下でTab > sphereを配置します。
 作成されたオブジェクトの中に入り、SphereノードのPrimitive TypeをPolygonにしておきます。

画像2

 次にSphereノードにSubdivideノードをつなぎます。SubdivideノードのDepthは4か5くらい(マシンスペックと相談)にしておきます。これで準備は完了です。

画像3

Attribute VOPノード

 Attribute VOPノードをSubdivideノードの下につなぎます。Attribute VOPノードをダブルクリックして中に入るとこのようなノードがあらかじめ配置されています。

画像4

 前回Material Shader Builderノードを作った時と似ていますが、入力と出力はGeometry VOP Global ParametersノードGeometry VOP Output Variablesノードになっています。

 ちなみに、VOPネットワークでは同じ名前の入出力は線をつながなくても自動で受け渡しが行われることに注意してくださいつまり上の画像は下の画像と同じです。

画像5

 Voronoi Noiseノード、Displacement Along Normalノードを以下の様につなぎます。たったこれだけでジオメトリをディスプレイスすることが出来ます。

画像6

 上記がcvexコンテキストのVOPの簡単な例です。
ちなみに、Attribute VOPノードですが、Tabで表示されるメニューにはPoint VOPやPrimitive VOPなど似た名前のものがたくさんあります。
 混乱しそうですが、実はこれらは全てAttribute VOPノードです。配置時の初期設定が違うだけです。例えばPrimitive VOPを選択するとRun OverがPrimitiveに設定されたAttribute VOPが配置されます。

画像7

 Houdiniでは実体は同じなのに違う名前がついていることが結構多いです。最初は大量のノードに圧倒されそうですが、実はアレとコレは同じヤツだったなんてことがあるので、落ち着いて整理しながら見ていくとちょっと安心するかもしれません。

もしこの記事があなたのお役に立てたなら幸いです。 よろしければサポートをお願いします。今後の制作資金にさせていただきます!