On this page |
Houdiniでは、各ジオメトリプリミティブがXYZの位置、向き、カラー、アルファなどのアトリビュートを持ちます。
Bezierサーフェスは、1枚のプリミティブであり、NURBSサーフェスも同様です。 一方で、ポリゴンメッシュは、何枚もの個々のプリミティブで構成されています。
このノードでは、以下の事ができます:
-
プリミティブの移動、回転、スケール。
-
パラメトリックアフィン変換(平行移動+回転+スケール)をプロファイルカーブに適用します。
(プロファイルカーブを変換する時は、XとY軸をサーフェス上に投影するため、サーフェスから離れて回転させることができないので、Z軸のみ回転させることができます。同様の理由で、Z軸方向にスケールさせることができません。)
-
プリミティブを開/閉します。
-
すべてのフェースの頂点順を逆順にします。
-
サーフェス法線を反転します(例えば、テクスチャを球の内側にマッピングすることができます)。
-
プリミティブ単位でトランスフォームを適用します。
-
カラーなどのPrimitiveアトリビュートを設定します。
テンプレートジオメトリ ¶
色々なオプションを使って、他のジオメトリの部分に関連させて、入力プリミティブを修正することができます。 例えば、入力プリミティブの法線をテンプレートジオメトリの法線に合わせることができます。
入力プリミティブ内のグループをテンプレートジオメトリ( Template Group パラメータを使用)として使用したり、テンプレートジオメトリをこのノードの2番目の入力(Template)に接続することができます。
Tip
Primitive SOPのローカル変数は、そのプリミティブが基準になっています。変数名の頭に“det”、“pt”、“vtx”を付けると、Detail、Primitive、Vertexの変数を使うことができます。例えば、$ptTX, $ptTY, $ptTZ
は、ポイントの座標を意味します。
パラメータ ¶
Source Group
オペレーションするプリミティブ/プロファイルのグループ。
Template Group
トランスフォーム先のテンプレートポイントのサブセット。
Transform ¶
Do Transformation
以下のパラメータを使って、入力プリミティブをトランスフォームします。
Rotate to template
ジオメトリを2番目の入力(Template)に接続した時に利用可能です。 プリミティブをテンプレート法線に向くように回転させて、法線を合わせます。
Off
テンプレートに合わせません。
On
プリミティブをテンプレートジオメトリの法線に 向くように 回転させます。
Match normals
プリミティブをその法線がテンプレートジオメトリの法線に 合うように 回転させます。
Transform Order
トランスフォームの順番。
Rotate Order
回転の順番。
Translate
XYZ軸に沿ってプリミティブを移動します。
Rotate
プリミティブを回転します。
Scale
XYZ軸に沿ってプリミティブをスケールします。
Shear
シアー(傾斜)の度合い。3つの値は、それぞれXY平面上のX、XZ平面上のX、YZ平面上のYを意味しています。
Pivot
トランスフォームのローカルピボットポイント。
Lookat Object
入力プリミティブを、このオブジェクトに向くように回転させます。
Up-Vector
軸沿いの向き。
Vector Attributes to Transform
上記のパラメータを使ってトランスフォームするベクトルアトリビュートの名前。 ポイント/プリミティブのベクトルアトリビュートのみをトランスフォームできます。 頂点のベクトルアトリビュートはトランスフォームできません。
*
は、対応しているすべてのベクトルアトリビュートをトランスフォームすることを意味します。空っぽにすると、アトリビュートがトランスフォームされません。
Attributes ¶
これらのアトリビュートの変更は、プロファイルではなく、プリミティブにのみ適用されます。
Color
拡散反射カラー Diffuse Color(RGB)。
Alpha
透明度。
Crease
ポリゴンサブディビジョンのCreaseウェイト。
Texture
テクスチャマップの文字列アトリビュートを作成します。
Face/Hull ¶
Preserve Shape U/V
以下のClampまたはClosing Roundedを有効にした時に、形状を維持します。
Close U/V
U/V方向別にプリミティブをOpen(始点と終点を接続しない)、Close Straight(開いた端点間を直線で閉じてフェースを生成)、Close Rounded(開いた端点間を丸みを付けて閉じてフェースを生成)、Unroll(閉じてフェースを除去)します。
Clamp U/V
NURBSの両端をNURBSの元のCVの位置にClamp(固定)します。
Operation
Reverse
フェースのU、ハルのU/Vを逆にします。
Reverse U/V
U/Vを逆にします。
Swap
UとVを入れ替えます。トポロジーは維持されます。
Shift
U/Vをオフセットして頂点を循環させます。
U Offset
U方向の頂点を循環させるオフセット数。
V Offset
V方向の頂点を循環させるオフセット数。
Meta ¶
概要
これらのオプションは、メタサーフェスにのみ適用されます。
Meta-surface Weight
メタサーフェスのウェイト付けを有効にします。
Weight
メタサーフェスのウェイト。
Particles ¶
概要
これらのオプションは、パーティクルプリミティブにのみ適用されます。 これらのオプションは、通常ではRender POPで設定したオプションを上書きするために使用します。
Particle Render Type
パーティクルプリミティブのレンダーアトリビュートを上書きするかどうか制御します。
Particle Type
パーティクルのレンダリング方法を指定します。
RenderManに出力する場合は、Disk for RiPointとLine for RiCurveを使用します。
Spheres
パーティクルを球としてレンダリングします。
Disks
パーティクルをカメラ方向に向いた平坦な円盤としてレンダリングします。
Lines
パーティクルを前と現在の位置を結んだ直線としてレンダリングします。 これは、3Dビューポートでのパーティクルの表示方法と同様です。
Tubes
パーティクルを前と現在の位置を結んだ開いた円柱としてレンダリングします。
Capped
パーティクルを前と現在の位置を結んだ蓋の付いた円柱としてレンダリングします。
Rounded
パーティクルを前と現在の位置を結んだ丸みのある蓋の付いた円柱としてレンダリングします。
Particle Size
レンダリングするパーティクルのサイズを設定します。個々のパーティクルのサイズを変更するには、Property POPを使って、パーティクルのスケールアトリビュート(pscale
)を設定します。
Particle Blur
レンダリングした時のパーティクルが存在する長さ。端点間を接続するなら、これを1/$FPS
に設定します。パーティクルを引き伸ばすには、この値を大きくし、押しつぶすには、小さくします。
Volumes ¶
これらのオプションは、ボリュームプリミティブにのみ適用されます。 ボリュームプリミティブの特定の内部パラメータ、例えば、境界ボックスの外側をサンプリングした時の挙動や、圧縮許容値などを調整することができます。
これらのオプションは、VDBプリミティブにもうまく適用することができます。
Adjust Visualization
可視化オプションを変更するかどうか制御します。 これもVDBプリミティブに適用可能です。
Display Mode
このボリュームプリミティブのビューポートでの表示方法。 これは、すべてのボリュームプリミティブそのものにまったく影響を与えません。単に表示の外観を変えるだけです。
これもVDBプリミティブに適用可能です。
Smoke
ボリュームを煙としてレンダリングします。値を0以下にすると、完全に透明になります。ライトがあれば、ボリュームに自己シャドウが付きます。
Rainbow
ボリュームを透明な煙としてレンダリングします。値を0以下にすると、完全に透明になります。ライトを無視するので、計算時間が速いです。 その代わりに、煙の色が境界ボックス内の位置に応じて虹色の色相になります。
Isosurface
ボクセルと同じ値のアイソサーフェスをボリュームから抽出して、表示します。 これは Display Isocontour によって抽出するアイソサーフェスが決まります。
Invisible
ボリュームの内容をまったくレンダリングしません。
Display Density
煙の可視性のフォールオフ率を制御します。値を低くするほど、煙がより透明になります。
これもVDBプリミティブに適用可能です。
Display Isocontour
ボリュームから抽出するアイソコンターを設定します。デフォルトの0は、SDFボリュームに適しています。フォグ形式のボリュームは、0.5などのゼロ以外の値でうまく動作します。
これもVDBプリミティブに適用可能です。
Taper
Z方向に沿ってボリュームのテーパー(先細り)を上書きすることができます。 これは、カメラに近いボリュームほど密度を高くできるように、カメラのビュー領域にうまくボリュームを合わせることができます。
XのTaperは、フラスタム(視野角錐台)を定義したVDBプリミティブも制御することができます。
Volumes ¶
これらのオプションは、ボリュームプリミティブにのみ適用されます。
Adjust Border
Border Type を変更するかどうか制御します。
Border Type
ボリュームを定義したボックス外でサンプリングした時の挙動。
Constant
境界値が返されます。
Repeat
ボリュームがWrapして(繰り返して)、ボリュームの反対側の値を返します。
Streak
サンプルに一番近いボリュームのエッジの値が返されます。
SDF
ボリュームが符号付き距離フィールドとして扱われます。 サンプルポイントから一番近いボリュームのポイントまでの距離が、一番近いポイントの値に加算されます。 これは、必ずボリュームがその定義したボックスの外側までの距離の近似を続けます。
Border Value
Border Type が Constant の時、これは、境界サンプリングの外側で返される値です。
Adjust Compression
圧縮許容値を変更するかどうか制御します。
Compression Tolerance
これは、ボリューム内のタイルを圧縮した時に、不可逆圧縮で使用する許容値です。 値を0にすると、可逆圧縮になります(それでもConstantタイルへの圧縮が起こります。)。
VDB ¶
これらのオプションは、VDBプリミティブにのみ適用されます。
Class
ボリュームの解釈の仕方を設定します。
Other
特別な解釈をしません。
Level Set
ボリュームがサーフェスを表現します。
Fog Volume
ボリュームをDensity(密度)の値で構成します(例えば、煙)。
Staggered Vector Field
シミュレーショングリッド用のボリュームデータ。
Creator
VDB作成者の任意の文字列。
Transform Values
設定すると、VDBをサポートするトランスフォーメーション操作によって、VDBの実際のボクセル値が修正されます。
Vector Type
ベクトルボリュームのコンポーネントの解釈の仕方を設定します。これは、トランスフォーメーションの適用のされ方に違いが出てきます。
Tuple/Colow/UVW
トランスフォームしません。
Gradient/Normal
変換行列の逆転置行列が適用され、移動を無視します。
Unit Normal
順変換行列が適用され、移動を無視します。
Displacement/Velocity/Acceleration
順変換行列が適用され、移動を含みます。
Position
“通常の”トランスフォームを適用し、ベクトルが移動します。
Write 16-Bit Floats
ディスクに書き出す時に、ボリュームを16ビットに下げて変換するためのフラグ。これは、メモリに格納されているボリュームには影響を与えません。
入力 ¶
Primitive(s)
処理するジオメトリ。
Template
入力ジオメトリに対して色々な修正を行なうために使用するジオメトリ。 例えば、入力プリミティブの法線をテンプレートジオメトリの法線に合わせることができます。 また、ノードをこのTemplate入力に接続せずに、入力ジオメトリ内のグループをテンプレートジオメトリとして使用することもできます。
ローカル変数 ¶
PR
プリミティブまたはプロファイルの番号。
NPR
プリミティブまたはプロファイルの総数。
PT
プリミティブの1番目のポイントのポイント番号。
NVTX
プリミティブの頂点の数。
CEX, CEY, CEZ
プリミティブまたはプロファイルの重心。
DX, DY, DZ
全体の重心からプリミティブの重心に向かった方向。
NX, NY, NZ
プリミティブの法線。
CR, CG, CB, CA
プリミティブのDiffuseカラーとアルファ値。
CREASE
プリミティブの各エッジのCrease Weightの値。
WEIGHT
メタプリミティブのウェイト(メタプリミティブ以外は0)。
Examples ¶
PrimCenter Example for Primitive Properties geometry node
このサンプルでは、Primitive SOPを使って正しくプリミティブをカーブに沿わせる方法を説明しています。
Sweep SOPはデフォルトでは、プリミティブの原点をカーブ上に配置します。 プリミティブの重心が原点から離れていると、プリミティブもカーブから離れて配置されます。
正しくプリミティブの重心をカーブに配置するには、その重心を原点にしなければなりません。 それをするために、Primitive SOPを使用しています。
PrimRotate Example for Primitive Properties geometry node
このサンプルでは、Primitive SOPでグリッド上の個々のプリミティブを回転する方法を説明してます。
Group SOPを使ってグリッド上の境界ボックスをアニメーションしているため、Primitive SOPでランダムな回転が有効になっています。
PrimitiveColors Example for Primitive Properties geometry node
このサンプルでは、Primitive SOPでカラーアトリビュートをプリミティブに追加する方法を説明しています。
rand()関数をRGBフィールドに使用することで、各プリミティブに別々のランダムなカラーを生成しています。
prim()関数はSOPのアトリビュート値を参照するために使用し、他のSOPのアトリビュート値を駆動しています。
PrimitiveExplode Example for Primitive Properties geometry node
このサンプルでは、Primitive SOPでオブジェクトの個々のプリミティブを制御できることを説明しています。
Translateパラメータにエクスプレッションを使用して、プリミティブが重心から離れる アニメーションを作成しています。 さらに、他のエクスプレッションによってプリミティブをランダムに回転したり、各プリミティブにランダムなカラーを設定しています。
それらのパラメータによって元の球を破壊する爆発を表現しています。
PrimitiveMetaWeight Example for Primitive Properties geometry node
このサンプルでは、Primitive SOPで他のジオメトリのアトリビュートを駆動する方法を説明しています。 このケースでは、Metaball SOPのWeightパラメータに影響を与えています。
さらに、パラメータをアニメーションしています。再生ボタンを押してアニメーションを再生してください。
See also |