search
  1. PBRのラフネス|表面の細かな凹凸と映り込みのぼけ

PBRのラフネス|表面の細かな凹凸と映り込みのぼけ

編集部 読了 約6分

  • ラフネスとは、何を決める値?
  • ラフネスの値を変えると、映り込みはどう変わるの?
  • つやの無い素材を作るときの設定を知りたい

つやの無い素材は、表面の反射(鏡面反射)を0にして作ると思うかもしれません。しかし、3DCG のソフトの Unreal Engine の説明では、反射は0にせずラフネスを上げるのが正しい作り方です。

この記事では、ラフネスが表す表面の凹凸と、値による映り込みの違い、つやの無い素材の作り方を解説します。ラフネスなどの値を変えた見え方は、Blender 5.2 でレンダリングした画像で確かめましょう。

ラフネス(粗さ)とは、表面の目に見えない細かな凹凸がどれだけ粗いかを決める、PBR マテリアル(現実の光のふるまいに近づけて作るマテリアル)の値です。値が大きいほど粗く、映り込みがぼけて広がります。

ラフネスとは

滑らかな表面では光がそろった向きにはね返り、細かな凹凸のある表面では光がいろいろな向きに散ることを並べた図
滑らかな表面(左)と、細かな凹凸のある表面(右)で、はね返る光の向きの違いを表した図です。

ここでの凹凸は、マイクロファセットと呼ばれる目に見えないほど小さな平らな面が、向きをばらつかせていることです。

図は、その凹凸を大きくして描いたもので、オレンジの矢印が当たる光、青の矢印がはね返る光を表しています。

滑らかな面では、はね返る光の向きがそろうので、まわりの物の映り込みがくっきり見えます。粗い面では光がいろいろな方向へ散るため、映り込みがぼけて広がるのです。

ラフネスが主に決めるのは、表面の反射のぼけ方です(ガラスでは透けた先のぼけも決めます)。反射の強さそのものは、IOR Level という別の値で調整します。

ラフネスを上げると、はね返る光が広い範囲に散るので、映り込みは薄く広がって見えにくくなります。

Blender 5.2 の日本語の画面で、この値の名前は「粗さ」です。英語の画面や、Unreal Engine では「Roughness」と表示されます。

ラフネスの値による映り込みの違い

赤い非金属の球(上)と銀色の金属の球(下)で、ラフネスを0・0.3・0.6・1にして並べた画像
Blender 5.2 で、赤い非金属の球(上)と銀色の金属の球(下)のラフネスを、0・0.3・0.6・1にした画像です。

ラフネスは0から1の値で決め、0で鏡のようにくっきりした映り込み、1でつやの無い面になります。

画像は、Blender 5.2 でラフネスだけを変えた球です。0の金属の球にはまわりの箱と床がはっきり映り、赤い非金属の球では、光源が映った白い点(ハイライト)が小さく鋭く見えます。

0.3 では映り込みもハイライトもぼけはじめ、1ではほとんど見えなくなります。金属でも非金属でも、ラフネスを上げると映り込みがぼけて広がるのです。

ソフトの説明には、素材ごとの目安を挙げるものもあります。

3DCG のソフトの Unity の説明では、しっくいや滑らかな木は粗い側で映り込みがぼけ、鋼や鏡は滑らかな側でくっきり映ります。つやのあるプラスチックは、そのあいだです。

映り込みがくっきりしすぎたらラフネスを上げ、ぼけすぎたら下げて調整しましょう。

つやの無い素材の作り方

ラフネス1の暗い床を、カメラを光の来る側へ向けて浅い角度から写した画像で、表面の反射の強さを既定のままにした床と、0にした床を並べたもの
Blender 5.2 で、ラフネス1の暗い床を逆光で浅い角度から写した画像です。左は IOR Level 0.5(既定)、右は 0 です。

Unreal Engine の説明によれば、つやの無い素材も表面の反射を0にせず、ラフネスを上げて作ります。どの素材にも表面の反射があるので、ラフネスを高くするのが正しい作り方という考えです。

表面の反射(鏡面反射)の強さを調整する値は、Blender 5.2 ではマテリアルの基本の部品 Principled BSDF の中にあります。Specular の欄の IOR Level という値です。

0.5 が基準で、既定の 0.5 では調整がかかりません。1 にすると正面の反射が2倍になり、0 にすると反射がすべて消えます。

画像では、Blender 5.2 で、ラフネス1の暗い床を浅い角度(面すれすれに近い角度)から写しました。カメラは、光の来る側へ向けています。

「IOR Level 0.5(既定)」の床は奥へ行くほど明るい灰色に光り、「IOR Level 0」の床は一様に暗いままでした。ラフネス1の球を正面寄りから写した試しでは、この差はほとんど見えませんでした。

この試しで差が目立ったのは、浅い角度から見る所です。室内のパースで床を奥まで写すときは、奥の床がこの浅い角度にあたります。

つやの無い壁や床でも、反射の強さは既定のままにして、ラフネスでつやを消しましょう。

ラフネスマップで表す汚れや手あと

白黒のラフネスマップと、そのマップを入れた黒いつやのある天板を並べた画像
Blender 5.2 で、白黒のラフネスマップ(左)を、黒いつやのある天板のラフネスに入れた画像(右)です。

ラフネスの値は面全体で1つの値にするほか、白黒の画像で場所ごとに変えることもできます。この画像をラフネスマップといい、黒い所は鏡のように滑らか、白い所は粗くつやが少なく見えます。

Unreal Engine の説明で、ラフネスマップで表すことが多いと挙げられているのは、プラスチックや金属の汚れ・手あと・すり傷です。

画像は、Blender 5.2 で、雲のような模様のラフネスマップを黒い天板に入れたものです。マップの黒い所には箱がはっきり映り、明るい所では映り込みがぼけています。

ラフネスを変えて映り込みのぼけを見比べよう

同じ部屋の床を、ラフネス0.05と0.5にして写した画像を並べたもの
Blender 5.2 で、同じ部屋の床をラフネス 0.05(左)と 0.5(右)にして写した画像です。

ラフネスは、表面の細かな凹凸の粗さで、映り込みのぼけ方を決める値です。この記事で見たことは、次の3つでした。

  • 0で鏡のような映り込み、1でつやの無い面になる
  • つやの無い素材も、表面の反射は0にせずラフネスを上げて作る(Unreal Engine の説明)
  • 汚れや手あとは、ラフネスマップで場所ごとに変えることが多い(Unreal Engine の説明)

画像は、同じ床をラフネス 0.05 と 0.5 で写したもので、0.05 では窓とソファ・台がはっきり床に映り、0.5 では映り込みがぼけてほとんど見えません。

床や家具の映り込みが思ったとおりでないときは、ラフネスを少しずつ変えて見比べてみてください。

あわせて読みたい

  • 「PBRとは|物理ベースのマテリアル」(準備中) — ラフネスのほかの設定項目と、PBR の考え方を知りたいとき
  • 「PBRのメタリック|金属と非金属の反射の違い」(準備中) — 金属と非金属で映り込みの色が変わる理由を知りたいとき
  • 「メタルネス方式とスペキュラー方式|PBRの2つの作り方」(準備中) — グロッシネスを使う作り方との違いを知りたいとき
  • 「テクスチャの種類|カラー・ラフネス・法線・ハイト」(準備中) — ラフネスマップなど、マテリアルに使う画像の種類を知りたいとき
  • 「ガラスの質感|窓ガラス・鏡・すりガラス」(準備中) — すりガラスのように、粗さで透けた先をぼかす表現を知りたいとき

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。