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によるスレッドの問題はないはずです。 しかし問題があれば、これによって、問題のあるノードがどれなのか判断し、 全体的にスレッド化を無効にせずに回避することができます。
Prune VDB Blocks
同じ値のボクセルの領域を大きく占める出力VDBのメモリ使用量を削減します。
一般的には、このオプションはオンのままにしてください。 上級ユーザは、非常に限られた状況に応じて、これをオフにしたい場合があります。 例えば、空っぽのボクセルをPrune(切り捨て)しても、後のノードで、それらのボクセルの多くを再度アクティブにするため、時間の無駄になるとわかっている場合です。
Note
Prune(切り捨て)は、グリッドのメモリ使用量にのみ影響します。 Prune(切り捨て)は(バックグラウンド値と同じ値の非アクティブボクセル以外の)ボクセルを削除しません。
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パラメータにバインドされます。
VEX Precision
VEXは、32ビットまたは64ビットの精度で評価することができます。 64ビットの方が特にトランスフォームでは精度が高いです。
Note
入力のアトリビュートは、元の精度を維持するので、32ビットのポジションに対して64ビットVEXを使用すると、まず最初にそれらの位置が64ビットに変換されてから、処理が適用され、書き出し時に32ビットに変換して戻されます。
Autoモードは、入力ジオメトリの優先精度に基づいて32ビットと64ビットを切り替えます。 64ビット精度で実行すると、作成されたアトリビュートがどれも64ビットになります。 32ビット精度で実行すると、作成されたアトリビュートがどれも32ビットになります。 Attribute Castを使用することで、この優先精度を変更することができます。
Examples ¶
ImportVolumes Example for Volume VOP geometry node
このサンプルでは、複数のボリュームをVolume VOP SOPに取り込む方法を説明しています。
See also |