パーティクル ボリューム クラウド
 
 
 

密度 | カラー | シェーディング | マーチング | ルックアップ テーブル | プレビュー | Framebuffer | ファイナル ギャザリング | シャドウ | Render Tree の使い方 | [Particle Volume Cloud]シェーダを使用する場合の基本的なワークフロー

カテゴリ: パーティクル

シェーダ ファミリ: ボリューム

出力: カラー

パーティクル ボリューム クラウド シェーダは一種のボリューム シェーダで、ポイント クラウドのバウンディング ボックスをボリュームとしてレンダリングします。このシェーダを使用すると、クラウド、ダスト、スモーク、フォグなど、低密度のパーティクル ボリュームを作成できます。

ボリュームやレイトレース シャドウのレンダリングには時間がかかる場合があるため、このシェーダではルックアップ テーブルを使用して、隣接するボクセルのシャドウやその他のボリューム データを保存します(ボクセルとは、3D 空間内のポイントおよびエリアです)。

ヒント:このシェーダを初めて設定する方法については、「[Particle Volume Cloud]シェーダを使用する場合の基本的なワークフロー」を参照してください。

シェーダ コンパウンド

パーティクル レンダラまたはパーティクル シェイパー シェーダ コンパウンドを使用すると、パーティクル ボリュームを簡単に操作できます。両シェーダ コンパウンドには、パーティクル ボリューム クラウド シェーダ、パーティクル密度シェーダ、およびその他の、基本的なボリューム エフェクトを設定するのに役立つシェーダが含まれています。また、これらのシェーダには公開されるパラメータは少ないので、簡単に使用できます。

パーティクル レンダラ コンパウンド」を参照してください。

ボリュームのライティングのヒント

ここでは、パーティクル ボリューム エフェクトにライティングをセットアップするための一般的なヒントを紹介します。

  • すべてのレンダリングにおける経験則は、「常に最初にライティングを設定してパーティクルに適切な外観を作成し、それからカラーを設定すること」です。

  • パーティククル クラウド ボリュームのベースの中心にライトを置き、輝きながら光を放つエフェクトを作成します。

  • 煙を作成しているときにそのエッジを明るくするには(リム ライティング)、複数のバック ライトを使用します。

  • [シェーディング](Shading)タブで、レンダリングに使用するシーン内の特定のライトを選択できます。既定では、シーン内のすべてのライトが使用されます。

  • すべてのライトについて、自己遮へいが常に有効になっています。

  • [カラー](Color)タブのライトの[スキャッター](Scatter)オプションを使用している場合は、ライト(ポイント ライトなど)の[ライトの減衰](Light Attenuation)の値を設定して、距離に応じてライトの強度がどのように減衰し、ライトの散乱に影響を与えるかを決定することができます。

密度

密度入力

密度入力(Density Input)

ボリュームのシェイプをコントロールします。これは、パーティクル ボリュームのシェイプを決定する最も重要な入力です。この入力は、[Particle Density]シェーダ(たとえば、[Fractal Scalar]シェーダがアタッチされていてもされていなくても)あるいは[Particle Shaper]コンパウンドにすることができます。

コントラスト度合い(Contrast Amount)

ほとんどの場合パーティクルのエッジにおける、パーティクル密度の不透明度および透明度のコントラスト。中心からエッジまでのコントラストの減衰をコントロールします。

コントラストの値を低くするとソフトなディフューズの外観になり、コントラストの値を高くするとディテールがシャープになり、シャドウがより大きく表に出ます。

密度ノイズの作成にフラクタル シェーダを使用していて、ノイズ シェイプをより簡単に確認できるようにする場合は、まずこのコントラストを大きくします。

コントラスト中心(Contrast Center)

パーティクルの中心にある密度の不透明度および透明度のコントラストを決定します。

密度

グローバル密度(Global Density)

各パーティクル ボリュームの密度。パーティクルの密度の全体的なエフェクトを設定します。パーティクルの中心が、エッジよりも不透明になります。

密度の値を低くするとソフトで滑らかなエフェクトになり(より透明)、密度の値を高くするとディテールとエッジが適切に定義されます(より不透明)。

レイ毎タイプ(Per Ray Type)

レイ タイプに応じて、ボリュームの密度を微調整します。

  • [ビュー](View): ボリュームで使用されているカラーの量。「カラー」を参照してください。

  • [シャドウ](Shadow): ボリューム内のシャドウの量。

  • [スキャッター](Scatter): ボリュームに使用されているライト スキャッタリング(光の拡散)の量。[スキャッター](Scatter)オプションが選択されている場合に有効になります。「イルミネーション」を参照してください。

  • [吸収](Absorption): ボリュームに使用されているカラーの吸収量。[カラー吸収](Color Absorption)オプションが選択されている場合に有効になります。「吸収」を参照してください。

グローバル密度およびコントラスト度合いの設定例

 

密度 0.05(Density 0.05)

密度 0.15(Density 0.15)

密度 0.75(Density 0.75)

密度 3.00(Density 3.00)

Contrast 0.5

       

Contrast 0.95

       

テクスチャ座標の歪曲

テクスチャ座標の歪曲(Distort Texture Coordinates)

入力テクスチャに基づいて、ボリューム全体を(パーティクルと一緒に)歪曲します。たばこなどの煙にディテールを追加する場合に便利です。

ノイズ入力(Noise Input)

ワープ ノイズを設定します。RGB の値をそれぞれ 0.5 に設定した場合、その他のテクスチャは移動しません。赤によってテクスチャ空間が X 方向に移動し、緑によって Y 方向、青によって Z 方向にそれぞれ移動します。

強度(Intensity)

歪曲シフトの強度。

歪曲の例(2D)

元のテクスチャ(Original Textures)

ワープ ノイズ 1

結果 1

     
     
 

ワープ ノイズ 2

結果 2

     
     
 

ワープ ノイズ 3

結果 3

     

カラー

カラー

カラー値の設定に関するヒントについては、「パーティクル ボリューム クラウド」を参照してください。

ディフューズ(Diffuse)

パーティクルの光が当たっている部分に分散された「メイン」のカラー。以下の[イルミネーション]および[スキャッター]の各オプションで使用されます。

