Arch & Design マテリアル(mental ray) – ヒント

ここでは、mental ray 用の Arch & Design マテリアルをより効果的に使用するためのヒントを紹介します。

ファイナル ギャザーのパフォーマンス

現行バージョンの mental ray のファイナル ギャザー アルゴリズムは、以前のバージョンから、特に適応性という点で大幅に改善されています。つまり、多くの場合、使用するレイ数や密度を以前よりも大幅に削減できます。

たいていのケースは、静止画ならレイ数 50、密度 0.1 のようなきわめて低い設定でレンダリングできます。結果が「過度に滑らか」で不自然なときは、組み込みのアンビエント オクルージョンを使って問題を解決します。

ファイナル ギャザーと GI (フォトン)を併用する場合は、フォトンを適度に滑らかに解決するために、ファイナル ギャザーを無効にしてレンダリングするようにしてください。フォトンのノイズが多いときは、ノイズが「落ち着く」までフォトンの検出範囲を広げてから、ファイナル ギャザーを有効にしてください。

一般的なマテリアルに関するクイック ガイド

ここでは、さまざまなマテリアルを作成する際の経験則を大まかに説明します。それぞれのルールは、まず既定値の設定から始めることを前提にしています。

光沢のある木材、床材などの一般的な経験則

これらは「ハイブリッド」マテリアルと呼ばれるもので、主にアーキテクチャル レンダリングで使用されます(例: ニス塗りの木材やリノリウムなど)。

このようなマテリアルでは、[BRDF]を[カスタム反射機能](Custom Reflectivity Function)に設定してカスタム BRDF カーブを定義します。0 度の反射が 0.2、90 度の反射が 1.0 から開始して、[拡散反射光カラー](Diffuse Color)に適切なテクスチャ マップを適用します。さらに、[反射](Reflectivity)は 0.6 ~ 1.0 に設定します。

マテリアルの光沢はどのようにしますか? 反射はクリアにしますか?それともぼかしますか? また、反射の強さはどうですか?

  • クリアできわめて強い反射を作成するには、[反射光沢](Reflection Glossiness)を 1.0 に保ちます。
  • 若干ブラーのかかった強い反射を作成するには、[反射光沢](Reflection Glossiness)の値を低く設定します。パフォーマンスの問題が生じる場合は、[高速 (補間)](Fast (Interpolate))をオンにします。
  • 若干ブラーのかかったきわめて弱い反射を作成するには、[反射光沢](Reflection Glossiness)の値を低くしてハイライトの領域を広げ、[反射](Reflection)の[光沢サンプル](Glossy Samples)を 0 に設定することで「対応」します。こうすると、反射用にはミラー レイが 1 つしか放出されませんが、ごく弱い反射であれば見た目にはさほど影響はありません。
  • 適度にブラーのかかったサーフェスを作成するには、[反射光沢](Reflection Glossiness)の値をさらに下げて、さらに場合によっては[反射](Reflection)の[光沢サンプル](Glossy Samples)の値を増やします。この場合も、パフォーマンスを改善したければ[高速 (補間)](Fast (Interpolate))をオンにします。
  • 強いブラーのかかったサーフェスや、きわめて反射の弱いサーフェスを作成するには、[ハイライト + FG のみ](Highlights+FG Only)をオンにしてみてください。

一般的なフローリング材は、[反射光沢](Reflection Glossiness)を 0.5、[反射](Reflection)の[光沢サンプル](Glossy Samples)を 16、[反射](Reflection)を 0.75 に設定し、さらに[拡散反射光カラー](Diffuse Color)に適切な木目のテクスチャを適用します。また、必要に応じて軽いバンプ マップを使用してもよいでしょう。ニス塗装の面にのみバンプを適用したい場合は、[専門用途マップ](Special Purpose Maps)ロールアウト [拡散反射光シェーディングにバンプを適用しない](Do Not Apply Bumps To The Diffuse Shading)をオンにします。

リノリウム材の場合は、同じ設定でテクスチャとバンプ マップを変えて、さらに必要に応じて[反射](Reflection)と[反射光沢](Reflection Glossiness)の値を少し下げてみてください。

セラミック

セラミック マテリアルは光沢仕上げ、つまり薄い透明のマテリアルで覆われています。セラミックのルールも上記の光沢のある木材や床材のルールと似ていますが、BRDF の方法を[IOR (フレネル反射)](By IOR (Fresnel Reflections))に設定して、[IOR]を約 1.4、[反射](Reflections)を 1.0 に設定します。

