シェーダー

リアルなシェーダーマテリアルの基本

 シェーダーマテリアルは、3Dグラフィックスやゲーム開発において重要な要素です。
シェーダーは、光の反射や影の表現、質感やテクスチャーなどを制御するためのプログラムのことで、シェーダーマテリアルはそれらを組み合わせたものです。

本記事では、シェーダーマテリアルの基礎的な知識を簡潔にまとめています。リアルな表現を実現するために必要な考え方や技術について、詳しく解説していきます。

3Dグラフィックスやゲーム開発に興味のある方は、ぜひ参考にしてください。

オブジェクトの色と明度について

 シェーダーマテリアルにおいて、色を表現するにはRGBカラーモデルを使用します。RGBカラーモデルでは、色を赤・緑・青の3つの成分で表現します。各成分は0~255の範囲で指定され、例えば(255, 0, 0)は赤色を表します。

しかし、実際の色の表現範囲は0~1の範囲で表されます。そのため、RGBカラーモデルで色を扱う際には、0~1の範囲に変換する必要があります。この際、明度を0.009~0.875の範囲にする必要があります。

 この理由は、RGBカラーモデルでは0や1に近い値を指定すると、その色は飽和してしまい、現実的ではない色になってしまうからです。例えば、(1, 0, 0)は赤色ですが、(1.5, 0, 0)と指定すると、赤色よりも濃い色になってしまいます。

一方、明度を「0.009~0.875」の範囲で指定することで、RGBカラーモデルで表現可能な色を表現することができます。この範囲であれば、飽和した色が表現されず、現実的な色を表現することができます。

荒さの表現について

 シェーダーの粗さは、表面の質感や素材によって異なります。例えば、石やコンクリートのようなザラザラとした表面の素材では、粗いシェーダーを使用することで表現することができます。一方、ガラスや金属のような滑らかな表面の素材では、より滑らかなシェーダーを使用することが適しています。

 シェーダーの設定を行う際には、素材の特性をよく理解することが重要です。素材の特性を把握するためには、実際の物体を観察したり、写真を参考にするなどして、より詳細な情報を収集することが必要です。

プラスチックの粗さの適正値

新品のプラスチックの粗さ「0.2~0.3」

粗さ0.2
粗さ0.3

通常のプラスチックの粗さ「0.4~0.5」

粗さ0.4
粗さ0.5