レンダ領域でこのパラメータの結果を確認するには、[プレビュー]タブの[シェーディング](Shading)オプションを選択しておく必要があります。

ディフューズ強度(Diffuse Intensity)

ディフューズ カラーをスケーリングします。

アンビエンス(Ambience)

パーティクルのシャドウのカラーに影響を与える 2 つ目のカラー。このカラーは常にボリュームに追加されます。シーンのライトやグローバル アンビエンスの影響を受けることはありません。

レンダ領域でこのパラメータの結果を確認するには、[プレビュー]タブの[シェーディング](Shading)オプションを選択しておく必要があります。

強度(アンビエンス)(Ambience Intensity)

アンビエンス カラーをスケーリングします。

イルミネーション

イルミネーション(Illumination)

ボリュームの全体的なイルミネーションを設定します。

このオプションが選択されていない場合、ボリュームを照らすのは、ユーザが[シェーディング]ページで定義するライトのみになります。

レンダ領域でこのパラメータの結果を確認するには、[プレビュー]タブの[イルミネーション](Illumination option)オプションを選択しておく必要があります。

 

  • [Illum color]: イルミネーション全体のカラー。

スペキュラ(Specular)

パーティクルのスペキュラ ハイライトを有効にします。

レンダ領域でこのパラメータの結果を確認するには、[プレビュー]タブの[スペキュラ](Specular)オプションを選択しておく必要があります。

 

  • [スペキュラ カラー](Specular Color): スペキュラ ハイライトのカラー。

 

  • [Decay]: サイズに影響を与えるスペキュラ ハイライトの減衰。

 

  • [Rim Reduction]: パーティクルのボリュームがほぼ背後から照らされる場合、ハイライトは非常に広くなる傾向がありますが、明るさは維持されます。このパラメータを使用すると、後ろから照らされた場合のスペキュラの強度を低くすることができます。

スキャッター

パーティクル ボリューム内部の 1 つのライト スキャッタリングを計算します。これによってライトが追加され、適切なシャドウが作成されます。また、スモークやクラウドについて、より現実的な外観を作り出すことができます。

[密度]タブの[レイ毎タイプ > スキャッター](Per Ray Type - Scatter)オプションで、ボリュームに使用されるスキャッタリングの全体的な量を設定します。

レンダ領域でこのパラメータの結果を確認するには、[プレビュー]タブの[スキャッター](Scatter)オプションを選択しておく必要があります。

ライト(ポイント ライトなど)のプロパティ エディタの[ライトの減衰]の値を設定して、距離に応じてライトの強度がどのように減衰し、ライト スキャッタリングに影響を与えるかを決定することができます。

 

  • [強度](Intensity): 散乱イルミネーションのグローバル カラー モディファイア。

 

  • [抑制](Suppress): パーティクル ボリューム内を通過する散乱光の届く範囲を制限します。スキャッタリングは、通常、直接イルミネーションの周辺でより明るくなります。これによって明るくなりすぎた場合は、このパラメータを使用して、エリアのスキャッタリングを減らすことができます。

 

  • [最大距離](Max Distance): 散乱の計算での散乱光の届く最大距離を設定します。

 

  • [Scatter Sample Rate]: 散乱の計算に使用するルックアップ テーブルのセルの数を減らします。値 1.0 では、隣接するすべてのテーブル エントリを使用してスキャッタリングを計算します。値 0.5 では、隣接するテーブル エントリの半分だけを使用するので、計算が 2 倍速くなります。

吸収

カラー吸収(Color Absorption)

カラーを吸収する水の挙動をシミュレートします。水は赤を最初に吸収し、次に緑を吸収します。レンダリングするボリュームに水の外観を与える場合は、このオプションを選択します。

[密度]タブの[レイ毎タイプ > 吸収](Per Ray Type - Absorption)オプションで、ボリュームに使用される吸収の全体的な量を設定します。

 

  • [Absorption for Shadow Rays]: ボリューム内のシャドウレイを吸収します。

 

  • [Absorption Color]: Color Absorptionによるパーティクル ボリュームのカラー。

これは、吸収のないボリューム シェーダです。球までの距離が長いほど、多くの水が球を遮ります。

この例では吸収が有効になっています。水の内部では、一部のライト カラーが均等に伝達されていません。最初に赤が吸収され、次に緑が吸収されます。

アンビエント オクルージョン

アンビエント オクルージョンは、シャドウに適切なディテールを与える間接イルミネーションや、フラクタル スカラ シェーダによって作成されるようなフラクタルなノイズ パターンをシミュレートします。

アンビエント オクルージョンを実行すると、オブジェクト サーフェイス上の指定ポイントの上にある事前定義された半球状の領域にサンプル レイがキャストされ、他のジオメトリによってポイントがブロックされる範囲(オクルージョンが実行される範囲、すなわち、遮られる範囲)が決定されます。

遮られる量が決定したら、遮られるポイントと遮られないポイントに、それぞれ明色と暗色が戻されます。オブジェクトが部分的に隠れる場合は、遮られる(隠れる)量に応じて明色と暗色がミックスされます。

アンビエント オクルージョン(Ambient Occlusion)

前述したような、単純なアンビエント オクルージョンを計算します。

アンビエント オクルージョンはルックアップ テーブルについて計算されます。このため、ディテールには利用できず、法線方向が考慮されることもありません。

レンダ領域でこのパラメータの結果を確認するには、[プレビュー]タブの[アンビエントオクルージョン](Ambient Occlusion)オプションを選択しておく必要があります。

 

  • [Max Distance in volume cells]: アンビエント オクルージョンの計算で、ある点から発するサンプルレイの最大距離を設定します。値を低くすると、ボリュームのより多くのディテールとひび割れがレンダリングされます。

 

  • [Intensity]: アンビエント オクルージョンの結果の全体の強度を設定します。値を高くすると、より適切に定義されたディテールがシャドウに作成されます。

 

  • [カラー](Color): シャドウのカラーに影響するアンビエント オクルージョンのカラー。

シェーディング

シェーディング

シェーディングモデルと強さ(Shading Model and Strength)

ボリュームのイルミネーションは、メイン ライトに対するカメラの角度に応じて変化します(メイン ライトを下のボックスで選択します)。

 