また、[拡散反射光カラー](Diffuse Color)を適切なテクスチャやカラー(バスルームの白いタイルには白など)に設定します。

石材

石材は通常、きわめてマットに仕上げるか、拡散反射光に近い、強いブラーのかかった反射で表現します。石の「粉っぽい」質感をシミュレートするには、[拡散反射光の粗さ](Diffuse Roughness)パラメータをまず 0.5 程度に設定してみてください。多孔質な石材またはレンガは、値を高くします。

一般に石材は[反射光沢](Reflection Glossiness)が低くく(0.25 以下)、たいていの場合、[ハイライト + FG のみ](Highlights+FG Only)を使えば効果を得ながらパフォーマンスも上げることができます。[拡散反射光カラー](Diffuse Color)に適切な石のテクスチャを使用し、何らかのバンプ マップを適用します。さらに、必要に応じてマップで[反射光沢](Reflection Glossiness)の値を変化させるのも有効です。

[反射](Reflections)は 0.5 ~ 0.6 程度、[IOR (フレネル反射)](By IOR (Fresnel Reflections))はオフにし、0 度の反射を 0.2、90 度の反射を 1.0 にします。

ガラス

ガラスは誘電体マテリアルなので、[IOR (フレネル反射)](By IOR (Fresnel Reflections))は必ずオンにしてください。標準的なガラスの IOR は 1.5 です。[拡散反射光レベル](Diffuse Level)は 0.0、[反射](Reflectivity)は 1.0 に設定し、さらに[透明度](Transparency)を 1.0 に設定します。これで、完全に透明な、屈折性を持つ基本的なガラスを作成できます。

窓ガラスの場合は[薄い壁](Thin-Walled)をオンにします。また、ガラス ブロックの場合は[薄い壁](Thin-Walled)をオフにし、コースティックスが必要かどうかを判断して[屈折コースティックス](Refractive Caustics)を設定します。

曇りガラスでは、[屈折光沢](Refraction Glossiness)を適切な値に設定します。さらに品質を上げるには[屈折サンプル](Refraction Samples)を調整し、パフォーマンスの速度を上げたいときは[高速 (補間)](Fast (Interpolate))をオンにします。

色付きガラス

透明なガラスについては、前のセクションのヒントを参考にしてください。ただし、色付きガラスの場合は違います。

ほとんどのシェーダでは、ガラスのサーフェスに透明度を設定します。しかしこれは、単純に[屈折](Refractive)の[カラー](Color)を青などの何らかの値に設定した場合の話です。[薄い壁](Thin-Walled)をオンにしたガラスであれば、これでも問題はありません。ただし、固体のガラス オブジェクトの場合は、この方法ではリアルな表現はできません。

次の図のシーンには、サイズの異なる 2 つのガラス ブロックと、内側に球状の穴の空いたガラスの球体と、ガラスの馬があります。

注: 球体の穴は、外側の球の中にもう 1 つ球を挿入し、法線を反転して作成します。サーフェスの法線を反転しないと、正しくレンダリングされません。

上: 不正確なシェーディング(ガラス ブロックのカラーが、サーフェス屈折カラーだけを使用してモデリングされていることが原因)

下: 正確なシェーディング。ガラスで使用しているのは[屈折](Refraction) [最大距離](Max Distance)および[最大距離のカラー](Color At Max Distance)。

この図には、次のような問題があります。

  • 2 つのガラス ブロックは厚さが異なるが、青のレベルがまったく同じである
  • 内側の球が、外側の球より明るくならずに、暗くなっている

どうしてこのような問題が起きるのでしょうか?

ガラス オブジェクトに入射する光線について考えてみましょう。サーフェスに色が付いている場合は、レイ(光線)はオブジェクトに到達した時点で色を帯び、オブジェクトの内部を通過している間もこの色を保持し、さらにオブジェクトから出ていくときに別の色合いになります(減衰します)。

ガラスの色がサーフェスで変化する様子

1 つ目の図では、左から入射したレイが、最初のサーフェスに達した時点でレベルを落とし、わずかに暗くなっています(この図はレベルを図解したものです)。さらに媒体を通過している間はその色を保持し、出口のサーフェスで再びレベルを落としています。

単純なガラス オブジェクトの場合は、これでもまったく問題はありません。[薄い壁](Thin-Walled)を使用しているガラスであれば、定義としてはこれで十分です。しかし、複雑な固体の場合はそうはいきません。特に、ガラス内部の負の空間(この例ではガラスの球体)で問題が生じます。これは、光線が 2 つのサーフェスではなく 4 つのサーフェスを通過しなければならず、サーフェスでの減衰のステップが 2 つ多く発生するためです。

