On this page |
Volume SOPはボリュームプリミティブを作成します。 ボリュームとは、ボクセルと呼ばれるより小さなボックスで分割された格子状のボックスのことです。 各ボクセルには、数値を記録することができます。 そのボリュームプリミティブを使えば、ボクセルの中心点でサンプリングされたボリュームのスカラーフィールドを定義することができます。
Volume SOPで生成されたボクセルは、定数値を持ちます。 Volume VOP SOPやVolume Mix SOPを使えば、ボクセル単位で値を制御することもできます。
Mantraがボリュームをレンダリングする時、Mantraはボリュームの名前に応じて、レンダリングパラメータを上書きします。 この名前は、Volume SOP(または、後でName SOPを使用)で設定することができます。 また、この名前は、Volume VOP SOPへのデフォルトのバインディングにも使われます。
Volume SOPは、ボリュームのセットを生成することもできます。 Rank パラメータをVectorに設定すると、Velocityフィールドに適した3つのボリュームが作成され、 Matrixに設定すると、変形テンソルに適した9つのボリュームが作成されます。
Tip
ジオメトリをVolume SOPの入力に接続すると、入力ジオメトリ周辺に境界ボックスが作成されます。
パラメータ
Rank
各ボリュームプリミティブは、ボクセルのセル毎に1つの数値しか保持しません。 VectorフィールドやMatrixフィールドのような、より高い階数のボリュームを使用したい場合は、 複数のボリュームプリミティブを使用することができます。 Rank オプションは、Vector/Matrixフィールドに一致するように複数の名前付きボリュームを作成することができます。
Name
名前を指定すると、作成されるボリュームプリミティブのname
Primitiveアトリビュートの値が、この名前に設定されます。
ボリュームに名前を付ければ、MantraとVolume VOPが正しいパラメータをボリュームの値で上書きすることができます。
作成するボリュームがVectorまたはMatrixなら、サブコンポーネントを識別するために、名前の後に.xや.xxが追加されます。
Initial Value
作成するボリュームプリミティブは、ボリュームと同じ値を持ちます。
Dimensions
Center/Size
Size
ボリュームボックスのサイズ。 これは、Uniform Sampling がオンの時にボクセルがすべて同じサイズになるように若干調整されます。
Center
ボリュームボックスの中心。
Taper
Z方向のボリュームのテーパーを上書きすることができます。 これは、ボリュームをカメラのビュー領域にうまくフィットさせることができるので、 カメラに近いほどボリュームの密度を濃くすることができます。
Two Dimensional
ボクセルグリッドの分割方向の1つを強制的に固定することで、2次元フィールドを作成します。
Plane
Two Dimensional を設定した時、この平面によって影響を受けない軸を決めます。
From Camera
Camera
ボリュームをフィットさせるフラスタム(視野角錐台)のカメラ。
Z Near
ボリュームを開始するカメラからの距離。
Z Far
ボリュームを停止するカメラからの距離。
Use Camera’s Window
設定すると、以下の Window X/Y 設定に加えて、カメラのウィンドウのスケール、オフセット、クロップのパラメータが使われます。
Window X/Y
ボリュームで満たすカメラのビューの最小/最大の比率。 これは、余白を追加することで、良い境界条件を確保したり、シーンのキーエリアに焦点を当てることができます。
Uniform Sampling
これは、ボリュームのボクセルが立方体になるのが主な利点です。 このオプションは、ボリュームの解像度を、サイズや解像度のフィールドに合わせることを考えることなく、指定することができます。 このパラメータは、 Uniform Sampling Divs の数に分割される軸を制御します。
Uniform Sampling Divs
Uniform Sampling の軸で分割されるボクセルの数。 他の軸は、このボクセルサイズに合ったセルの数に分割されます。
Sampling Divs
不均一なボクセルのセルを使用する時、各次元の解像度をここで指定することができます。
Div Size
ボクセルサイズを直接指定した時の、ボクセルの均一なサイズ。指定したサイズのボックスが、このサイズのボクセルで満たされます。
Z Resolution Scale
Z軸のボクセル解像度が、この数値でスケールされます。 これは、カメラボリュームで、カメラのビュー方向に沿ってディテールを減らしたい時に役に立ちます。 Uniform Sampling を X-Axis に設定することで、直接スクリーンのX軸で必要なボクセルの数を指定すると、アスペクト比を保持するようにY軸が自動計算され、スケール係数を調整することができます。
Note
カメラからのボリュームは、カメラのクロップ/ウィンドウのサイズのオプションを順守し、カメラ自身もそのオプションを順守します。
Properties
Border Type
ボリュームをその定義されたボックス外でサンプリングした時の挙動。
Constant
境界の値が返されます。
Repeat
ボリュームがラップし、反対側のボリュームの値が返されます。
Streak
サンプルに一番近いボリュームのエッジの値が返されます。
SDF
ボリュームを符号付き距離フィールドとして扱います。 サンプルポイントからボリュームの一番近いポイントまでの距離が、その一番近いポイントの値に追加されます。 これは、ボリュームがその定義されたボックス外の距離を概算し続けます。
Border Value
Border Type が Constant の時、これは境界外のサンプリングで返される値です。
Constant Tolerance
ボリューム内のタイルを定数タイルに圧縮する時、これはタイルが定数かどうか判断するために使用する許容値です。 ゼロは可逆圧縮のみを許可します。
Quantization Tolerance
タイルの値を量子化することでタイルを圧縮する時、これは、その許容値です。 この値は、ある程度の品質をディザリングで償うことができるので、定数タイルよりも大きい値を指定することができます。 ゼロは量子化を無効にします。
Dithering
ボクセルをより低いビット深度に量子化する時、いくつか失った情報は、ノイズを量子化前のボクセルに追加することで償うことができます。 これは、ボクセル内のビット深度を空間的な解像度に置き換えていると考えることができます。
ボリュームを表示用に統合することがよくありますが、ディザリングは、生成されるボリュームの結束化を回避して、ボリュームの元のウェイトを保持することができます。
Dithering を None に設定すると、単に閾値化処理を行ないます。 Dithering を Ordered に設定すると、各タイルに対して定数ディザリングマトリックスを使用します。
Use 16bit Float
32bit floatをまだ計算に使用していても、それらをボリュームに記録する時には、16bit floatに減らされます。 このオプションは、若干計算負荷がかかり、floatの精度が悪くなりますが、メモリ消費量が半分に減ります。
Display Mode
このボリュームプリミティブのビューポートでの表示方法。 これは、ボリュームそのものにまったく影響を与えません。単に表示の外観を変えるだけです。
Smoke
ボリュームを煙としてレンダリングします。0以下の値は完全に透明です。
Rainbow
ボリュームを透明な煙としてレンダリングします。 0以下の値は完全に透明です。 ライトが無視されるので、計算時間が短くなります。 その代わりに、境界ボックスの位置に応じて、煙が虹の色相で色付けられます。
Isosurface
ボリュームから同じ値のボクセルのアイソサーフェスが抽出されて、表示されます。
Invisible
ボリュームの内容をまったくレンダリングしません。
Display Density
煙の可視化のフォールオフ(減衰)のレートを制御します。値が低いほど、煙がより透明になります。
Display Isocontour
ボリュームから抽出するアイソコンター。デフォルトの0がSDFボリュームに適しています。
Fog形式のボリュームは、0.5
のようなゼロ以外の値の方がうまく動作します。
入力
Bounding source
ジオメトリをこの入力に接続すると、Volumeは、その入力ジオメトリの境界ボックスを作成します(接続しなかった場合は、パラメータを使ってボックスのサイズと位置を制御します)。
これは、 From Camera ソースを適用した時には使われません。
Examples
The following examples include this node.
CombinedSmoke Example for Gas Embed Fluid dynamics node
このサンプルでは、Gas Embed Fluid DOPを使って、2つのSmoke Volumeを結合し、ボリューム間を滑らかにぼかしています。
DeformVolume Example for Attribute from Volume geometry node
このサンプルでは、ボリュームを変形する方法を説明しています。 最初に、ボリュームの解像度に合った分割数でBox SOPを作成し、そこからポイントの3Dグリッドを作成します。 次に、ボリュームの密度アトリビュート名の"dens"をそれらのポイントに転送します。 最後に、好きなようにポイントを変形して、空っぽのボリュームを作成すれば、そのボリュームをポイントの密度で満たすことができます。
このサンプルでは、Fluid Source SOPを使って、新しいボリュームの色を煙のシミュレーションに加えて移流させる方法を説明しています。
volumecompress Example for Volume Compress geometry node
このサンプルでは、Volume Compress SOPで外観をあまり影響を与えずにボリュームのメモリ使用量を減らす方法を説明しています。
volumefromattrib Example for Volume from Attribute geometry node
このサンプルでは、Volume From Attrib SOPでPointアトリビュートをボリュームボクセルに転送する方法を説明しています。
DetectOverlap Example for Volume Merge geometry node
このサンプルでは、Volume SOPとVolume Merge SOPをプロシージャルに使って、たくさんの入力のボリュームの重複した領域を検出する方法を説明しています。
volumemerge Example for Volume Merge geometry node
このサンプルでは、Volume Merge SOPで複数のインスタンス化したボリュームを1台のカメラの視界領域のボリュームに平坦化する方法を説明しています。
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の階層をサーフェス化する方法を説明しています。
RampParameter Example for Parameter VOP node
このサンプルでは、Ramp Parameter VOPノードを使って、PyroシミュレーションのTemperature(温度)アトリビュートでパーティクルの色を制御する方法を説明しています。
PointCloudLookup Example for Point Cloud Iterate VOP node
このサンプルでは、pcfilterとpciterateを使って、ボリュームに対してポイントクラウド検索を実行する方法を説明しています。 また、ループの方法と検索で返された値を取り込む方法も説明しています。
See also |