[コンスタント](Constant)(自己遮へいでのみシェーディング):カメラ、ライト、ボリュームの角度は関係ありません。常に完全なイルミネーションを使用します。このオプションは、よりフラットな外観が必要で、イルミネーションによってシャドウが作成され、パーティクルのボリュームが決定されるような、スモークやクラウドなどのパーティクルのシェーディングに適しています。

 

[Lambert]: イルミネーションは角度の余弦とともに変化します。

[強さ]= 0 はコンスタント シェーディングと同じです。

[強さ]= 1 は Lambert シェーディングです。

 

[リニア](Linear): イルミネーションは角度によりリニアに変化します。

[強さ]= 0 はコンスタント シェーディングと同じです。

[強さ]= 1 は完全なリニア シェーディングです。

 

[Rayleigh/Henyey-Greenstein(He-Gr)]: 光のほとんどはライト側に反射し、光の方向に伝播されます。このオプションは、クラウドのようなボリュームに関して物理的に最も適切な選択肢です(このモードでは、法線シェーディングはお勧めしません)。

[強さ]= -1: ライトの大部分はライトの方向に伝達されます。

[強さ]= 0: 伝達されるライトの量と反射されるライトの量が同じです。

[強さ]= 1: ライトの大部分は反射されます。

フラット シェーディングとミックス(Mix with Flat Shading)

[シェーディングモデル]で[Rayleigh/He-Gr]を選択した場合、このオプションを選択してコンスタント(フラットな)シェーディングとミックスすることができます。

以下のグラフは、ライト対カメラ(それぞれ、ライト対法線)の角度に応じた、オブジェクトの輝度を示しています。各シェーディング モデルで、異なる強さの値が使用されています。

リニア

Lambert

Rayleigh/He-Gr

     

法線シェーディング

法線シェーディング

イルミネーションの法線を作成します。イルミネーションは、法線対ライトの角度によって計算されます(硬いサーフェイスのオブジェクトの場合と同様です。球をレンダリングする場合を考えてみてください)。

このオプションがオフの場合は、カメラ対ライトの角度が使用されます。

シャドウのみのシェーディングでは失われてしまう構造を含む高密度のボリュームでは、法線シェーディングを使用する必要があります。

このシェーディングは、スモークではなく、バブルやブロブなどのより 3D オブジェクトに見えるようなパーティクルのレンダリングに便利です。

[メイン ライトのシェーディングのみ](Only Main Light Shading)(1 つのライトのみ使われている場合より高品質)

ライトの方向は、サンプルごとに計算されます。欠点は、サポートされるライトが 1 つのみである点です(以下で選択する必要がある「メイン ライト」)。

このオプションがオフの場合は、すべてのライトの平均であるライト方向が使用され、ルックアップ テーブルのセル間で補間されます。

以下の図は、ある球状ボリュームのレンダリングをさまざまなカメラ方向から示したものです。

法線シェーディングのないシェーディングはこの例ではコンスタントに見えますが、もちろんシャドウがあります。これらもシェーディングの役割を果たしており、ライトから離れたボリューム エリアを暗くしています。

ビュー方向

         

リニア

         

Lambert

         

Rayleigh/He-Gr

         

リニア + 法線

         

Lambert + 法線

         

Rayleigh/He-Gr + 法線

         

ライト

イルミネーション ライトの制限(Restrict Illumination Lights)

既定では、このシェーダはシーン内のすべてのライトを使用してボリュームを照らします。ただし、ライトの数が多い場合、レンダリング時間を短縮するために、特定のライトのみを使用してボリュームを照らすことを検討する必要があります。ライト(特に、レイトレース シャドウを投射するライト)が使用されるたびに、レンダリングの速度が低下します。

イルミネーションライト(Illumination Lights)

[イルミネーションライトの制限](Restrict Illumination Lights)が選択されている場合、このリストにライトを追加できます。追加されたライトのみが、パーティクル ボリュームを照らすために使用されます。

[項目のピック](Pick Item)をクリックして、ポップアップ Explorer からリストに追加するライトを選択します。

リストからライトを削除するには、リスト内のライトを選択し、[選択削除](Remove Selected)をクリックします。

メイン ライトの向き

スキャッタリングまたは法線シェーディングが選択されている場合のみ使用されます。

メイン ライトの向き(Main Light Direction)

法線シェーディング([メインライトのシェーディングのみ](Only main light shading)が選択されている場合)およびスキャッタ方向(シェーディング モデルの影響を受けます)の計算に使用されます。

[ピック](Pick)ボタンをクリックして、使用するシーン内のメイン ライトを選択します。

マーチング

マーチングは、カメラ レイでボリュームがサンプリングされる頻度を定義します。

シンプル モード

シンプル モード(Simple Mode)

このオプションを選択すると、下で選択した[ディテール]レベルですべてのマーチング設定が計算されます。この方法によって、簡単に既定値を使用できます。mental ray で情報メッセージ機能をオンにすると、使用されている値がシェーダに表示されます。

特定のマーチング設定を調整する場合は、このオプションの選択を解除すると、下にパラメータが表示されます。

ディテール(Detail)

マーチング ステップの設定にプリセットを使用します。

  • [低い設定](Low Settings)では、[デフォルト設定]の時間の約 60% でレンダリングされます。

  • [デフォルト設定](Default Settings)では、ディテールとレンダリング時間とのちょうどよいバランスが考慮されます。

  • [高い設定](High Settings)では、パーティクル ボリュームのレンダリングに[デフォルト設定]の 2 倍の時間がかかります。

マーチング ステップ/ボリューム ディテール

ヒント:パーティクルのサイズやシェイプを変更した場合、あるいはクラウドのイルミネーションを変更した場合は、マーチング ステップを調整する必要があります。

最大適用サブディビジョン(Max Adaptive Subdivision)

ルックアップ テーブルのセルごと(カメラ レイごと)に、ボリュームが 2 回サンプリングされます。1 回のサブディビジョンではセルが 4 回サンプリングされ、2 回のサブディビジョンではセルが 8 回サンプリングされます。

各セルが分析されて、サブディビジョンが必要かどうかが判断されます。セル内のコントラストおよびディテールが大きいほど、作成されるサブディビジョンも多くなります。