実際の色付きガラスでは、光は媒体を通過して、外へ出るときに減衰します。Arch & Design マテリアルでこれを再現するには、[拡張レンダリング オプション](Advanced Rendering Options) [屈折](Refraction) [最大距離](Max Distance)をオンにし、[最大距離のカラー](Color At Max Distance)を設定し、さらに[屈折カラー](Refraction Color)を白に設定します。

この方が、明らかに良好な結果が得られます。厚い方のガラス ブロックは薄い方のガラス ブロックよりも濃い青になり、中空の球体もうまく表現できています。これを図解すると、次のようになります。

d = [最大距離](Max Distance) (ここで[最大距離のカラー](Color at Max Distance)に減衰する)

この場合は、入射したレイは、媒体内部を通過する途中で減衰しています。減衰の強さは[最大距離](Max Distance)(図の d)で正確に制御でき、[最大距離のカラー](Color At Max Distance)に減衰させることができます。言い換えると、この深度で、前のシーンでサーフェスに入射してすぐの状態と同じまで減衰します。フォールオフは指数関数ですので、[最大距離](Max Distance)の値を 2 倍にすると、[最大距離のカラー](Color At Max Distance)の効果は 2 乗になります。

ただし、ささいなことですが、1 つ問題があります。この方法を使ってマテリアルのシャドウを正しくレンダリングするには、コースティックスを使用するか、mental ray の[セグメント](Segments)モード(「[シャドウとディスプレイスメント](Shadows & Displacement)ロールアウト(mental ray レンダラー)」を参照)でシャドウをレンダリングしなければなりません。

コースティックスを使用すれば当然、きわめて正確なシャドウを作成できますが(前の図はコースティックスを使わずにレンダリングした例です)、シーンでコースティックス フォトンが有効になっていることと、シーンにコースティックス フォトンを放出する物理的な光源が含まれていることが条件です。

一方、mental ray の[セグメント](Segments)モードでシャドウをレンダリングした場合は、より汎用的な[シンプル](Simple)モードと比べると、パフォーマンスがやや低下します。しかし、[セグメント](Segments)モードを使用しないと、シャドウの強さに、オブジェクト内部での減衰が正しく適用されません。それでもイメージの外観が改善される場合があります。

水と液体

水もガラスと同様に誘電体マテリアルで、IOR は 1.33 です。したがって、水自体には前述したガラスと同じ原則が適用できますが、正確には環境屈折が必要になります。一例として挙げられるのが、蛇口から流れる水です。なお、色付きの液体には、色付きガラスと同じ原則を適用できます。

水とワイン

この図のように入れ物に入った液体を作成するには、Arch & Design マテリアルでは複数のサーフェスを介した屈折が、現実世界の光の動作と比較してどのように処理されるのかを理解する必要があります。

屈折で重要なのは、ある媒体から、IOR の異なる別の媒体への変わり目です。この変わり目を境界面と呼びます。

グラスに入ったレモネードを例に考えてみましょう。光線が空気中(IOR = 1.0)を伝わる様子を想像してください。光線はまず、グラスに到達した時点で、グラスの IOR (1.5)によって屈折します。さらに光線は、グラスを出て液体に入る、つまり IOR 1.5 の媒体と IOR 1.33 の媒体の境界面を通過します。

これをコンピュータ グラフィックスでモデリングする 1 つの方法としては、グラスを個別の閉じたサーフェスとして作成し、その法線をグラスのサーフェスから外に向けて、IOR を 1.5 に設定します。さらにもう 1 つ液体用に閉じたサーフェスを作成し、この法線も外に向けて、IOR を 1.33 に設定します。このとき、グラスと液体の間にわずかな「空隙」を残します。

ただし、この方法には 1 つ問題があります。光が IOR の高い媒体から低い媒体に入るときに、内部全反射(TIR)と呼ばれる効果が生じる可能性があるということです。この効果は、たとえばプールに飛び込んで上を見上げたときに見られます。このとき、サーフェスより上にあるオブジェクトは、真上の小さな円にしか見えなくなります。また、ある角度より下にあるオブジェクトは、プールとサーフェスより下にあるオブジェクトの反射で見えなくなります。2 つの媒体の IOR の差が大きいほど、TIR が生じる可能性は高くなります。

