Coreで雲を作成し、VDBとしてExportする本チュートリアルは下記を元にしています。Vimeo.それでは早速雲を作成します。雲はポリゴンジオメトリを基にしています。そのため、Geoノードを作成し、ポリゴンのSphereを作成、Frequencyを24に設定します。分割数が多い三角ポリゴンで作成されたSphereが作成されます。Moutainを追加し、ノイズの高さ、周波数、ノイズの種類を調整します。このポリゴンモデルが雲の形の大元になります。Yに少し縮小することで形を整えます。Cloudノードを追加し、Volumeデータに変換します。このノードは、既存のポリゴンまたはポイントクラウドのソースジオメトリを取得し、ボリュームを作成します。必要に応じて、追加の二次詳細を作成して、より雲のような外観を作成することができます。高速な結果を得るためにシミュレートすることなく、雲を生成することを目的としています。Coreでも雲のボリュームを作成することができます。オプション、設定の説明は後で行うため、このままノードを追加していきます。Noiseノードを追加します。雲のような外観を作成するためにボリュームフィールドにノイズパターンを追加します。さまざまなノイズ形状作成オプションとマスキングコントロールが用意されています。Sliceノードを追加します。ボリュームスライス操作は、入力したボリュームから2次元スライスを抽出します。注力したい特定の平面を取り出して、3Dボリューム内で何が起こっているのかを視覚化するのに役立ちます。Sliceノードは大変役に立ちます。雲ボリュームデータはディティールを出すために、むやみにグリッドサイズをあげるとあっという間に使用メモリが大きくなってしまいます。効率よくディティールを追加するために更に先に進みます。Sliceのオプションを確認する、AttributeがDensityになっているため現在は、Volumeの密度がランプで表示されていることになります。RampをGreyscaleに変更し、グレイスケールランプで雲の形を確認できます。Rangeの最大を10に増やし、現在の結果がグラデーションで確認できるようにします。Sliceで確認しながら、Cloudノードでボリューム設定を調整します。Cloudノードを選択し、Volumeタブを開きます。ここでは、このボリュームのグリッドサイズが定義されています。Samplingを使用することでサイズと解像度のフィールドを一致させることなく、ボリュームの解像度を指定できます。Axisの場合、数値が除算に使用されます。Sizeで指定することになります。Size=0.1としてした場合です。Divsを100に設定すると、50に比べて、ボクセルサイズが細かくなったことがわかります。ボクセルが細かくなると、情報が増えるため使用されるメモリも増えます。50から100に変えると、ボクセルがほぼ4分の1になるのでメモリも約4倍に増えるかもしれませんので要注意です。Shapeタブを開きます。Polygonsを有効にすると、ボリュームデータにしたものを再ポリゴン化して表示することができます。Sourceをオンにすると、球体でインプットしたジオメトリを充填することができます。した雲の場合、このオプションが役立ちそうです。Polygonsもオフにしてください。Noiseノードの設定にうつります。NoiseタブのAmplitude(ノイズの振幅)を変更します。デフォルトの0.10.5に変更Typeでノイズタイプを変更することもできます。Amplitudeを再度0.1に戻し、Advection(移流)タブを開きます。Sliceに戻します。これでGridとボリュームの状態をみながら調整することができます。Noiseはメインとなっているノイズにオフセットを追加して、ディティールを入れることができます。全体的な形状は保ちつつ、ディティールが追加されていることがわかります。NoiseのAmplitudeは0.1に戻し、NoiseタブのAmplitudeを0.4にします。全体的な形状にノイズによる変化が追加されます。Noiseにすると、下記のような状態にVolumeがなっています。VOPを使用して、ディティールを追加します。VOPは、一連のボリュームプリミティブに対してCVEXを実行します。VOPネットワークを構築することで定義できます。このノードを追加しただけでは、結果は変わりません。それではvolumevopノードをダブルクリックして中に入ります。現在は、入力されたDensityがそのまま出力されています。ここで関係演算子としてCompareを追加します。Than(>)を設定し、比較する値を0.05とします。出力されるのはTrue(1)、False(0)です。Compareの後をSwitchに接続します。Switchは入力が0の場合、Input1を出力し、入力が1の場合、Input2を返します。そこで、Input1にConstantノードで0を設定します。これで、0.05より小さい場合は、0を出力することになります。noiseに接続し、それをInput2に接続します。Switchの出力を、VolumeVopOutputに返します。ここまでの結果をみると、このような感じになります。Rangeに通します。Rangeでは下記のように設定します。Maxは結果がわかりやすいように一時的に10という高い値に設定します。Paramterに接続します。Ramp(float)に設定します。Vopノードを選択するとRampが追加されていることがわかります。Maxを1.0に戻します。constantに接続します。このノードはシンプルな演算子で2つ目の入力を必要とします。このノード内部で乗算する値を決めることができます。今回はMultiplierを10にします。ここまでの結果となります。最初の状態は下記になります。比較すると、グラデーションが追加されていることがわかります。Vopで修正した結果ディティールが追加されていることがわかります。VopのRampを調整します。ディティールが追加されました。ここまでの結果をopenVDBで出力します。Vopの上でマウスの右クリックからSave>Geometryを選択します。出力先をきめ、拡張子を.vdbとします。Acceptをクリックすると、指定した場所にVDBファイルが出力されます。VDBファイルが出力されたら、次に実際にVDBファイルを読み込んで見ましょう。新しいGeoノードを作成し、そこに出力したVDBファイルをロードします。VDBファイルが生成されました!最後に今回はRedshiftでレンダリングしてみました。※ダウンロードファイルのレンダリング設定はMaterialおよびLightがRedshiftで設定されています。Mantraでレンダリングする場合は、MantraShaderおよびLightを設定してください。サポートまでお問い合わせ下さい。