この値が大きすぎると、エフェクトの詳細が不十分になります。一方、値が小さすぎると、レンダリング時間が長くなります。

[プレビューモード]([プレビュー]ページ)を使用すると、使用されているサブディビジョンをシェーダに表示できます。

密度しきい値(Density Threshold)

サンプリング レイのサブディビジョンが必要かどうかを決定するのに使用するしきい値。

高品質ボリューム ディテール

セル毎のライト サンプル(Light Samples per Cell)

通常、密度、カラー、イルミネーションでセルを満たすために使用されるのは、1 つのサンプルです。しかし、非常に薄い密度テクスチャの場合、この 1 つのサンプルがテクスチャを逃す可能性があります。

たとえば、現在のフレームで、サンプル ポイントがライトに入っているとします。ところが、次のフレームでパーティクル ボリュームがわずかに移動すると、サンプル ポイントがシャドウに入ってしまいます。これによって、ちらつきが発生します。

ルックアップ テーブルのセルのサイズを小さくしてすべてのシャドウ ディテールを取得することができますが、この作業には追加のメモリが必要です。別の対策として、セルごとのサンプル数を増やす方法もあります。これによって、シェーダは複数のサンプル ポイント間でライトの平均を計算するようになります。

マーチングの停止

アルファがあればテーブルを使用(Use Table if Alpha)

アルファ値が限界に達すると、シェーダはそれ以上入力テクスチャを呼び出さなくなります。ボリューム レンダラはルックアップ テーブルをレンダリングするだけで、この処理にはあまり時間がかかりません。

ルックアップ テーブルにはストラクチャおよびディテールが多くありませんが、ボリュームの内部で作業している限り、その違いはわかりません。

入力テクスチャを評価するのはボリューム密度が下で設定する値の場合のみです。

最小および最大(Min and Max)

密度の入力が最小および最大の範囲外である場合、シェーダは密度とカラーのルックアップ テーブルを使用します。

通常は、この値を変更する必要はありません。ただし、高密度で高品質の構造を持つボリュームをレンダリングしている場合は、この値を高くして最小および最大の範囲を広げる必要があります。範囲を狭くすると、レンダリング時間が長くなります。

ルックアップ テーブル

ルックアップ テーブルは、パーティクル ボリュームの解像度が非常に低くなったものです。高速ルックアップを行うために、カラーとシャドウの情報を保存します。シェーダがこの低解像度ボリュームのすべてのシャドウを計算し、最終的なボリュームに適用します。作成した最終的なルックアップ テーブルはパーティクル ボリュームの平均的なシェイプをカバーしている必要がありますが、ディテールは必要ありません。ディテールは、入力テクスチャ シェーダによって追加されます。

ルックアップ テーブルの設定方法については、「ルックアップ テーブルを設定する」を参照してください。

レンダリングされたクラウド

クラウドのルックアップ テーブル

レンダリングされたクラウドで補間されたルックアップ テーブル

     

一般的に、このシェーダではボクセルを使用してパーティクルごとのボリュームを作成します。ボクセルのサイズを定義するには、ルックアップ テーブルのセルのサイズを設定します。セルのサイズを小さくすると見栄えがよくなり、シャドウも美しくなりますが、時間とメモリが多く必要です。セルのサイズを大きくすると時間もメモリも少なくて済みますが、補間はほとんど行われず、外観やディテールが劣ります。レンダリングのすべての面において同じことが言えますが、時間とメモリを重視するか、美しい見栄えを重視するか、難しいところです。

ボリュームのディテールが多くなるほど、シャドウに必要なセルも多くなります。セルが少ないままだと、シャドウでちらつきが発生します。ボリューム内のディテールが多く、シャドウをスムーズにするために大きなセルを使用する場合は、セルごとの入力サンプルの数を増やすと、優れたボリュームになります。

ヒント:パーティクルのサイズやシェイプを変更した場合、あるいはクラウドのイルミネーションを変更した場合は、ルックアップ テーブルを調整する必要があります。

テーブルの補間

セルの補間(Cell Interpolation)

  • [No Interpolation between cells]: テーブルのセル間でブレンドを行いません。高速のオプションです。ただし、ボクセル(セル)が表示されるので、テーブル サイズの調整にのみ使用する必要があります。

 

  • [リニア](Linear): セル間の単純な補間(デフォルト)。

 

  • [キュービック](Cubic): セル間の補間により複雑な計算を使用。ルックアップ テーブルの行(ライン)が表示されたままですが、すべてのシャドウを取得できるだけの十分なテーブル解像度がすでにある場合は、このオプションを選択します。

 

  • [Full Light Raytrace]: 最も低速のオプション。ルックアップ テーブルのシャドウのディテールが多すぎるボリュームなど、エッジの減衰が非常に小さい高密度のボリュームに使用します。ルックアップ テーブルはシャドウにのみ使用されるわけではないので、セル サイズを設定する必要があります。

ルックアップ テーブルのセル

ボクセルのサイズを定義するには、ルックアップ テーブルのセルのサイズを設定します。このサイズは、パーティクルのサイズに適したサイズに設定するようにしてください。

たとえば、パーティクルのサイズが 0.5 単位の場合で、パーティクルが空間で分離するときは、[セルサイズ]をあまり大きな値に設定しないでください。セル サイズを大きくすると、ルックアップ テーブルでディテール(空間内の単一のパーティクル)が見逃された場合、ブロックがレンダリングされないことがあります。

ただし、設定値が小さすぎてもいけません。パーティクルのサイズが 10 の場合、セルサイズを 0.5 に設定しないでください。セル サイズが小さいと、レンダリング時間が長くなります。これは値のテストの際には好ましくありません。

セル サイズ(Cell Size)

セルのサイズを小さくすると見栄えがよくなり、シャドウも美しくなりますが、時間とメモリが多く必要です。セルのサイズを大きくすると時間もメモリも少なくて済みますが、補間はほとんど行われず、外観やディテールが劣ります。

通常の作業やプレビューのためにセル サイズを大きくしておき、最終の調整やレンダリングの準備が整ったらセル サイズを小さくすることもできます。

