物理ベースレンダリング(5) クリア塗装

glTFにおける物理ベースレンダリングについて、今回は[クリア塗装]拡張設定について紹介します。

クリア塗装 (Clearcoat)

クリア塗装の使用例として代表的なものとしては車のボディがあげられます。ボディそのものは金属やカーボンなどの素材の表面にペンキなどで色付けされていますが、それだけではあまり艶のある質感にはなりません。さらにその上に無色透明の塗装を施されています。これは艶を出す目的のほかに、表面を保護する役割も果たします。

ボディの素材・色にかかわらず、クリア塗装によって周囲が反射して写り込む

glTFの[クリア塗装]はその無色透明の塗装に相当します。下のボディの層に対し、クリア塗装の層による反射が加わった2層構造の質感を簡単に表現できるようになっています。

2層構造であるため、下のボディ層とクリア塗装は異なる別々の法線を持つことができます。

通常の[法線]マップとは別にクリア塗装専用の[クリア塗装法線]マップが用意されているので、どちらか片方または両方に法線マップ画像を割り当てることで、下の層とは異なる方向に反射した先の背景が写り込むようになります。

左右とも金属感0.5、粗さ0.3、法線マップあり、クリア塗装法線マップなし

上の例では左半分がクリア塗装なし、右半分はクリア塗装ありですが、それ以外はどちらも同じパラメータです。左右とも通常の[法線]マップは同じ画像を設定しているので表面がわずかに凸凹していますが、[クリア塗装法線]マップは割り当てていないのでクリア塗装の表面はのっぺりしていることになります。

サンプル画像を観察すると、左側も表面の反射による周囲の写り込みはあるものの、その反射を見るだけではどんな背景なのかはほとんどわかりません。一方右側では、下の層に重なるようにクリア塗装による反射がくっきりと写り込んでいるので、背景の様子を何となく把握するくらいはできます。

[クリア塗装]には法線マップ以外に以下のパラメータが用意されています。

[クリア塗装係数]でその反射の強度を調整したり、[クリア塗装粗さ]でぼんやりした反射にすることができます。