反射率、透明度、および屈折

 
 
 

オブジェクトの基本サーフェイス シェーディング特性のコントロールに加えて、サーフェイス シェーダは反射率、透明度、および屈折もコントロールします。

反射率

サーフェイス シェーダの[反射]パラメータは、オブジェクトの反射率をコントロールします。オブジェクトの反射率が高くなるほど、オブジェクトの表面で反射するシーン内オブジェクトがよりクリアになります。

A

反射率のない灰色のボールのマテリアル

B

反射率 35%

オブジェクトの反射率が高くなるにつれて、イルミネーションのディフューズ、アンビエント、スペキュラ エリアに関するパラメータなどの他のサーフェイス パラメータの可視性が低くなります。オブジェクトのマテリアルが完全に反射すると他のマテリアルの属性がまったく見えなくなります。

ヒント:オブジェクトの反射率を高くしても、他のサーフェイス属性の値を非常に高くすることによって、その属性が表示されるようにすることができます。たとえば、非反射オブジェクトにはスペキュラ ハイライトを 1 に設定しても、反射率の高いオブジェクトにはスペキュラ ハイライトを 1000 に設定することもあります。

反射値の設定

反射率を調整するには、プロパティ エディタの[透明/反射]タブにある[反射]オプションを使用します。通常、[反射]の値は 0~1 です。ここで、0 は反射なし、1 は全反射、すなわちオブジェクトが完全に鏡面化されたサーフェイスであることを示します。

A

反射を有効にします。

B

テクスチャをオブジェクトの反射率入力に接続します。

C

カラー値またはアルファ値による反射率調整のオン/オフを切り替えます。

D

アルファ チャンネルのみで反射率をコントロールするよう指定します。

E

反射率の強度を調整します。

反射値を設定する方法は、以下の 2 つがあります。

  • カラー スライダを使用して、反射値を設定します。一度にすべてのカラー スライダを調整するには、[Ctrl]キーを押しながら 1 つのスライダを調整します。これにより、すべてのカラー スライダが同じ位置に移動します。

    カラー値を設定する方法については、「カラー プロパティを定義する」(「インタフェースおよびツール」)を参照してください。

    または

  • [アルファの使用](Use Alpha)を選択して、[アルファ]スライダのみを使用して反射率をコントロールします。

ヒント:パラメータのスライダをドラッグする方法では最大値を 1 までしか設定できませんが、パラメータのテキスト ボックスに入力することによりさらに大きい値を指定できます。

テクスチャで反射をコントロールする

テクスチャをサーフェイス シェーダの反射率入力に接続することによって、テクスチャを使用して反射率をコントロールすることができます。「反射率マップ」(「テクスチャリング」)の手順に従うか、「テクスチャを適用する」(「テクスチャリング」)に説明されている方法のいずれかを使用します。

一般的に、白黒のテクスチャやイメージのアルファ チャンネルは、反射率および非反射が十分に定義されたエリアで、反射率マップの作成に使用されます。

テクスチャを使用して反射をコントロールする場合は、[反転](Invert)および[スケール](Scale)の設定が便利です。

  • [反転](Invert)を使用すると、反射率を処理するカラー値またはアルファ値が反転します。

    これは、白黒イメージまたはイメージのアルファ チャンネルを使用して反射率をコントロールしている場合に便利です。通常は、イメージの白いエリアは最も反射率が高くなるのに対して、黒いエリアでは反射率がゼロになります。[反転]オプションは、以下の値のエフェクトを反転します。多くの場合、イメージ ファイル自体を反転するより、[反転](Invert)を選択するほうが簡単です。

  • [スケール](Scale)の値は、反射率の強度を調整します。

    これは、イメージを使用して反射率をコントロールする場合に役立ちます。特定のイメージによって定義された反射率の大きさは一定であり、必要量との過不足を生じる場合があるためです。反射率の調整は、多くの場合、実際のイメージを調整するよりも速くて簡単です。

    注:反射率のオプションを設定するときは、[アルファ使用](Use Alpha)パラメータ、[反転](Invert)パラメータ、および[スケール](Scale)パラメータの順序で適用されることに留意してください。そのため、これらのパラメータを 3 つとも使用している場合は、反射のアルファが反転してから、反転した結果にスケーリングが適用されます。

透明度

サーフェイス シェーダの[透明度]パラメータは、オブジェクトの透明度をコントロールします。オブジェクトの透明度が高くなると、オブジェクトが透けて見える度合いが高くなります。

A

透明度 75%

B

反射 30%、透明度 70%

反射率と同様に、透明度はオブジェクトのその他のサーフェイス属性に影響を与えます。透明度を補正するには、属性の値を大きくします。たとえば、不透明なオブジェクトでスペキュラ カラーの値が 1 であった場合、透明なオブジェクトでは 10 以上に設定します。

透明度の値の設定