パーティクル ボリュームのサイズがアニメートされる場合は、この設定を調整し、時間の経過とともに変化するようにする必要があります。

:パーティクルボリュームのバウンディングボックスは、完全なセルでのみ満たされます。そのため、バウンディング ボックスは、セル サイズに合うように多少縮小されることがあります。

セルをサイズで設定(Set Cells by Size)

セルをサイズで設定します。このオプションがオフの場合は、下の[セルの数](No. of Cells)パラメータを使用してセルの数を設定できます。

[X/Y/Z セルの数](No. of Cells X/Y/Z)

ボリュームのサイズが変わらない場合は、X/Y/Z のセルの数を設定できます。パーティクル ボリュームのバウンディング ボックスがセル サイズに合わせて縮むので、これには制限がありません。

モーション ブラー

セル毎のモーション ブラー サンプル(Motion Blur Samples per Cell)

mental ray のモーション ブラーを使用する場合は、シャドウのルックアップ テーブルもモーション ブラーする必要があります。これは、モーション ブラーされたシャドウ マップに似ています。この値は、セルごとに使用されるライト サンプルの数をコントロールします。

メモリ上限

最大メモリ: クラッシュを避ける為(Max Memory to Prevent Crash)

シェーダの調整中、メモリ上限に達してしまうことがよくあります。このパラメータはこうした状況に対応し、mental ray でレンダリングが停止してしまうのを回避します。ボリュームは低い設定でレンダリングされるようになり、赤色での表示によって、ユーザにメモリ上限に近づいていることを警告します。

メモリの使用量を減らす方法のヒントについては、「メモリ上限」を参照してください。

バウンディング ボックス

自動バウンディング ボックス(Auto Bounding Box)

シェーダは[マニュアルバウンディングボックス]の値を使用し、自動計算されたバウンディング ボックスでカットします。[マニュアルバウンディングボックス]の値を大きく設定している場合、このパラメータによって必要なサイズまで小さくなります。バウンディング ボックスのサイズが小さくなることはありますが、大きくなることはありません。

マニュアルバウンディングボックス(Manual BBox)

パーティクル ボリュームがレンダリングされるバウンディング ボックスを定義できます。たとえば、メモリ使用量を減らすために、小さなバウンディング ボックスを使用することなどができます。

カメラ座標を使用(Use Camera Coordinates)

[マニュアルバウンディングボックス]を選択すると、バウンディング ボックスをカメラを基準にして定義できます。

[最小/最大](Min/Max):

  • X 軸は左から右

  • Y 軸は上から下

  • 負の Z 軸はカメラの後ろ、正の Z 軸はカメラの正面

ボリュームがカメラの後ろにある場合や、ビュー エリアにシャドウを投射していないイメージの外側左にある場合、そのボリュームをクリップして取り除くだけでメモリを節約できます。

プレビュー

このページのオプションのみを使用して、このシェーダのエフェクトをプレビューできます。これによって、トラブルシューティングを行うときに、さまざまなオプションを切り離して最適化することができるので便利です。ただし、最終的なレンダリングでは、他のプロパティ ページの「実際の」設定が使用されます。

プレビュー モード

プレビュー モード(Preview Mode)

プレビュー モードでは、ルックアップ テーブルとレイの長さを調整することによって、簡単に合計レンダリング時間を切り替えることができます。ルックアップ テーブルをレンダリングして調整したり、スライスのボリュームをレンダリングしてテクスチャを確認したりすることもできます。

プレビューが終わり、最終レンダリングの準備ができたら、このオプションの選択を解除します。

レンダ領域のみでプレビューを使用(Use Preview for Render Region Only)

プレビューはレンダ領域でのみ使用されますが、最終パス レンダリングでは使用されません。

シーンの他のオブジェクトをシェーディングしている場合は、ボリュームが時間をかけてレンダリングされているのを待つことは望ましくありません。ただし、ボリュームがシーンの外観を完全に変えてしまう場合(また、ボリュームをオンに戻すのを忘れてしまいそうな場合)は、ボリュームを非表示にしないでおくこともできます。

このオプションを選択するのは、作業中にシーンにボリュームを残したまま、レンダ領域でレンダリングする場合です。

ルックアップ テーブル

削減(Reduce)

セルの幅を大きくすることにより、セルの数を少なくします。セル幅は、X2、X3、X4、X5、または X10 の倍数で大きくします。

ルックアップ テーブルのレンダリング(Render Lookup Table)

シェーダはルックアップ テーブルのみをレンダリングし、それ以上のディテールはレンダリングしません。これはテーブルの調整に便利です。

セルのディテール レベル表示(Show Cells Detail Level)

ルックアップ テーブルは診断カラーでレンダリングされ、使用されているマーチング サブディビジョン値を表示します。

サブディビジョン = 0: ダーク グレー、1: 青、2: 赤、3: 緑

高速セルシャドウ(Fast Cell Shadows)

単一のシャドウ レイに大きなセル サイズを使用して、シャドウをより高速に作成します。

有効/無効

レンダリングする各オプションを選択します:[イルミネーション]、[シェーディング]、[スペキュラ]、[アンビエントオクルージョン]、[スキャッター]

選択されていないオプションは、シェーダによってその特徴がレンダリングされません。

スライス

スライス パラメータの設定に関するヒントについては、「パーティクル ボリューム クラウド」を参照してください。

スライス(Slices)

ボリュームを平行な平面としてレンダリングするための軸を選択します:[X でスライス]、[Y でスライス]、[Z でスライス]

スライスの数(Number of Slices)

レンダリングされるスライスの数を定義します。

密度(Density)

スライスの密度。

透明なエッジ(Transparent Edge)

各スライスが、指定した密度で背景上に構成されます。

このオプションがオフの場合は、スライスの範囲を確認するために、各スライスは黒の上に構成されます。

カラー(Color)

スライスのカラー。[座標](XYZ = RGB)または入力テクスチャ([アンビエント]、[ディフューズ]、[スペキュラ]、[ファイナルギャザリング]、[歪曲])を選択できます。

Framebuffer

