Gelatoマニュアル 日本語訳 Wiki
7. Lighting
最終更新:
e1-605265
-
view
サブセクション
・7.1 影
○7.1.1 デプスマップシャドウの綺麗なシャドウブラー
○7.1.2 レイトレースシャドウはどこにあるのか?
○7.1.3 ダイナミックシャドウマップ
○7.1.4 ボリュームシャドウ
○7.1.1 デプスマップシャドウの綺麗なシャドウブラー
○7.1.2 レイトレースシャドウはどこにあるのか?
○7.1.3 ダイナミックシャドウマップ
○7.1.4 ボリュームシャドウ
・7.4 コースティクス
・7.5 フォグライト
○7.5.1 スポットライトへのフォグライトの追加
○7.5.2 フォグライトの距離の調整
○7.5.3 フォグの密度と色
○7.5.4 ボリュームレンダーグローバルズ
・7.5 フォグライト
○7.5.1 スポットライトへのフォグライトの追加
○7.5.2 フォグライトの距離の調整
○7.5.3 フォグの密度と色
○7.5.4 ボリュームレンダーグローバルズ
7. ライティング
影を使用する際は、Mayaユーザーにかなり分かりやすくなければなりません。ユーザーが知っていなければならないトリックと罠があります。
デプスマップシャドウをぼやけさせるために、通常通りDmap Filter Sizeを使ってください。
エッジをきれいにするためGelatoへの正常なパラメータを入力することは、慎重を要する部分です。Gelatoでは、使う影サンプルの数を数えるためにShadow Raysパラメータを使用します。このパラメータは、ライトのRaytraced Shadow Attributesの下に位置します。デプスマップシャドウを調節するために、一時的にRaytraced Shadow Attributesの下でUse Ray Trace Shadowsをチェックしてください。Shadow Raysのパラメータを使いたい影サンプルの数に合わせてください。それから、Use Depth Map Shadowsをチェックしてください。たとえパラメータが灰色であるとしても、それはGelatoに通過されます。
もしUse Ray Trace Shadowsにチェックをつけてもレンダリングで影が全くないならば、レイトレーシングがオンにされていない可能性があります。Render Settingを開きGelato-Raytracing Qualityの下でUse Raytracingボックスがチェックされることを確認してください。レイトレースドシャドウが、出ているはずです。
照明ノードのシャドウの項目にあるUse Depth Map Shadowsがオン、Disk Based Dmapsがoffになっているならば、ディスクにデータを保存することなく、Gelatoは内部的にデプスマップを計算します。この場合、カメラの視界にダイシングとモザイクがかかる点に注意してください。これらの結果がまた、ダイナミックシャドウマップカメラの役に立つことが何かの理由で許容できないならば、Disk Based DmapsをOverwriteにセットしてください。
Volume shadow mapsは、細かったり小さいジオメトリ(例えば髪または毛皮)に関して、非常により高品質な影を使用します。
上記の例において、左のイメージは普通マップシャドウで、右のイメージはボリュームシャドウを使っています。
ボリュームシャドウを使用法
- あなたがAttribute Editorでlightを選択し、そのアトリビュートを変えてください。
- Attribute EditorのShadowsタブの下で、デプスマップシャドウがオンにされることを確認してください。通常のデプスマップシャドウと同様に、シャドウマップの解像度、フィルタサイズと他のパラメータを選んでください
- Attribute Editorに、Gelatoタブを開けて、その後Gelatoタブの下にあるShadowsサブメニューを開けてください。
そこで、ボリュームシャドウのコントロールを見ます。
シャドウマップをボリュームシャドウにするため、「Use Volume Shadows」をチェックします。
シャドウマップをボリュームシャドウにするため、「Use Volume Shadows」をチェックします。
- シャドウバイアスを増やす必要があります。Mayaのデフォルトである0.001は、普通のシャドウマップでは良いが、ボリュームシャドウのにはあまりに小さいです。自分のシャドウを用いた作品がイメージの中に残らないまで、段々より大きなバイアスの値で実験する必要があるかもしれません。
Use volume shadows
チェックすると、シャドウマップはボリュームシャドウを使用します。
Spatial quality
ボリュームシャドウマップを作るとき、ピクセルにつきどれくらいの小区域が使われるかについて制御します。普通のデプスマップシャドウが1ピクセルにつき1つのサンプルを使うだけであるが、ボリューム影マップはより多くを使用するでしょう。より高いサンプリング値は、ボリュームシャドウマップの品質を良くします。
Near Clip Plane
Far Clip Plane
このZ範囲の中にあるオブジェクトを考慮するようにshadowmap発生器に言ってください。
Z channels
どれくらいのz値がボリュームシャドウマップで各々のピクセルにたくわえられるかについて制御します。ほとんどの場合、3のデフォルトで充分です。
ボリュームデータ(髪、その他)に高くて複雑な深さプロフィールがあるならば、zチャンネルの値をより大きな数にしてとは品質を良くしてください。
増やすかもしれません。注意…ボリュームシャドウマップを作成するためのコストと、結果として生じるマップのサイズ両方は、zチャンネルの数と比例しています。
Opaque width
ボリュームシャドウマップのために、ピクセルにつき複数のサンプルが一つの出力ピクセルに結合されるとき、「the same object」と判断したピクセル中の、不透明なz値を越える深さ範囲に関する手がかりを与えます。それは、バイアスといくぶん類似しています;この数を増やすことは、不透明なオブジェクト誤って暗くなる傾向を除くに役立ちます。
チェックすると、シャドウマップはボリュームシャドウを使用します。
Spatial quality
ボリュームシャドウマップを作るとき、ピクセルにつきどれくらいの小区域が使われるかについて制御します。普通のデプスマップシャドウが1ピクセルにつき1つのサンプルを使うだけであるが、ボリューム影マップはより多くを使用するでしょう。より高いサンプリング値は、ボリュームシャドウマップの品質を良くします。
Near Clip Plane
Far Clip Plane
このZ範囲の中にあるオブジェクトを考慮するようにshadowmap発生器に言ってください。
Z channels
どれくらいのz値がボリュームシャドウマップで各々のピクセルにたくわえられるかについて制御します。ほとんどの場合、3のデフォルトで充分です。
ボリュームデータ(髪、その他)に高くて複雑な深さプロフィールがあるならば、zチャンネルの値をより大きな数にしてとは品質を良くしてください。
増やすかもしれません。注意…ボリュームシャドウマップを作成するためのコストと、結果として生じるマップのサイズ両方は、zチャンネルの数と比例しています。
Opaque width
ボリュームシャドウマップのために、ピクセルにつき複数のサンプルが一つの出力ピクセルに結合されるとき、「the same object」と判断したピクセル中の、不透明なz値を越える深さ範囲に関する手がかりを与えます。それは、バイアスといくぶん類似しています;この数を増やすことは、不透明なオブジェクト誤って暗くなる傾向を除くに役立ちます。
ボリュームシャドウが働く方法について、さらなる詳細のためにGelatoのTechnical Referenceの10.1.3を参照してください。
Maya(Gelatoもそれに関しては)の基本的な照明は、「直射的な照明」だけを占めます - つまり、光源とそこから見える点の間を直線を光は移動します。(おそらく、光を遮断しているオブジェクトの影を説明している)
Indirect illumination(または、global illuminationと呼ばれています)は、シーンの中でサーフェスの間で反射する光を云います。このさらなる光は現実の世界で非常に重要です。これはオブジェクトと光源が直線経路に存在しないときでさえ存在しますし、色が滲み出したり他の影響を及ぼします。間接照明光は直射的な照明だけよりかなり高価であるけれども、Gelatoは計算します。
Mangoの間接照明光は、Render Setting(以前呼んで「Render Globals」と呼ばれていました)から可能にされます。間接照明光を可能にするために、「Indirect Illumination」ボックスをチェックしてください。
それは、場面のためにレイトレーシングをつけるのにも必要です(Render Setting-Raytracing Quality;4.3参照)。レイトレーシングを場面につけないと、間接照明光は見えません。
間接照明光のためのいくつかのコントロールを利用できます
Indirect Illumination
この箱がチェックされる(そのうえレイトレーシングが場面のためにつけられている)とき、間接照明光は場面のために計算されます。
Spatial DB Name
キャッシュ間接的なサンプルに使われる空間データベースの名前を指定します。典型的Mangoユーザーは、決してこれを調節する必要はありません。
Indirect Intensity
間接照明光の明るさ。
Indirect Rays
Max Error
Max Pixel Dist
Min Interp Samples
間接照明光のための基本的な時間/品質規制は、2つの要因を含みます:与えられた位置で間接照明光を計算するためどれほどの数の光線サンプルが使われているか、間接照明光が完全に計算される中どのように終わるか。(位置が完全にそれを計算した近くの点を改変して引き出される中間者の間接照明光)
この箱がチェックされる(そのうえレイトレーシングが場面のためにつけられている)とき、間接照明光は場面のために計算されます。
Spatial DB Name
キャッシュ間接的なサンプルに使われる空間データベースの名前を指定します。典型的Mangoユーザーは、決してこれを調節する必要はありません。
Indirect Intensity
間接照明光の明るさ。
Indirect Rays
Max Error
Max Pixel Dist
Min Interp Samples
間接照明光のための基本的な時間/品質規制は、2つの要因を含みます:与えられた位置で間接照明光を計算するためどれほどの数の光線サンプルが使われているか、間接照明光が完全に計算される中どのように終わるか。(位置が完全にそれを計算した近くの点を改変して引き出される中間者の間接照明光)
間接光のアトリビュートは、間接照明光が完全に計算される際、光線サンプルがどれくらい使われるかについてを表します。より多くのサンプルは正確な結果に役立つが、より時間がかかります。
Max Errorのアトリビュートは、補間法によって可能にされる最大のエラーをコントロールします。最大のエラーが上回られるとき、新しい点は完全に補間されずに計算されます。このように、Max Errorが低い値をとるとより高品質のイメージを作るが、レンダリング時間が長くなります。
Max Pixel Distのアトリビュートは補間法のもう一つの制御です。そして完全な間接的な計算に対して、この距離(ピクセル単位で)よりもしばしば起こることを強います。このように、Max Errorが低い値をとるとより高品質のイメージを作るが、レンダリング時間が長くなります。
Min Interp Samplesは、補間法のために近くの完全に計算されたサンプルがどれくらい使われるかについて制御します。通常この値を調節する必要はありません。
Max Hit Dist
互いの距離(場面単位で)がこの値よりも遠い位置にあるオブジェクト間には間接照明光を送りません。すべてのオブジェクトが互いに間接照明光を適用させるために、この値を非常に大きくしておいてください。(デフォルトは、1000000です)
互いの距離(場面単位で)がこの値よりも遠い位置にあるオブジェクト間には間接照明光を送りません。すべてのオブジェクトが互いに間接照明光を適用させるために、この値を非常に大きくしておいてください。(デフォルトは、1000000です)
Bias
この距離より近いオブジェクト間には間接照明光を送らなくて、そのうえ間接照明光を遮断しません。これは小さな数の寛容性エラーのために、誤った「self-shadowing」を防ぐために役に立ちます。
この距離より近いオブジェクト間には間接照明光を送らなくて、そのうえ間接照明光を遮断しません。これは小さな数の寛容性エラーのために、誤った「self-shadowing」を防ぐために役に立ちます。
Falloff
Falloff Mode
デフォルト(そして、Falloffがゼロであるどんな時でも)によって、間接照明光は「距離で弱まりません」。それは物質的に正しいふるまいです。しかし、芸術的な理由のために、距離によって間接照明光の影響を減少させたいこともあるでしょう。Falloff Modeが「指数関数」ならば、それが急にMax Hit Distで離れて切れるまで、間接光は計算式によって減少します(rは距離)。Falloff Modeが「多項式である」ならば、間接光は計算式によって減少します。(Max Hit Dist}が0になるまでこのように滑らかに弱まる)。
Falloff Mode
デフォルト(そして、Falloffがゼロであるどんな時でも)によって、間接照明光は「距離で弱まりません」。それは物質的に正しいふるまいです。しかし、芸術的な理由のために、距離によって間接照明光の影響を減少させたいこともあるでしょう。Falloff Modeが「指数関数」ならば、それが急にMax Hit Distで離れて切れるまで、間接光は計算式によって減少します(rは距離)。Falloff Modeが「多項式である」ならば、間接光は計算式によって減少します。(Max Hit Dist}が0になるまでこのように滑らかに弱まる)。
周囲の閉塞は、点が「影」の場所がいくつあるかを見る、影がつけられた互いのポイントを覆う半球をテストする間接照明光に近いものです。光の数は、影のついている点を覆う「空間」でたどられます。何かに当たる、もしくは何もない空間にあたる光の分数は、そこで影の量を計算します。
MangoでAmbient Occlusionを使用する方法がいくつかあります。
ここでは周囲の閉塞パスを全ての場面に対してレンダリングする方法です。これは、後ほどbeauty passで合成されることができます。
1. In Render Settings -->Gelato -->Raytracing Quality、Raytracingをオンにしてください。
2. In Render Settings -->Gelato -->Output Elements、「Ambient Occlusion.」のボックスをオンにしてください。
3. In Render Settings -->Gelato -->Ambient Occlusion、周囲の閉塞計算を決定するパラメータを調節してください。
これらは4.9で詳細に説明されます。
2. In Render Settings -->Gelato -->Output Elements、「Ambient Occlusion.」のボックスをオンにしてください。
3. In Render Settings -->Gelato -->Ambient Occlusion、周囲の閉塞計算を決定するパラメータを調節してください。
これらは4.9で詳細に説明されます。
周囲の閉塞は、一種の柔らかい影として、閉ざされた領域で明りを暗くするために、通常のレンダーパスの範囲内で使われることができます。これは光の数につき個々にセットすることができます。それは、ほとんどの場面において、他のいかなる影も持たない「fill」または「environment」ライトのためにとて役に立ちます。(影を成すキーライトのために物理的な場面もまた、周囲の閉塞を使うことに意味を成さないが、芸術的な理由のためにそうすることもあるでしょう。)
1. In Render Settings -->Gelato -->Raytracing Quality、Raytracingをオンにしてください。
2. ライトを選択します。Gelatoの下にあるAttribute EditorunderからAmbient Occlusionを選択します。そしてUse Occlusionを押してください。
2. ライトを選択します。Gelatoの下にあるAttribute EditorunderからAmbient Occlusionを選択します。そしてUse Occlusionを押してください。
細かいレイトレーシングは遅くなるので、周囲の閉塞シェーダには品質対速度をコントロールするための多数のパラメータがあります。デフォルトパラメータは、最終結果でほどよい印象を与えますがかなり速いです。上記の技術のどれのためにでも、自分が気に入った結果を得るまで、まずはノブを大きくしてください。
2つの最も重要な品質ノブは(それは各々のサーフェスポイントからトレースした光セットする)Samplesと(トレースされたサーフェスポイントの数を制御する)Maxerrorです。Maxerrorが0であるならば、レイトレーシングがあらゆる影で適用されます(高品質だが遅い)。Gelatoデフォルトでは0.25から始まって、0.02ほどまでそれを下げれます。Maxpixeldistは、レイトレースされたポイント間の最大距離(イメージ)です。Gelatoデフォルトは20ですが、3または4はよりよく見えます。
すごいところ:特定のサーフェスポイントにおいて、レイトレーシングは閉塞値を計算するのに用いられます。レンダラはたくさんの光線を放ち、距離に対して近くのオブジェクトにどれほどの光が当たるかについて調べます。他のサーフェスポイントにおいても、完全なレイトレースが使われた近くの点の閉塞を見ることにより、閉塞値を推定します。展開は、レイトレーシングより非常に速いです。
すごいところ:他のシェーダパラメータやとそれらのプロセスの制御法のダイジェストについて、ために$GELATOHOME/shaders/ambocclude.gslでコメントを見てください。%i(){Gelato Technical Reference}は、さらに簡潔です。
GelatoとMayaを使用する方法の基本を知っているならば、Mangoでのコースティクスの準備は比較的単純です。
Render Settingで2つのことをセットする必要があります:
1. Gelateの中からRaytracing Qualityを選び、Raytracingをオンにします。
2. Recursion Depthを3にセットしてください。
2. Recursion Depthを3にセットしてください。
コースティクスを生み出したい際、lightのAttribute Editorから、Gelato Tabの下でCausticsを開けて、Use Causticsをオンにしてください。
コースティクスを生み出したいオブジェクトに割り当てられるマテリアルの、Attribute Editorをあげてください。Gelatoタブの中にあるCausticsの下で、Causticsボックスをチェックしてください。
コースティクスがトランスペアレントであるか、反射するオブジェクトによって典型的に作られるので、これらのケースのどちらも異なるセッティングになります。
トランスペアレントのオブジェクトのために、Transmittanceを1にして透明なマテリアルの色にTransmit Colorをセットしてください。Refractive IndexはRaytrace Optionsの下のものと同じであるか、コースティクスの形を変えるために異なることがあります。
反射するオブジェクトのために、Reflectivityを1にして、Specular Colorを金属の色、または使用している反射するマテリアルを課してください。
レンダリングの際、あなたは2つのパス見ます。1つ目は、レンダリングしたcaustics.sdbへのフォトンバッファ(Photon Fileアトリビュートのデフォルト値)。2つ目のパスは原物の(主要な照明に加えてコースティクスを集積する)spotLightと一緒にシーンへのMangoのmaya_causticLightシェーダを呼び出して加えます。
Mayaスポットライトを「フォグライト」(空中で散るようなライトを見ることができる容積測定影響の円錐関係しているライトの一種)に変えることは可能です。
フォグライト効果を加えるために、スポットライトを選んでください。Attribute Editorで「Light Effects」のタブを開けてください。「light fogg」リンクをクリックしてください。これはフォグコーンをスポットライトに自動的に加えて、スポットライトの位置とコーン角度にあわせるために、コーンの頂点と角度をセットします。
チップ:フォグコーンの角度とスポットライトのコーンの角度がMayaでリンクしていないと、ポジティブな半影部角度が光をコーン角度より外側を照らさせ、この光はフォグボリュームきちんとを照らしません。したがって、フォグライトを用いて半影部角度を使いたいならば(フォグライトの端を素晴らしく柔らかいものにするため)、ネガティブな半影部角度値を使うだけで、フォグコーンボリュームの範囲内で端の減少を必ず引き起こします。
コーンの外で、容積測定影響は見えないのを思い出してください。またコーンの外側以外にも、外縁や「cap」もです。デフォルトで、キャップはその値をスポットライトの「end distance 3」に接続しています。これは、スポットライトが作成されたとき、Mayaが10cmまで初期化します。このように、容積測定コーンの長さのデフォルトは、10cmです。場面(自分が望ましい影響)のスケールに応じて、以下の例の場合のように、デフォルト円錐は、光から離れて過ぎて、十分に遠くに広がらないかもしれません:
フォグの範囲の距離を変える3つの潜在的方法があります:
1. Cone Cap値(これは光の腐敗地域距離3に接続しています)をもつコーンシェイプを選んでだください。接続を断ちます(「Cone Cap」で右クリックして、「Break Connection」を選択します)。そうすると、コーンシェイプノードでCone Cap距離を直接セットすることができます。特にフォグの範囲を腐敗地域価値に関係させたくないのなら、おそらくこれはフォグ範囲を変える最高の方法であるでしょう。
2. ライトの「End Distance3」を変えてください。これはライトシェイプを選び、Light Effectsタブをのぞいて、Decay Regions subtabにおいて、Regions 3の下ですることができます。先に、一時的に「Use Decay Regions」をチェックして、Maya UIがDistance3の値を変えるのを許可されてから、「Use Decay Regions」のチェックをはずす必要があります。
3. スポットライトのトランスフォーメーションを選んでください(トランスフォーメーションはスポットライトノードのノードです)。の変化を選んでください。フォグの範囲だけでなく、それが性質に登っている他の光を変えることもできた時から、これは望ましくないかもしれません。
適当なスケールを例として適用した後、こんな結果になります:
スモークの密度(スモークマテリアルはどれくらい「濃い」のか、つまりスポットライトはどれくらい光を散乱させるか)と「色」を調節することが可能です。両方とも、アトリビュートエディタから調節できます。
しかし、これがフォグの深さと色であるのを思い出してください。あなたがより明るい光または異なる色を望むならば、ボリュームのコントロールでなく、普通のスポットライトのコントロールを調節しなければなりません。
小さいボリュームが重なることはすばらしいです。ライトの貢献は、現実の世界の場合のようにきちんと概説されます。
ボリュームトリックエフェクト(それはRender SettingのGelatoタブにある「Bolume options」の下からアクセスできます)のいくつかの全体的なコントロールがあります。
Light density
光を散乱させるボリュームトリックエフェクトの全体的な傾向を設定します。より高い値はボリュームを明るく、低い値はそれらがより鈍く見えるようにさせます。場面のスケールにあわせてこのセッティングを調節する必要があります。
光を散乱させるボリュームトリックエフェクトの全体的な傾向を設定します。より高い値はボリュームを明るく、低い値はそれらがより鈍く見えるようにさせます。場面のスケールにあわせてこのセッティングを調節する必要があります。
Opacity density
ボリュームの「後ろ」にあるオブジェクトから来ている光を吸収するボリュームトリックエフェクトの全体的な傾向を設定します。より高い値は、ボリュームを短い距離だけで光を遮断させます。低い値は、光をボリューム中を遠くに進ませます。0の値(デフォルト)は、ボリュームを通して見られるオブジェクトのの景色を妨害しないようになボリュームにします
ボリュームの「後ろ」にあるオブジェクトから来ている光を吸収するボリュームトリックエフェクトの全体的な傾向を設定します。より高い値は、ボリュームを短い距離だけで光を遮断させます。低い値は、光をボリューム中を遠くに進ませます。0の値(デフォルト)は、ボリュームを通して見られるオブジェクトのの景色を妨害しないようになボリュームにします
Step size
ボリュームを通したステップの理想的なサイズ与えます(サンプルされたボリュームのライトの区間距離)。より大きなステップサイズはより速く計算しますが、大きすぎるとアーティファクトを示すかもしれません。より少ないステップサイズはより正確であるが、レンダリング時間が長くなります。
ボリュームを通したステップの理想的なサイズ与えます(サンプルされたボリュームのライトの区間距離)。より大きなステップサイズはより速く計算しますが、大きすぎるとアーティファクトを示すかもしれません。より少ないステップサイズはより正確であるが、レンダリング時間が長くなります。
Minimum steps
ボリュームトリック領域を通じての最小ステップ数を与えます。理想的なステップサイズがより少ないならば、実際のステップサイズは調節されます。
ボリュームトリック領域を通じての最小ステップ数を与えます。理想的なステップサイズがより少ないならば、実際のステップサイズは調節されます。
Maximum steps
ボリュームトリック領域を通じての最大ステップ数を与えます。必要に応じて、理想より大きな実際のステップサイズを使用してください。非常に大きなボリュームが見つかるとき、あまりに高くなることからレンダリング時間を長くする助けをします。
Integration start
どんなボリュートリックエフェクトでも考慮するために、カメラから最小限の深さを与えます。
Integration end
どんなボリュートリックエフェクトでも考慮するために、カメラから最大限の深さを与えます。
ボリュームトリック領域を通じての最大ステップ数を与えます。必要に応じて、理想より大きな実際のステップサイズを使用してください。非常に大きなボリュームが見つかるとき、あまりに高くなることからレンダリング時間を長くする助けをします。
Integration start
どんなボリュートリックエフェクトでも考慮するために、カメラから最小限の深さを与えます。
Integration end
どんなボリュートリックエフェクトでも考慮するために、カメラから最大限の深さを与えます。
使用するライト上のオーバーライドシェーダをサーフェスマテリアルに適用できます:
Gelatoを開けてください。Attribute Editorでライトの上にあるOverride Shaderで、Gelatoシェーダを選んで、Use Override Shaderチェックボックスをオンにします。
Gelatoを開けてください。Attribute Editorでライトの上にあるOverride Shaderで、Gelatoシェーダを選んで、Use Override Shaderチェックボックスをオンにします。
Gotca:Maya/Mangoの利用にGelatoライトシェーダを書いているならば、慣例によって、Mayaの光はライトのローカル座標系の彼らのローカル-z軸の方へ指すのでご了承ください。Mayaの互換性(Gelatoの標準的な例spotlight.gslとuberlight.gslを含むこと)で設計されない多くの他のGelatoライトシェーダは、-z方向で照らす慣例に続く傾向があります。2つの慣例を混ぜるならば、のすべてのライトが後方に指しているのを発見するでしょう!これを避ける最高の方法により、確実にあなたがMangoで使うどんな明りにでも-zで方向を照らすか、少なくともそれが+z方向、または-z方向を照らすかどうかに関係なく変えることができるパラメータとなっています。