On this page | |
Since | 18.5 |
概要 ¶
このシェーダを使用することで、煙、炎、爆発のシミュレーションまたはプロシージャルに生成されたボリュームのリアルなレンダリング結果を生成することができます。
Smoke(煙)とEmission(発光) ¶
これら2つのコンポーネントを組み合わせて、最終的なボリュームレンダリングを構成します。 煙突の煙、塵雲、その他の全般的な煙要素といった一部のレンダリングでは、煙をシェーディングするだけで済みます。 Smoke(煙)は、主に密度とカラーで制御します。 その一方でEmission(発光)は、炎から放出される光の全体的な強度とカラーを制御します。
これらの各コンポーネントは、作業内容によってボリュームが異なります。
通常ではdensity
ボリュームは煙コンポーネントにバインドし、 Smoke タブのパラメータでその結果のルックを制御します。
このシェーダでは最大3個の発光要素を使用することができます: Scatter, Fire , Secondary Fire 。
Scatter はPyro Bake Volume SOPで生成されたscatter
ボリュームを使用します。このscatter
ボリュームでは内部散乱の効果を事前にベイクしておくことができます。
この散乱は本当の挙動を近似処理したものですが、この手法の方がボリュームライトと多数のボリュームバウンスを使用するよりもレンダリング負荷がはるかに軽いです。
さらに、ルックをもっとアート志向で制御しやすくなります。
Fire と Secondary Fire には、Pyro Shader - Classicの頃のような従来のコントロールセットが用意されています。 特に、これらの発光要素には Intensity フィールドと Color フィールドが必要で、それぞれのフィールドは放出される光の量とカラーを制御します。 Scatter と同様で、 Fire でも他のボリュームでマスクすることができます。
Tip
どの範囲設定でも、それぞれのバインドされたボリュームの値の範囲を考慮してください。 Export タブの Compute Min/Max Values が有効になっている場合、Pyro Solverは、それぞれエクスポートされるボリュームの最小値と最大値をPrimitiveアトリビュートに書き込みます。
Emissionマスク ¶
Pyro Shaderには、 Scatter と Fire を他のフィールドでマスクする機能があります。
デフォルトでは、mask
フィールドにdensity
が設定されていて、density
が高い領域内の発光を減らす効果があります。
マスクは、煤煙に焦げ焦げなディテールを取り入れることができるので、特に爆発のレンダリングで役立ちます。
正しく使用すると、ボリュームの内部が白熱して、煙の隙間から白熱が垣間見えるようになります。
以下の画像は、Smoke、Scatter、Scatter Mask、それらを最終的に合成した画像を示しています。
Scatter, Fire, Secondary Fire ¶
使用可能なこれら3個の発光コンポーネントは最終レンダリングで一緒に合成されますが、これらはどれも用途が異なります。
-
Scatter は主に爆発内部での光の散乱を模倣するために使用し、Pyro Bake Volumeで生成可能な特別な
scatter
ボリュームに依存します。SmokeとScatter(左) 対 Smokeのみ(右):
-
Fire は炎や火炎のシェーディングに使用することができます。デフォルトでは、発光の強度とカラーのどちらにも
temperature
ボリュームを使用します。このコンポーネントにマスクを適用することも可能です。SmokeとFire(左) 対 Smokeのみ(右):
-
Secondary fire は主にPyro Trail Sourceで生成された軌道の先端に火を付けるのに使用します。このコンポーネントにマスクすることはできませんが、それ以外は考え方としては Fire と同じです。
SmokeとSecondary Fire(左) 対 Smokeのみ(右):
Pyro Shaderの扱い方 ¶
To... | Do this |
---|---|
|
|
ボリューム内部での光の散乱の挙動に基づいて煙のカラーを変更する |
Absorption Color を変更します。
よりリアルなルックの煙には、 |
他のボリュームを使って煙の密度をスケールさせる |
|
パラメータ ¶
Smoke ¶
Enable Smoke
ボリュームの煙の部分を有効にします。 煙は、その中を通過する光を吸収して減衰させます。 Smoke Volume を使用して、煙の密度を記録したボリュームを指定します。
Density Scale
煙の全体的な密度を制御します。 この値を上げると、煙の見た目がもっと濃くなります。 この値を下げると、煙の不透明度が下がります。
Density Range
煙の密度をスケールする際に評価される Density Ramp の横軸範囲を指定します。
このパラメータは、 Density Scale の隣にあるメニューが Use Ramp に設定されている時に利用可能です。
Density Ramp
煙の密度をどのようにリマップするか制御します。 このランプの横軸が Density Range になっています。
このパラメータは、 Density Scale の隣にあるメニューが Use Ramp に設定されている時に利用可能です。
Use Control Volume
有効にすると、煙の密度が Density Control Volume の影響を受けます。 特に、このDensity Control Volumeの値は、 Control Range から Density Scale にマッピングされてから、煙の密度と乗算されます。
デフォルトの設定だと、temperature
ボリュームが0
の箇所の煙の密度は変わりません。
temperature
値が1
に近づくと、煙の密度が濃くなります。
temperature
値が1
以上になると煙の密度が2倍になります。
これは、Emissionマスクを使用した時にもっとディテールを引き出すのに役立ちます。
Control Range
Density Control Volume 値がこの範囲から Density Scale にリマップされてから、その結果が煙の密度と乗算されます。 マッピングを制御したいのであれば、この右側にあるメニューを Use Ramp に設定します。 このメニューを Constant に設定すると、マッピングはリニアになります。
Density Scale
Density Control Volumeによって密度に適用可能な乗数の範囲を制御します。
Control Ramp
Density Control Volume値をどのようにDensity Scaleにマッピングするか制御します。 このランプの横軸と縦軸は、それぞれ Control Range と Density Scale になっています。
このパラメータは、 Control Range の隣にあるメニューが Use Ramp に設定されている時に利用可能です。
Smoke Brightness
煙の全体的な明るさを制御します。 この値は、煙のカラーに対する乗数として作用します。 この値を上げると、煙がもっと明るくなります。
Smoke Color
煙の全体的なカラーを制御します。 より自然に見える煙を得るには、このパラメータの右側にあるメニューで Constant から Use Ramp に変更します。 これによって、煙のカラーを密度で可変させることができます。
Density Range
Smoke Color Ramp の左端と右端にマッピングする最小密度値と最大密度値。
Smoke Color Ramp
このランプは、煙の密度値をカラーにマッピングする方法を制御します。 この Smoke Color Ramp の横軸が Density Range になっています。 例えば、このランプを使用することで、煙が濃くなる箇所をもっと暗いカラーにすることができます。
Absorption Color
光がボリュームを通過する時に吸収されるカラー。
Shadow Color
ボリュームから落とされるシャドウのカラー。 このパラメータの右側にあるメニューを Constant から Use Ramp に変更することで、煙の密度に基づいてシャドウのカラーを変更することができます。
Shadow Density
この乗数は、ボリュームをライティングした時に Density Scale に適用されます。 この値を上げると、ビューアに煙の不透明度の影響を与えることなく、ボリュームを貫通する光を減らします。 この値を下げると、煙の不透明度の見え方を変えることなく光の吸収を減らします。
Density Range
Shadow Color Ramp の左端と右端にマッピングする最小密度値と最大密度値。
Shadow Color Ramp
煙の密度値をどのようにShadow Colorにマッピングするか制御します。 このランプの横軸は Density Range になっています。
Color with Cd Volume
有効にすると、Cd
カラーボリュームが存在した場合に、 Smoke Color パラメータで設定された煙のカラーがそのCd
カラーボリュームと乗算されて、最終的な煙のカラーが取得されます。
Use Alpha for Color Blending
有効にすると、 Smoke Color とCd
ボリューム間をブレンドするのにAlpha
ボリュームが代わりに使用されます。
Alphaボリュームの値が1
の箇所ではCd
ボリュームのカラーが使用され、0
の箇所では Smoke Color で設定されたカラーが使用されます。
このチェックボックスを無効にすると、煙のカラーは、代わりに Smoke Color とCd
ボリュームの値を乗算したカラーになります。
Scattering Phase
ボリュームに入射して散乱する光の方向を制御します。デフォルトの0
だと、光が全方向に均一に散乱します(等方性散乱)。
最大1
までのプラス値ほど、入射光と同じ方向に散乱し、-1
までのマイナスほど後方に散乱します。
このパラメータの右側にあるメニューを使用することで、( Phase Control Volume にバインドされた)コントロールボリュームに基づいて位相を変更することができます。
Control Range
このパラメータは、 Scattering Phase と併用して、 Phase Control Volume から有効な散乱位相へのマッピングを制御します。 この範囲の1番目の値が Scattering Phase の1番目の値にマッピングされ、2番目の値も同様です。
Scattering Phase
このパラメータは、 Control Range と併用して、 Phase Control Volume から有効な散乱位相へのマッピングを制御します。 Control Range の1番目の値がこのパラメータの1番目の値にマッピングされ、2番目の値も同様です。
Scatter ¶
Enable Scatter
ボリュームの発光部分の散乱を有効にします。 これは爆発のシェーディングに使用します。 これは、レンダリングでも使用される Scatter Volume を生成します。 Source Volume を使用して、この発光を制御するボリュームを指定します。
Enable Scatterを無効(右)または有効(左)にした場合のビューポートの爆発( Enable Mask を無効にしています)。
Intensity Scale
散乱の発光強度を設定します。 この値を上げると散乱が明るくなります。
Hot Core Scale
散乱の輝度が明るい箇所における散乱の発光強度をスケールします。 爆発が時間の経過とともにフェードアウトしていくにつれて、散乱値の輝度も時間の経過とともに減少するので、このパラメータが非常に大きな値でも、このパラメータの効果が弱くなっていくのが確認できます。 爆発の開始時に爆発の明るさを上げるのは良い考えです。 Hot Core Scale の値を上げると、爆発の割れ目が明るくなります。
Tint with Smoke Color
散乱の発光カラーを( Smoke Color で設定された)煙のカラーで乗算します。 これによって、散乱のカラーを煙と上手くブレンドさせることができます。
Tint Strength
散乱の発光カラーを( Smoke Color で設定された)煙のカラーにどれだけの強度で混ぜるのか設定します。
Enable Color Correction
scatter
ボリュームのカラーは、既にベイクされているPyro Bake Volumeを使用して計算されます。
これを有効にすると、そのscatter
ボリュームにカラー補正処理を施すことができます。
Gamma
入力カラーの全体的なガンマをシフトします。1
は変更なしです。
1
未満の値はカラー値を下げ、1
より大きい値はカラー値を上げます。
Gain
入力カラーのRGBチャンネルのゲインを増減します。
Enable Mask
閾値範囲を使って Mask Volume に基づいて発光をマスクします。
Mask Center と Mask Width がそのマスク範囲を制御します。
デフォルトでは、mask
ボリュームがこの範囲の最小値と最大値の箇所において、それぞれ追加発光乗数が1
と0
になります。
mask
値が大きい領域の発光が弱くなります。
マスクは、爆発の焦げ目の付いたディテールを引き出すのに役立ちます。
マスクなし(右)とマスクあり(左)の散乱。
Mask Center
Mask Width と併用して、このパラメータは、発光のマスクに使用される値の範囲を制御します。
mask
値の有効範囲は、Mask Center - Mask Width * 0.5
からMask Center + Mask Width * 0.5
までです。
このパラメータに低い値を設定すると、より多くの発光がマスクされ、爆発があまり明るく白熱しなくなります。
このパラメータに高い値を設定すると、ボリュームが内部で白熱するようになり、この白熱が煙の隙間から垣間見えるようになります。
以下の動画では、 Mask Width を固定にしたまま、このパラメータを上げた効果を示しています。
Mask Width
Mask Center と併用して、発光のマスクに使用される値の範囲を制御します。
mask
値の有効範囲は、Mask Center - Mask Width * 0.5
からMask Center + Mask Width * 0.5
までです。
Falloff Attenuation
Use Mask Ramp
ランプを使用して、( Mask Center と Mask Width で設定された)最小マスク閾値と最大マスク閾値の間での発光の変化の挙動を設定することができます。
Masking Ramp
( Mask Center と Mask Width で設定された)最小マスク値と最大マスク値の間での発光の変化の挙動を設定します。 白が完全発光で、黒が発光なしを意味します。
Note
デフォルトの白から黒のランプは、 Use Mask Ramp が無効な時とまったく同じ結果を生成します。
ランプが左から右に向かって白から黒に設定した場合:
ランプが左から右に向かって黒から白に設定した場合:
Tip
デフォルトの黒に対して赤チャンネルと緑チャンネルの値をごく少しだけ上げることで、発光に少し赤/オレンジがかった色を付けることができます。
Fire ¶
Enable Fire
2次発光コンポーネントを有効にします。 Fire は主に炎や火炎のタイプのシミュレーションで使用します。
Enable Fire を無効(右)または有効(左)にした場合のビューポートの炎シミュレーション( Enable Mask を無効にしています)。
Intensity Scale
炎の発光強度を設定します。 この値を上げると炎が明るくなります。 このパラメータの右側にあるメニューを Use Ramp に設定することで、この強度をリマップすることができます。
Source Range
Fire Intensity Ramp の左端と右端にマッピングする最小ソース値と最大ソース値。 ボリュームの発光部分を減らすには最小ソース値を上げます。
最小ソース値をゼロから上げることで、炎の領域が収縮します( Enable Mask を無効にしています)。
Fire Intensity Ramp
そのままの Intensity Volume 値を有効な強度にマッピングする方法を制御します。 このランプの横軸が Source Range になっています。
Color Mode
炎のカラーの計算方法を設定します。 Color Ramp は、 Fire Color Ramp を使用して、指定された Source Range からカラーをマッピングします。 白熱ブラックボディの温度に基づいてカラーを計算したいのであれば、 Physical Blackbody または Planck Backbody を選択します。
Note
Planck Blackbody は、計算されたカラーに発光パワーを組み込みます。
このパワーは、高温で急激にスケールするので、それを補正するために発光強度を下げる必要性が出てくる場合があります。
純粋に物理的なブラックボディを使用したいのであれば、発光強度を1
に設定し、そのIntensity Rampを一定の1
に設定します。
Source Range
Fire Color Ramp の左端と右端にマッピングする最小ソース値と最大ソース値。
Fire Color Ramp
Color Volume 値を発光カラーにマッピングする方法を制御します。 このランプの横軸が Source Range になっています。
Temperature Scale
Color Volume 値にスケールを適用した後の値がブラックボディカラーにマッピングされます。
Temperature at 0 (K)
入力値0.0
に相当する温度。この値の単位はKelvinです。
Temperature at 1 (K)
入力値1.0
に相当する温度。この値の単位はKelvinです。
Enable Tone Mapping
有効にすると、計算される Physical Blackbody カーブは Adaptation と Burn のパラメータを使用してリマップされます。
Adaptation
写真で影を露出する方法と同様に、生成された強度の低域の加減を調整します。
Burn
生成された強度の広域を制御します。
Enable Mask
閾値範囲を使って Mask Volume に基づいて発光をマスクします。
Mask Center と Mask Width がそのマスク範囲を制御します。
デフォルトでは、mask
ボリュームがこの範囲の最小値と最大値の箇所において、それぞれ追加発光乗数が1
と0
になります。
mask
値が大きい領域の発光が弱くなります。
マスクは、爆発の焦げ目の付いたディテールを引き出すのに役立ちます。
マスクなし(右)とマスクあり(左)の炎。
Mask Center
Mask Width と併用して、このパラメータは、発光のマスクに使用される値の範囲を制御します。
mask
値の有効範囲は、Mask Center - Mask Width * 0.5
からMask Center + Mask Width * 0.5
までです。
このパラメータに低い値を設定すると、より多くの発光がマスクされ、炎があまり明るく白熱しなくなります。
Mask Width
Mask Center と併用して、発光のマスクに使用される値の範囲を制御します。
mask
値の有効範囲は、Mask Center - Mask Width * 0.5
からMask Center + Mask Width * 0.5
までです。
Falloff Attenuation
Use Mask Ramp
ランプを使用して、( Mask Center と Mask Width で設定された)最小マスク閾値と最大マスク閾値の間での発光の変化の挙動を設定することができます。
Fire Ramp
( Mask Center と Mask Width で設定された)最小マスク値と最大マスク値の間での発光の変化の挙動を設定します。 白が完全発光で、黒が発光なしを意味します。
Note
デフォルトの白から黒のランプは、 Use Mask Ramp が無効な時とまったく同じ結果を生成します。
Secondary Fire ¶
Enable Second Fire
3次発光コンポーネントを有効にします。 Second Fire は爆発の白熱する軌道をセットアップするのに役立ちます。
このコンポーネントは、考え方としては1次の Fire と非常に似ています。 唯一の違いは、 Secondary Fire はマスクに対応していません。 そのため、このタブは Masking セクションがないことを除けば Fire と同じです。
Second Fire を無効(右)または有効(左)にした場合のビューポートの軌道。
Bindings ¶
Smoke Volume
煙として使用されるボリュームの名前。通常では、この名前をdensity
のままにしてください。
Density Control Volume
煙のdensity
値の変更に使用するコントロールボリューム。
Use Control Volume が有効になっていると、このボリュームが使用されます。tempearture
またはflame
を使用します。
Phase Control Volume
Scattering Phase を Use Ramp に設定すると、このボリュームの値を使用して空間的可変な散乱位相が決定されます。
Scatter Volume
散乱の発光カラーフィールド。 Pyro Bake Volume SOPを使用することで、このボリュームを生成することができます。
Mask Volume
散乱コンポーネントの発光をマスクするのに使用するボリュームを選択します。
これを Smoke に設定すると、マスクに Smoke Volume が使用されます。
それ以外の場合、 Custom Volume でmask
ボリュームを指定します。
Custom Volume
Mask Volume が Custom Volume に設定されている時、このボリュームが散乱の発光のマスクに使用されます。
Intensity Volume
炎の発光の強度に使用されるボリュームの名前。
Color Volume
炎の発光のカラーに使用されるボリュームの名前。
Mask Volume
炎コンポーネントの発光をマスクするのに使用するボリュームを選択します。
これを Smoke に設定すると、マスクに Smoke Volume が使用されます。
それ以外の場合、 Custom Volume でmask
ボリュームを指定します。
Custom Volume
Mask Volume が Custom Volume に設定されている時、このボリュームが炎の発光のマスクに使用されます。
Intensity Volume
2次の炎の発光の強度に使用されるボリュームの名前。
Color Volume
2次の炎の発光のカラーに使用されるボリュームの名前。
Exports ¶
Emission Output
出力する発光コンポーネントを設定します。 最終レンダリング結果を得たいのであれば、 All Combined を使用してください。 それ以外のオプションはデバッグ用途です。
Smoke
Update Nodes with Image Planes ボタンがクリックされた時に、( Mantra Nodes to Update で)選択されたMantraノードにこのExtra Image Planeの名前を設定します。 MantraノードでこのExtra Image Planeを無効にするには、このパラメータの左側にあるチェックボックスを無効にして、再度 Update Nodes with Image Planes をクリックしてください。
Scatter
Update Nodes with Image Planes ボタンがクリックされた時に、( Mantra Nodes to Update で)選択されたMantraノードにこのExtra Image Planeの名前を設定します。 MantraノードでこのExtra Image Planeを無効にするには、このパラメータの左側にあるチェックボックスを無効にして、再度 Update Nodes with Image Planes をクリックしてください。
Scatter Mask
Update Nodes with Image Planes ボタンがクリックされた時に、( Mantra Nodes to Update で)選択されたMantraノードにこのExtra Image Planeの名前を設定します。 MantraノードでこのExtra Image Planeを無効にするには、このパラメータの左側にあるチェックボックスを無効にして、再度 Update Nodes with Image Planes をクリックしてください。
Fire
Update Nodes with Image Planes ボタンがクリックされた時に、( Mantra Nodes to Update で)選択されたMantraノードにこのExtra Image Planeの名前を設定します。 MantraノードでこのExtra Image Planeを無効にするには、このパラメータの左側にあるチェックボックスを無効にして、再度 Update Nodes with Image Planes をクリックしてください。
Fire Mask
Update Nodes with Image Planes ボタンがクリックされた時に、( Mantra Nodes to Update で)選択されたMantraノードにこのExtra Image Planeの名前を設定します。 MantraノードでこのExtra Image Planeを無効にするには、このパラメータの左側にあるチェックボックスを無効にして、再度 Update Nodes with Image Planes をクリックしてください。
Second Fire
Update Nodes with Image Planes ボタンがクリックされた時に、( Mantra Nodes to Update で)選択されたMantraノードにこのExtra Image Planeの名前を設定します。 MantraノードでこのExtra Image Planeを無効にするには、このパラメータの左側にあるチェックボックスを無効にして、再度 Update Nodes with Image Planes をクリックしてください。
Mantra Nodes to Update
有効/無効にしたExtra Image Planeの名前に基づいて更新されるレンダーノードをスペースで区切ったリスト。
Update Nodes with Image Planes
このボタンをクリックすると、( Mantra Nodes to Update で)選択されたMantraノードに、設定した名前のExtra Image Planeが生成されます。
See also |