On this page |
Volume VOPノードは、ボリュームプリミティブのセットに対してCVEXを実行します。 CVEXシェーダは.vflファイル、SHOPとして定義したり、このノード内にCVEX VOPネットワークを構築することで定義することができます。 後者が一番わかりやすい方法です。
CVEXスクリプトとバインドすることで、そのスクリプトのパラメータに渡される値を制御します。
デフォルトのAutoBindは、ボリュームのname
アトリビュートを見て、どのパラメータを上書きするのか決めます。
そのパラメータをCVEXスクリプトでexportとしてマークすると、そのパラメータの値がボリュームに書き込まれます。
そうでない場合は、ボリュームを読み込んでそのパラメータの値を取得します。
name
アトリビュートが存在しない場合、1番目のボリュームが、デフォルトの出力とグローバルのパラメータで用意されている"density"パラメータにバインドされます。
CVEXスクリプトは、エクスポートされるボリュームプリミティブそれぞれに対して1回適用されます。
ローカルで定義されたix
, iy
, iz
, resx
, resy
, resz
, orig
, P
のバインドは、現在エクスポートされているプリミティブのインデックス、解像度、中心、現行ボクセルの位置を参照します。
パラメータリストは、CVEXスクリプトのパラメータで作成されたパラメータから始まります。 パラメータをボリュームのみにバインドさせるなら、VOPパラメータの不可視フラグを設定することで、そのパラメータを非表示にすることができます。
ユーザー定義カラーをボリュームに追加する
アトリビュート毎に1つのボリュームのみを持つことができます。つまり、レンダリングでr,g,bを表現するには3つのボリュームが必要になります。
各ボリュームを個々に処理したり、すべてのボリュームを単一のVolume VOPネットワークとして処理したり、またはユーザーモードでVolume Mix SOPを使って、現行のサンプルボクセルポイントでのボクセル値であるV
を修正することができます。
Volume VOPで何が起きているのか注意を払ってください。
関連付けられたボリュームプリミティブに存在するname
アトリビュートとまったく同じ名前にセットアップしたBind VOPによって、色々なボリュームにインデックスを付けます。
name
アトリビュートをエクスポートするには、Bind Export VOPに同じ名前のパラメータが必要です。
パラメータ
Vex Setup
Vex Source
CVEXスクリプトの場所。 Myself は、このノード内で構築されたVOPネットワークを参照します。 SHOP は Shop Path を使用し、 Script は.vexファイルを読み込みます。
Shop Path
適用するCVEX Shop。
これは、CVEX VOP Networkを含んだノードも指定可能です。
Note
参照したノードのパラメータが使われます。
Script
適用するCVEXスクリプト。
Re-load VEX Functions
Scriptモードの時、このボタンをクリックすると、Houdini外で修正された更新を反映するために.vexファイルを再読み込みします。
Compiler
このノードの内側をコンパイルするためにVOPで使用されるコマンドライン。
Force Compile
VOPネットワークの再コンパイルをトリガーします。
Evaluation Node Path
ch()
などのVEX関数は、通常では、このノードを基準に評価します。
ここでパスを指定すれば、パス検索の開始場所を上書きすることができます。
これは、トップレベルのデジタルアセットが検索ルートになるようにデジタルアセットへ組み込む時に役に立ちます。
Export Parameters
このパターンを使えば、特定のボリュームに書き込まないようにVEXシェーダのExportオプションを上書きすることができます。 パターンは、バインドしたボリュームではなくVEXパラメータに一致します。 ボリュームは、読み込み用です。
Enable Multithreading
VEXによるスレッドの問題はないはずです。 しかし問題があれば、これによって、問題のあるノードがどれなのか判断し、 全体的にスレッド化を無効にせずに回避することができます。
Volume Bindings
Only Output Created Geometry
入力のボリュームを出力しません。その代わりに、VOPで作成されたジオメトリのみが出力されます。 これは、ボリュームからポイントを生成する時に役に立ちます。 繰り返したいボリュームにダミーの書き出しをしなければならないことに注意してください。
Signed-Flood Fill Output SDF VDBs
狭いバンドのSDFを処理する時に、その内部セルの意味を無効にすることができます。 これにより、内部セルが偽ってデフォルトの背景値で出力されます。 このオプションは、一掃してそれらのタイルを正しい意味にリセットします。 これはグリッドクラスSDFのVDBにのみ影響を与えます。
Autobind by Name
name
Primitiveアトリビュートを使用して、どのボリュームをどのパラメータにバインドするか決めます。
name
アトリビュートが存在しなければ、1番目のボリュームを"density"パラメータにバインドします。
"foo"のような名前は、floatパラメータの"foo"にバインドされます。 "foo.x"の名前は、ベクトル(3つのfloat)パラメータ"foo"のXコンポーネントにバインドされます。 "foo.zx"の名前は、マトリックス(3×3)パラメータ"foo"のX,Zコンポーネントにバインドされます。
Bind Each to Density
各ボリュームを"density"パラメータにバインドして、それらのボリュームを順々にVOPネットワークを適用します。
Primitive, Primitive Name, VEX Parameter
手動で各プリミティブのバインドを指定します。
これは、指定した名前のname
アトリビュートを持つプリミティブと同じです。
Primitive Nameが空っぽでない時、その名前に一致したプリミティブが、指定したVEXパラメータにバインドされます。
Examples
ImportVolumes Example for Volume VOP geometry node
このサンプルでは、複数のボリュームをVolume VOP SOPに取り込む方法を説明しています。
The following examples include this node.
attribfromvolume Example for Attribute from Volume geometry node
このサンプルでは、AttribFromVolume SOPを使って、ボリュームの値をPointアトリビュートに転送する方法を説明しています。
volumecompress Example for Volume Compress geometry node
このサンプルでは、Volume Compress SOPで外観をあまり影響を与えずにボリュームのメモリ使用量を減らす方法を説明しています。
DetectOverlap Example for Volume Merge geometry node
このサンプルでは、Volume SOPとVolume Merge SOPをプロシージャルに使って、たくさんの入力のボリュームの重複した領域を検出する方法を説明しています。
barycenter Example for Volume Reduce geometry node
このサンプルでは、Volume Reduce SOPで3Dオブジェクトの重心を計算する方法を説明しています。
volumeresample Example for Volume Resample geometry node
このサンプルでは、Volume Resample SOPでボリュームの解像度を増減する方法を説明しています。 また、サンプリングオプションを変えて、ボリュームの品質に影響を与える方法も説明しています。
volumesurface_explicitgrade Example for Volume Surface geometry node
このサンプルでは、Volume Surface SOPで、三角形のサイズを指定するための他のボリュームを使って、SDFをサーフェス化する方法を説明しています。
volumesurface_hierarchy Example for Volume Surface geometry node
このサンプルでは、Volume Surface SOPで勾配を指定してSDFの階層をサーフェス化する方法を説明しています。
ImportVolumes Example for Volume VOP geometry node
このサンプルでは、複数のボリュームをVolume VOP SOPに取り込む方法を説明しています。
PointCloudLookup Example for Point Cloud Iterate VOP node
このサンプルでは、pcfilterとpciterateを使って、ボリュームに対してポイントクラウド検索を実行する方法を説明しています。 また、ループの方法と検索で返された値を取り込む方法も説明しています。
See also |