したがって、レモネードの例でもレイはグラス(IOR = 1.5)から空気に入るため、TIR が起こる可能性は大きいといえます。しかし、現実世界と同様にレイを IOR が 1.5 の媒体から IOR が 1.33 の媒体に入射させれば IOR の差は小さくなり、TIR の可能性もはるかに低くなります。次の図で違いを見てみましょう。

.

左: 正しい屈折を適用した例

右: 「空隙」を使用した例

左側のような正しい結果を得るには、どうすればよいでしょうか?

この場合は、モデリングを再考して、媒体ではなく境界面をベースに考えることで解決できます。この例には 3 つの境界面が存在しますが、このとき IOR を外側の媒体と内側の媒体の IOR の比率と考えることができます。

  • 空気とグラスの境界面(IOR = 1.5/1.0 = 1.5)
  • 空気と液体の境界面(IOR = 1.33/1.0 = 1.33)
  • グラスと液体の境界面(IOR = 1.33/1.5 = 0.8)

空気との境界面では通常、媒体の IOR を使用しますが(空気の IOR が 1.0 であるため)、2 つの異なる媒体の間の境界面は、それぞれの状況で異なります。

このシナリオを正しくモデリングするには、3 つのサーフェスにそれぞれ別の Arch & Design マテリアルを適用する必要があります。

  • 空気とグラスの間のサーフェス(次の図の青): 法線はグラスから外へ向けて、空気がグラスに直接接触する領域をカバーし、IOR を 1.5 に設定します。
  • 空気と液体の間のサーフェス(次の図の緑): 法線は液体から外へ向けて、空気が液体に直接接触する領域をカバーし、IOR を 1.33 に設定します。
  • グラスと液体の間のサーフェス(次の図の赤): 法線は液体から外へ向けて、グラスが液体に直接接触する領域をカバーし、IOR を 0.8 に設定します。

グラスに入った液体における 3 つの境界面

2 つの液体マテリアルの[最大距離](Max Distance)と[最大距離のカラー](Color At Max Distance)に適切な値を設定することで(色付きの液体の場合)、1 つ前のレンダリング イメージの左側のグラスのような結果が得られます。

海と水面

水面は、目に見える透明な液体とは少し質感が異なります。

海の色は反射によるもので、青ではありません。海面は光をあまり通さないため、いたる所で面白い現象が起きます。少量の光を乱反射させることで、軽いサブサーフェス スキャッタリング効果を表現します。

Arch & Design マテリアルを使って海面を再現するには、次の手順に従います。

  1. [拡散反射光レベル](Diffuse Level)を 0.0、[反射](Reflectivity)を 1.0、[透明度](Transparency)を 0.0 に設定します。これで十分です。屈折は必要ありません。
  2. [IOR]を 1.33 に設定し、[IOR (フレネル反射)](By IOR (Fresnel Reflections))をオンにします。不規則な揺れの面白いシェーダ(この場合は Ocean (lume) シェーダが最適です)を[バンプ](Bump)に適用すれば、基本的な海面を作成できます。

この海の反射は、IOR のみで制御しています。しかし、これで十分ですので、ぜひ試してみてください。さらに、反射させるオブジェクトを作成する必要があります。空のマップ、オブジェクト、あるいはただ青のグラデーションのバックグラウンドを追加するだけでもかまいません。反射するものがないと、海は真っ黒になってしまいます。

青いのは海ではなく空である

よりトロピカルな雰囲気を出したければ、[拡散反射光カラー](Diffuse Color)を若干青みがかった緑に設定してみてください。さらに、[拡散反射光レベル](Diffuse Level)を 0.1 のようなきわめて低い値に設定し、[拡散反射光シェーディングにバンプを適用しない](Do Not Apply Bumps To The Diffuse Shading)をオンにします。

この水の基本カラーで、海面の軽いスキャッタリング効果を演出します。

トロピカルな海

Metal

金属は反射性を持つため、反射させる何かが必要になります。メタルを表現するベストな方法は、HDRI フォトを球状にマップするか mental ray の物理スカイなどを使って真の HDRI 環境を設定することです。

規範となるクロムを作成するには、[IOR (フレネル反射)](By IOR (Fresnel Reflections))をオフにし、[反射](Reflections)を 1.0、0 度の反射を 0.9、90 度の反射を 1.0 に設定します。さらに[拡散反射光カラー](Diffuse Color)を白に設定し、[メタルの反射](Metal Reflections)をオンにします。