このシェーダの一部のカラー チャンネルをフレームバッファにレンダリングすることができます。フレームバッファはレンダリングしたピクセル データの格納に使用され、次にバッファの内容がイメージ ファイルに出力され、プログラムの合成で使用することができます。フレームバッファ全般の詳細については、「レンダ チャンネルとフレームバッファ」を参照してください。

これらのオプションのいずれかで[メインバッファ内無し](Not in Main Buffer)を選択すると、そのチャンネルはフレーム バッファ内のみでレンダリングされ、メインのイメージ内ではレンダリングされません。

アンビエント(Ambient)

カラー」を参照してください。

イルミネーション(Illumination)

イルミネーション」を参照してください。

スペキュラ(Specular)

イルミネーション」を参照してください。

散乱(Scattering)

イルミネーション」を参照してください。

ファイナル ギャザリング(Final Gathering)

ファイナル ギャザリング」を参照してください。

距離(Distance)

カメラからの最短距離と最長距離。

モーション(Motion)

シーンピクセルで表した最大モーション。このフレームバッファを使用して、プログラムの合成時にモーション ブラーで使用できるモーション ベクトル データを出力します。

アンビエント オクルージョン(Ambient Occlusion)

アンビエント オクルージョン」を参照してください。

アンビエント2(Ambient2)

2 つ目のカラーをレンダリングする場合に、これが 2 つ目のアンビエント入力になります。そのカラーをここで設定できます。

法線(Normal)

[法線シェーディング]を使用する場合は、法線をフレーム バッファにレンダリングして、ポストライティングを行うこともできます。

法線シェーディング」を参照してください。

ファイナル ギャザリング

ファイナル ギャザリングは、フォトン エネルギーを使用せずに間接イルミネーションを計算する手段です。ライトのレイ キャストを使ってイルミネーションを計算する代わりに、ファイナル ギャザリングではオブジェクト サーフェイス上の各発光ポイントから発せられるレイ キャストを使用します。このレイを各ポイントの上の半球のサンプリングに使用し、レイが当たる対象物に応じてイルミネーションを直接的および間接的に計算します。

注:ファイナルギャザリングとボリュームシェーダを組み合わせると、レンダのアーティファクトが発生する場合があります。

ファイナル ギャザリングをキャスト

FGのキャスト(Cast FG)

このオプションを選択すると、パーティクル ボリュームがファイナル ギャザリングのカラーで周囲のオブジェクトを照らすようになります。

FG キャスト カラー(FG Cast Color)

ファイナル ギャザリングを照らすために使用されるカラー。

キャスト強度(Cast Intensity)

このパーティクル ボリュームから投射されるファイナル ギャザリングの強度を設定します。

  • [FG キャスト カラー](FG Cast color): FG キャスト カラーの強度。

  • [イルミネーション](Illumination): すべての光からパーティクルボリュームへの直接イルミネーション。

ファイナル ギャザリングを受ける

ファイナル ギャザリング レイのマーチング ステップ サイズを設定します。

FG シェーディングを受ける(Receive FG Shading)

このオプションを選択すると、パーティクル ボリュームがファイナル ギャザリングのカラーで照らされるようになります。

FG 受光カラー(放射)(FG Receive Color (Radiance))

パーティクル ボリュームが受け取るファイナル ギャザリング イルミネーションを調整します。

FG 用の入力法線を取得(密度入力シェーダ)(Get Input Normal for FG (Density input shader))

このシェーダの[Density]ポートに接続されているシェーダ(パーティクル密度など)からのファイナル ギャザリングに通常の情報を使用します。

2 面 FG(Double-Sided FG)

パーティクル ボリュームが、正面および背面の両方から FG イルミネーションを確認します。

バック フェイス 強度(Back Face Intensity)

反対側からの FG レイによってパーティクル ボリュームがどの程度照らされるかを決定します(法線の反転)。

シャドウ

シャドウ

外側のシャドウにイルミネーション ライトを使用(Use Illumination Light List for Exterior Shadows)

パーティクル ボリュームは、イルミネーション リストにあるライトのみのシャドウを投射します。これによって、特定のライトのシャドウを取り除くことができます。

内側/自己遮へい(Interior/Self shadow)

内側のシャドウは、パーティクル ボリューム内部でレンダリングされるシャドウです。この設定により、ボリュームのサンプル ポイントにあるシャドウの計算方法が変わります。

  • [All light rays]: シェーダは、シャドウを計算するためにライト レイをすべて使用します。

  • [1 つのシングルシャドウレイ(より高速なエリアライト)](One Single Shadow Ray): シェーダは 1 つのレイをライトの方向に向けてパーティクル ボリュームの外面に投射し、自己遮へいを計算します(各ライトに 1 つのレイ)。続けて、ボリュームの外側のサーフェイスに当たるライトが追加されます。このモードにより、レンダリング エリアのライトが高速になります。

    注: このオプションでは、シャドウがライトに対して有効になっているかどうかを無視し、常に自己遮へいを使用します。

シャドウ彩度(Shadow Saturation)

シャドウの彩度を変更します。

  • 0.0: シャドウは密度のみの影響を受け、カラーの影響は受けません。

  • 0.5: シャドウに少量のパーティクル ボリューム カラーが追加されます。

  • 1.0: シャドウは完全にパーティクル ボリューム カラーの影響を受けます。

シャドウ カラーの調整(Adjust Shadow Color)

シャドウ カラーを調整します。

デフォルトのシャドウ レイ

シャドウ テーブル

テーブルが補間されたシャドウ テーブル

     

Render Tree の使い方

パーティクル ボリューム クラウド シェーダはパーティクル ボリューム エフェクトを作成するためのベースとなるシェーダです。ただし、ボリューム内で各パーティクルにシェイプを与えるために、これとともにパーティクル密度シェーダを使用する必要があります。

1

[Particle Volume Cloud]シェーダのボリューム出力を、[Material]ノードの[Volume]ポートに接続します。

2

[Particle Density]シェーダを[Density]ポートに接続します。このシェーダはボリューム内の各パーティクルを定義するため、ポイント クラウドは容積と質量を持った 1 つの物体には見えません。

3

[Fractal Scalar]シェーダまたは[Cell Scalar]シェーダを[Particle Density]シェーダに接続して、密度にノイズを追加します。より現実的または複雑な煙のエフェクトを作成するには、フラクタル スカラ シェーダを 2 つ使用したり、フラクタル シェーダとセルスカラ シェーダを組み合わせたりします。