透明度を調整するには、サーフェイス シェーダのプロパティ エディタにある[透明/反射]タブの[透明度]オプションを使用します。通常、透明度の値は 0~1 の範囲です。値 0 は完全に不透明であることを示し、1 はオブジェクトが完全に透明であることを示します。ガラスなどの透明なサーフェイスでは、値を 1 にするよりも 0.9 にするほうが妥当です。

A

透明度を有効にします。

B

テクスチャをオブジェクトの透明度入力に接続します。

C

透明度を処理するカラー値またはアルファ値を反転します。

D

アルファ チャンネルだけが透明度をコントロールすることを指定します。

E

透明度の強度を調整します。

透明度の値を設定する方法は、以下の 2 つがあります。

  • カラー スライダを使用して、透明度の値を設定します。一度にすべてのカラー スライダを調整するには、[Ctrl]キーを押しながら 1 つのスライダを調整します。これにより、すべてのカラー スライダが同じ位置に移動します。

    カラー値を設定する方法については、「カラー プロパティを定義する」(「インタフェースおよびツール」)を参照してください。

    または

  • [アルファの使用](Use Alpha)を選択して、[アルファ]スライダのみを使用して透明度をコントロールします。

ヒント:パラメータのスライダをドラッグする方法では最大値を 1 までしか設定できませんが、パラメータのテキスト ボックスに入力することによりさらに大きい値を指定できます。

テクスチャで透明度をコントロールする

前述した方法以外にも、テクスチャをサーフェイス シェーダの透明度入力に接続することによって、テクスチャを使用して透明度をコントロールすることができます。「透明度マップ」(「テクスチャリング」)の手順に従うか、「テクスチャを適用する」(「テクスチャリング」)に説明されている方法のいずれかを使用します。

ヒント:一般的に、白黒のテクスチャやイメージのアルファ チャンネルは、透明度および不透明度が十分に定義されたエリアで、透明度マップの作成に使用されます。

テクスチャを使用して透明度をコントロールする場合は、[反転](Invert)および[スケール](Scale)の設定が便利です。

  • [反転](Invert)を使用すると、透明度を処理するカラー値またはアルファ値が反転します。

    透明度マップの反転は、白黒イメージまたはイメージのアルファ チャンネル(マット)を使用して透明度をコントロールする場合に有効です。典型的なマットの場合、黒いエリアは透明で白いエリアは不透明です。一方、サーフェイス シェーダはこの逆になります。つまり、黒い領域が不透明となり、白い領域が透明となります。透明度を反転させると、(黒いエリアは透明で白いエリアは不透明な)マットにより定義された適正な透明度が得られます。

  • [スケール](Scale)の値は、透明度の強度を調整します。

    これは、イメージを使用して透明度をコントロールする場合に役立ちます。特定のイメージによって定義された透明度は一定であり、必要量との過不足を生じる場合があるためです。透明度の調整は、多くの場合、実際のイメージを調整するよりも速くて簡単です。

    注:透明度オプションを設定する場合は、[アルファ使用](Use Alpha)、[反転](Invert)、および[スケール](Scale)パパラメータの順に適用されることに注意してください。そのため、これらのパラメータを 3 つとも使用している場合は、透明度のアルファが反転してから、反転した結果にスケーリングが適用されます。

屈折

オブジェクトのサーフェイス定義に透明度が含まれている場合、屈折の値も定義することができます。屈折とは、ライトの光線がある透明な媒体から別の透明な媒体へ通過するときに曲げられることをいいます。たとえば、空気を通過した後、ガラスや水を通過するような場合です。

A

屈折値 0.9

B

屈折値 1.1

注:屈折および反射を使用する場合、[レンダオプション]プロパティ エディタの[最適化]タブで[レイ深度]値を上げなければならない場合があります。屈折および反射を使用すると、レンダリング時間が増加することがあります。

屈折は、サーフェイス シェーダのプロパティ エディタで設定できます。既定の値は 1 で、これは空気の密度を示します。この値では、光線は透明なサーフェイスを曲がらずまっすぐに通過します。値を 1 より大きくすると、ライトの光線が曲がります。値を 1 より小さくすると、ライトの光線は反対方向に曲がります。つまり、空気から真空などのように密度のより低いマテリアルをライトが通過する状態がシミュレーションされます。

通常、屈折インデックス値は 0~2 の間に設定しますが、必要に応じてそれより高い値を入力することもできます。

ヒント:現実の物質の実際の物理的な屈折値を入力し、その物質を通過するライトの光線の動作をシミュレートすることができます。

次の表に一般的な透明マテリアルとその屈折インデックス値を示します。

マテリアル

屈折値

空気

1.00

1.31

1.33

アセトン

1.36

アルコール

1.39

グラス

1.50–1.89

ポリスチレン

1.55

エメラルド

1.57

トパーズ

1.61

ルビー/サファイア

1.77

水晶

2.00

ダイヤモンド

2.42