これで、ほぼ完全な反射性を持つマテリアルを作成できます。ブラー反射のレベルは、[反射光沢](Reflection Glossiness)パラメータで調整します。また、金属的なオブジェクトに最適な[ラウンドコーナー](Round Corners)効果を使用してもよいでしょう。

金属はまた、反射のカラーにも影響します。メタルの反射をオンにしているため、この時点ですでにこの現象は起きています。試しに、[拡散反射光カラー](Diffuse Color)を金色に設定して金を作成してみてください。

また、[反射光沢](Reflection Glossiness)のレベルもさまざまに変えてみてください(パフォーマンスを上げたい場合は、[高速 (補間)](Fast (Interpolate))を使用します)。

さらに、[反射](Reflectivity)の値を変更することもできます。ただし、[メタル マテリアル](Metal material)がオンのときは少し話が違ってきます。[メタル マテリアル](Metal Material)をオンにすると、反射(カラーは[拡散反射光カラー](Diffuse Color)で制御されます)と通常の拡散反射光シェーディングがブレンドされます。光沢反射と拡散反射光シェーディングのブレンドも可能で、この場合はどちらも同じカラーで制御されます。たとえば、アルミニウムのマテリアルでは拡散反射光をわずかにブレンドさせる必要がありますが、クロムの場合は必要ありません。

金、銀、銅

ブラシ メタル

ブラシ仕上げの金属は、特殊な面白いケースです。[反射光沢](Reflection Glossiness)のレベルを下げてきわめて強いブラーのかかった反射を表現するだけで、ブラシ仕上げの金属を表現できることもあります。ブラシの方向がランダムであったり、たくさん集まってもほとんど見えないくらい細かいブラシであれば、これで十分です。

これに対して、ブラシの方向がはっきりした(実際にブラシの筋が見える)マテリアルをリアルに再現するのは、若干複雑になります。

ブラシ仕上げの金属のサーフェスには小さな筋があり、このいくつもの筋が異方性反射を生じさせます。これを表したのが次の図です。この図では、隣接する多数の小さな円柱をシンプルなフォン シェーダを使ってモデリングすることで、ブラシの筋をシミュレートしています。

隣接するいくつもの小さな円柱

円柱の鏡面反射光ハイライトが集まって異方性反射ハイライトを作り出していることに注目してください。

また、ハイライトは一続きではなく、実際には隣接する小さなセグメントで構成されています。これらのことから、ブラシ仕上げの金属では主に次のことがポイントになります。

  • 異方性反射ハイライトが、ブラシの向きに対して直角に伸びている
  • ハイライトは非連続的で、ブラシの方向に分割されている

ブラシ仕上げの金属をシミュレートする場合は、1 つ目のポイントである異方性反射ばかりに目がいきがちです。また、ハイライトをブラシの向きに伸ばしてしまうというのもよくある間違いです。これではブラシ仕上げの金属を正しくシミュレートできません。

ブラシ仕上げの金属を表現するには、この 2 つのポイントをシミュレートする必要があります。1 つ目のポイントは簡単です。異方性反射ハイライトを作成するには、[異方性反射](Anisotropy)と[回転](Rotation)を使用します。続く 2 つ目のポイントは、数通りの方法でシミュレートできます。

  • バンプ マップを使用する
  • マップを使って[異方性反射](Anisotropy)または[反射光沢](Reflection Glossiness)の値を変化させる
  • マップを使って[反射カラー](Reflection Color)を変化させる

どの方法もそれぞれにメリットとデメリットがありますが、ここでは最後の方法を取り上げます。この方法は、補間と併用すると良い結果が得られるためです。

  1. 毛羽の筋に使用するマップを作成します。方法としては、ペイント プログラムでマップをペイントするか、一方向に大きく伸ばしたノイズ マップを使用するなどが挙げられます。マップは、グレーから白へ変化させます。
  2. このマップを、ブラシに適したスケールで[反射カラー](Reflection Color)に適用します。
  3. [拡散反射光カラー](Diffuse Color)を白(またはマテリアルのカラー)に設定し、[拡散反射光レベル](Diffuse Level)は 0.0 のような低い値に設定します。
  4. [メタル マテリアル](Metal Material)がオンになっていることを確認します。
  5. [反射光沢](Reflection Glossiness)を 0.75 に設定します。
  6. [異方性反射](Anisotropy)を 0.1 程度に設定します。[異方性反射角度](Anisotropy Rotation)を使ってハイライトの向きをマップに合わせます。必要に応じて、[異方性反射チャネル](Anisotropy Channel)を、マップと同じテクスチャ空間を使用するようにします。

ブラシ メタル