4

[Particle Gradient]シェーダを[Particle Density]シェーダに接続し、グルーバル カラーやグローバル密度でグラディエントを使用することもできます。

このシェーダを使ってカラーを定義する場合、[Particle Density]の[Color]出力を、[Particle Volume Cloud]の 1 つまたは複数の[Color]ポート([Diffuse Color]など)に接続する必要があります。

[Particle Volume Cloud]シェーダを使用する場合の基本的なワークフロー

[Particle Volume Cloud]シェーダのプロパティ エディタを開き、次のガイドラインに従ってセットアップを行います。

  1. 最初に、[密度入力]を指定します(「密度」を参照)。[Particle Density]シェーダを[Particle Volume Cloud]シェーダの[Density]ポートに接続します。

    また、[Fractal Scalar]シェーダを[Particle Density]シェーダに接続して、密度にノイズを追加することもできます。

  2. この時点ではカラーについては気にしなくて構いませんが、[アンビエンス]を白にしておきます(「カラー」を参照)。

  3. ルックアップ テーブルをパーティクルのサイズに適切な値に設定する必要があります(「ルックアップ テーブル」を参照)。

    たとえば、パーティクルのサイズが 0.5 単位の場合で、パーティクルが空間で分離するときは、[セルサイズ]をあまり大きな値に設定しないでください。セル サイズを大きくすると、ルックアップ テーブルでディテール(空間内の単一のパーティクル)が見逃された場合、ブロックがレンダリングされないことがあります。

    ただし、設定値が小さすぎてもいけません。パーティクルのサイズが 10 の場合、セルサイズを 0.5 に設定しないでください。セルのサイズを小さくすると、レンダリング時間が長くなります。最初はこれを回避するようにします。

    [Particle Volume Cloud]シェーダに慣れたら、ルックアップ テーブルの開始値として適当な値が分かるようになるでしょう。

    ヒント:パーティクルのサイズまたはシェイプを変更した場合、またはクラウドのイルミネーションを変更した場合は、ルックアップ テーブルを調整するのを忘れないようにしてください。
  4. ルックアップ テーブルに当てはまるルールは、マーチング ステップのサイズ(「マーチング」を参照)にも当てはまります。

    既定値を使用する場合は[シンプルモード]オプションを選択したままにできますが、調整を行う場合は[シンプルモード]オプションの選択を解除します。

    [最大適用サブディビジョン]については、多少のノイズを作成する値を使用します。値が大きすぎると、エフェクトに十分なディテールが適用されません。ただし、値が小さすぎると、レンダリング時間が長くなり過ぎます。

    パーティクルのサイズまたはシェイプを変更した場合は、マーチング ステップを調整する必要があります。

    シェイプとカラーの設定(Setting the Shape and Color)

  5. 密度入力に戻ります。ここでボリュームを確認すると分かるように、一部の入力シェーダ/パーティクル属性および密度スライダが変更されています。

    • 密度入力としてフラクタル シェーダを使用する場合、最初はアンビエント テクスチャとして使用すると便利なことがよくあります。

    • テクスチャを見てください。特にパーティクルを形成する場合、最初にノイズのサイズを感覚的につかむ必要があります。

    • 手始めに、ノイズのコントラストを大きくします。これによって、ノイズ シェイプを確認しやすくなります。

  6. [イルミネーション](「カラー」を参照): ボリュームの大まかなシェイプを確認し、白のアンビエント ライトでレンダリングしたら、イルミネーションを有効にして、シェーディング対象クラウドのワークフローをより快適にすることができます。

    • [アンビエンス]カラーを各 RGB 値で 0.2 に減らします。

    • [イルミネーション]オプションを選択します。

    • [イルミネーションライト]リスト(「シェーディング」を参照)にライトを追加します。上からの単純なディレクショナル ライトがよいでしょう。

    • ライトの[シャドウ]を有効にし、シャドウの[影]を黒に設定します。

    スライス]モード(Slices Mode)

  7. 特にクラウドのシェイプを調整しようとしている場合、[スライス]モード(「プレビュー」を参照)を使用すると便利なことがあります。次の画像をヒントに、さまざまな[スライス]モードを試してみてください。

    次の例は、パーティクルを通るスライスです。パーティクルの密度入力シェイプにはフラクタルが使用されています。フラクタルの最初の値は 1 のままで、2 番目の値が次の画像に示すように調整されています。

           

    2 番目の値 = 1.0(シェイプに影響なし)

    2 番目の値 = 0.5

    2 番目の値 = 0.0

    2 番目の値 = -0.5

    ルックアップテーブルの設定(Setting the Lookup Table)

  8. このセクションに示されているようにルックアップ テーブルをセットアップします。

    ルックアップ テーブルのパラメータの詳細については、「ルックアップ テーブル」を参照してください。

[セルサイズ]: ボリューム シェイプ全体を対象とする

ルックアップ テーブルは、ボリューム オブジェクトの解像度が低くなったものです。オブジェクトのシェイプ全体を対象とする必要がありますが、ディテールは必要ありません。ディテールは入力テクスチャによって追加されます。

シェイプ全体を対象としない場合、ボリュームの一部が無視されない可能性があります。

  • [プレビューモード](「プレビュー」を参照)を有効にし、[ルックアップテーブル]の[削減]の値を[---]に設定して、[ルックアップテーブルのレンダ]オプションを選択します。

  • [セルの補間](「ルックアップ テーブル」を参照)を[補間無し]に設定します。これにより、セルのサイズをはっきりと確認できます。

  • 次に、[セルの補間]を[リニア]に変更します。

       

A. クラウドの最終レンダ(この画像では[ルックアップテーブルのレンダ]はありません)

B. セル サイズが大きすぎる: 正確なシェイプは実際に認識可能ではありません。ボリュームの 2 つの「腕」がほとんど消えています。

C. 正確なセルサイズ: ボリュームのシェイプは認識可能ですが、これはシェイプのみにあてはまります。シャドウについては、次のセクションを参照してください。

D. セルが小さすぎる: ボリュームの周縁でもテクスチャを表示することができます。

