反射/透過シェーダー
反射/透過シェーダー

このグループのシェーダーがサーフェース上で光がどのように反射されるかを定めます。必要なシェーダーは図2.3.1の[反射]メニューで選択します。このメニューは次の4つの項目に分かれています。
- 最初のグループには[マット]というシェーダーがあります。これがデフォルトで、反射および光沢のあるハイライトを生成しません。
- 2番目のグループには7つのシェーダーがあり、反射は生成しないものの、金属やプラスチックのような光る素材または光を放つ素材を表現するサーフェースをレンダリングします。
- 3番目のグループには8つのシェーダーがあり、レイトレーシング手順で計算された反射および透過を生成します。これらのシェーダーをシーン内のオブジェクトに適用し、しかもシーンがZ-バッファ方式の1つを使用してレンダリングされるとき、メインの画像はZ-バッファ方式でレンダリングされますが、反射は補足的にレイトレーシングによって計算されます。すなわち、混合レンダリング方式が使用されます。
- 4番目のグループには[環境]というシェーダーがあります。これは「環境の設定」セクションで説明する立方体環境または球体環境を使用してシミュレーションされた反射を生成します。
上記のシェーダーはどれも次のパラメータをいくつか組み合わせて使用します。そのほとんどはスライダーで設定されます。
[環境の反射率]:環境光がどのくらいの強さでサーフェースを反射するかを指示します。環境光はシーン内で一様に分散されることを思い出してください。したがって、環境光の係数を大きな値に設定すると、直接照らされる領域と影になる領域の間のコントラストは減少します。この係数が小さいと、これらの領域の間のコントラストは増大します。ラジオシティ解析に基づいてレンダリングされたシーン内では、このパラメータは無視されます。
[拡散の反射率]:光源がサーフェースを照らすとき、一定の割合で全方向に一様に反射されます。その割合をこのパラメータで設定します。通常、粗いサーフェースの反射率が大きいのに対し、なめらかで光沢のあるサーフェースの反射率は小さくなります。このパラメータの値が大きいと、サーフェースの色を強調することに注意してください。
[スペキュラーの反射率]:サーフェースを照らす光のどのくらいの割合が入射角度で反射するかを指定します。入射光が観測者の眼に直接反射するとき、スペキュラーは湾曲したサーフェース上にハイライトすなわち「ホットスポット」を生成します。この反射値が高いサーフェースは光沢を帯びて磨かれたように表現されます。
[スペキュラーの反射率]パラメータを使用するシェーダーは[ファイナルギャザリングのスペキュラを計算]オプションも使用します。このオプションはファイナルギャザリングを適用するRenderZoneレンダリングで使用します。これの使用法の詳細については「ファイナルギャザリング」セクションを参照してください。
[粗さ](ハイライトの伝達率):スペキュラーのある湾曲したサーフェースはハイライトを生成します。このホットスポットのサイズを制御します。このパラメータに大きな値を設定すると、ホットスポットは大きくなり、サーフェースは粗く見えるようになります。小さい値を設定すると、ホットスポットは小さくなり、サーフェースは光沢のある素材の印象を与えます。
[グロー]:グローパラメータのあるシェーダーを使用すると、環境の反射率パラメータ、拡散の反射率パラメータ、スペキュラーの反射率パラメータを使用している場合にだけ、サーフェースが明るく表示されます。環境、分散、スペキュラーの構成要素が0%に設定され、グローが100%に設定されている場合は、サーフェースが各ピクセルでオリジナルのサーフェースカラーになります。他の値に設定されていると、サーフェース照射が生成されます。サーフェース照射はシェーディング反射とサーフェースのグローの組み合わせを使用しています。
[反射率]:反射を割り当てられたシェーダーは周囲の環境を反射するサーフェースを生成します。反射値が100%の場合、サーフェースはそれ自体の色ではなく、すべて周囲の環境から色を受け取ります。正確な反射効果は必ず反射をサポートするすべてのレンダリング方式を備えたレイトレーシングを使用して生成されます。一般に、反射にはレンダリングのための時間が余分に必要です。しかし、反射は写真のように現実感のある画像を生成するのに大いに貢献します。
[透過率]:このパラメータのあるシェーダーは透明なサーフェースを生成します。この透明感はレイトレーシングの手順で計算されます。透過率によって、光線はサーフェースから反射せずにサーフェースを通過します。透過する光線は屈折率のパラメータに従って曲げられます。透明シェーダーも透明なサーフェースを生成しますが、屈折の効果は生成しません。さらに詳しいことについては「透明シェーダー」セクションで説明しています。[透過率]パラメータと[屈折率]パラメータの入っている反射シェーダーはより正確な透明度を生成します。[アルファチャンネル]背景シェーダーとともに使用すると、これら反射シェーダーから生成された透明ピクセルは必ず完全に不透明なアルファ値を生成します。透明シェーダーから透明度が生成されたピクセルのアルファ値だけが弱められるのです。
[屈折率]:サーフェースを通過する光線はそのサーフェースの屈折率に従って曲げられます。これで、拡大鏡や水中で棒が折れて見えるような効果が生成されます。実世界の透明な素材にはそれぞれ独自の屈折率があります。値が1.0のときは屈折がありません。水の屈折率は約1.5です。2.5より大きな屈折率の素材は実際にはありません。[屈折率]パラメータの入ったシェーダーダイアログのメニューで、ガラスや水のような一般に使用される素材に対応する屈折率を選択できます。
すべての反射シェーダーおよび透過シェーダーは次の表(図2.3.2)にまとめられているように、これらのパラメータの組み合わせを使用します。これらの一般的な屈折率や透過率パラメータだけでなく、この種類のシェーダーにはシミュレーションされる素材に特有な専用パラメータを持つものがあります。これらのパラメータの詳細については、それぞれのシェーダーの説明を参照してください。
環境の 反射率 |
拡散の 反射率 |
スペキュラーの 反射率 |
粗さ (ハイライトの伝達率) |
グロー | 反射率 | 透過率 | 屈折率 | |
---|---|---|---|---|---|---|---|---|
反射なし | ||||||||
マット | ✓ | ✓ | ✓ | |||||
ヘアライン | ✓ | ✓ | ✓ | ✓ | ||||
キャッチャー | ✓ | |||||||
クローム | ✓ | ✓ | ✓ | ✓ | ||||
一定 | ||||||||
メタル | ✓ | ✓ | ✓ | ✓ | ||||
プラスチック | ✓ | ✓ | ✓ | ✓ | ✓ | |||
織物 | ✓ | ✓ | ✓ | ✓ | ||||
反射あり | ||||||||
曇ガラス | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
基本 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ガラス(精密) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ガラス | ✓ | ✓ | ✓ | ✓ | ✓ | |||
グロス | ✓ | ✓ | ✓ | ✓ | ✓ | |||
メタル(精密) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ミラー | ✓ | ✓ | ✓ | ✓ | ✓ | |||
マルチレイヤペイント | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
環境 | ✓ | ✓ | ✓ | ✓ | ✓ |

ほとんどの反射シェーダーおよび透過シェーダーのパラメータはスライダーを使用して設定できます。デフォルトではサーフェース上で一様に適用されます。たとえば、面上の[環境の反射率]は面の中心および角では同じになります。しかし、サーフェース上のそれぞれのパラメータの率を時々変更したほうがよい場合があります。これは[マッピング]メニュー(図2.3.3)から[なし]以外のシェーダーを選択することによって変更することができます。このメニューは[屈折率]および[粗さ]以外のパラメータに対応しています。
選択したシェーダーはグレースケールのパターンを生成します。パターンが白い部分では、パラメータはそれぞれの数値フィールドの値で示されるオリジナル値で使用されます。パターンが黒い部分では、パラメータの値は0%に設定されます。すなわち、パラメータは影響をおよぼしません。黒と白の間のグレーの値はグレーの度合いに基づいて、パラメータの中間値を生成します。[マッピング]メニューで使用できるシェーダーは[カラー]シェーダー、[透明度]シェーダー、[バンプ]シェーダーで使用するシェーダーと同じです。ポップアップメニューの横の[オプション...]ボタンをクリックすると、各シェーダーのパラメータは他のシェーダーと同じように編集することができます。