[セルサイズ]: シャドウ全体を対象とする

ルックアップ テーブルには、クラウド全体のイルミネーション/シャドウ情報が保持されています。ボリュームにシャドウを落とす他の薄いオブジェクトまたはボリューム自体の小さなディテールから発生した小さなシャドウがある場合は、イルミネーションがちらつくことがあります。

ここで上の画像を見てみましょう。画像 C はシェイプに関しては適切でしたが、シャドウに関しては非常にハードで、ボリュームのエッジはくっきりしており、小さなディテールは既にシャドウを落としています。

右上の離れた小さなパーティクルはメインのパーティクル クラスタにシャドウを落としていますが、画像 C ではシャドウはほとんど消えており、大きなブラーがかかっています。これは間違いなくちらつきを発生させます。この場合、最終レンダのセル サイズは画像 C と D の間にする必要があります。

テーブルの線が表示されている限り(テーブルのみをレンダリングする場合)、恐らくアニメーションでちらつきが発生するでしょう。キュービック補間を使用し、セル サイズを小さくするか、イルミネーションのセルごとに複数のサンプルを使用してみてください。

キュービック補間

密度が中程度のパーティクルの場合、すべてのシャドウ ディテールを捕らえるのに十分な解像度がルックアップ テーブルにあるにも関わらず、ルックアップ テーブルの線が見えることがあります。

次の画像を見てください。ボリュームの中に入り込む青い線をたどっていくと、クラウドのイルミネーションの内側にも線が見えるでしょう。

[キュービック補間]を選択すると、線は消えます。

セルごとに複数のサンプル

通常、密度、カラー、イルミネーションでセルを満たすために使用されるのは、1 つのサンプルです。しかし、非常に薄い密度テクスチャの場合、このサンプルがテクスチャを逃す可能性があります。その結果、3 次元の(キュービックな)穴が開くことがあります(次の画像を参照)。

非常に小さくハードなコントラストを持つ密度テクスチャの場合、この領域の平均カラーがグレーであっても、サンプルがテクスチャ上の小さな白いポイントをヒットする可能性があります。その結果、ルックアップ テーブルのアルファでちらつきが発生します。

この問題を解消するには、セルごとに複数のサンプルを使用します([マーチング]ページで[シンプルモード](Simple Mode)オプションの選択を解除し、必要なパラメータを表示します。「マーチング」を参照)。

メモリ上限

シェーダには、ルックアップ テーブルの[メモリ上限]設定があります(「ルックアップ テーブル」を参照)。この上限がないと、あっという間にこのシェーダが少数の GB のメモリを占有することになります。その結果、レンダで mental ray を使用できなくなってしまいます。

シーケンスの動作が不適切になるので(フレーム間でちらつくルックアップ テーブルなど)、ルックアップ テーブルの自動縮小は不可能です。

メモリ上限に達すると、シェーダからログ ファイルに、テーブルが何 MB のメモリを占有しているかを通知する警告メッセージが発行されます。

レンダリングするたびにログを確認することは恐らくないでしょうし、ファーム レンダリングされたシーケンスでは単一のフレームなのでログを確認できないため、シェーダはルックアップ テーブルを 20 x 20 x 20 に縮小し、ボリュームを赤色に変えます。赤色のボリュームは基本的に、シェーダを現在の設定のままにするとメモリをすべて消費してしまうという警告です。

ここで、使用されるメモリを小さくするための手順を説明します。

  • セル サイズの縮小: これが最初の手順です。前述したセル サイズに関するヒントを参照してください。ちらつきが発生する場合は、セルごとに複数のサンプルを使用してみてください(密度とイルミネーション)。

すべての方向でセル サイズを小さくできない場合は、1 つの軸だけで小さくしてみてください。たとえば、ライトが上から照射される場合は、上から下の方向により多くのシャドウ ディテールが必要です。

  • セル サイズのアニメート: クローズアップしてみたところ、質の高いシャドウが必要だけれど、別のフレームに合計ボリュームが表示される、ということはないでしょうか。[セルサイズ]の値をアニメートしてみてください。

  • [メモリ上限]の値を増やします(既定では 1250 MB)。

  • 機能の無効化: ルックアップ テーブルでは、有効にしている機能に応じて占有するメモリの量が異なります。

     

    [イルミネーション]と[アンビエントオクルージョン]

    +14%

    法線シェーディング、メイン ライトのみ

    +43%

    法線シェーディング

    +86%

    散乱

  • パーティクル ボリューム サイズの縮小: パーティクルの一部をレンダリングしているだけの場合でも、放出したパーティクルが消滅するまでシーン全体を飛び回っていることがよくあります。パーティクルがカメラの前を通り過ぎた後にこれらのパーティクルを消滅させる障害物を使用すれば、多くのメモリを節約できます(ビュー エリアの外からくるシャドウや反射を検討してください)。

  • 自動バウンディング ボックスとマニュアル バウンディング ボックスの組み合わせ: 多くのパーティクルが見えない場合(自分がカメラの後ろにいる場合など)、レンダリングにパーティクル オブジェクト全体を含める必要はありません。マニュアル バウンディング ボックスを使用すると、パーティクル オブジェクトの自動バウンディング ボックスを制限できます。たとえば、[マニュアルバウンディングボックス]オプションと[カメラ座標を使用]オプションを選択し、最小と最大のバウンディング ボックス サイズを負の Z 方向(カメラの後ろ)に制限します。

  • 軸に並列したボリューム: ルックアップ テーブルは軸に並列しています。パーティクル ストリームが斜めに動く場合、空の領域で多くのセルを無駄にすることがあります。そのような場合は、シーンのワールド(カメラ、ライト、エミッタ、フォース)を回転させるか、パーティクル オブジェクトを回転させます。

テーブルへの切り替え

密度が高く高品質なボリューム構造では、ごくまれにルックアップ テーブルが表示される場合があります(次の最初の画像を参照)。

この問題を解決するには、[マーチング]ページで[シンプルモード](Simple Mode)オプションの選択を解除します。

続けて、[入力テクスチャを評価するのはボリューム密度が下で設定する値の場合のみ](Evaluate input textures only if volume density is between)パラメータの[最大]の値を大きくします。