金属のマテリアルって、ただMetallicパラメータを調整するだけではないのです…‼
BlenderのPrincipled BSDFシェーダーにはMetallicというスライダーがありますが、単にこれを上げただけではリアルな金属にはなりません。でも自分含め、多くの人はこのスライダーをなんとなく調整しているだけだと思います。
見た目重視ならそれでも全然いいのですが、もしリアルな金属マテリアルを作りたい、チタン、鉄、銅…さまざまな金属を作り分けたい、と思ったら、BlenderのMetallic BSDFにはきちんと表現できるパラメータや指標があります。
また、鏡のような反射、色のつき方、粗さによる光の拡散など、金属特有の性質を理解しないと「それっぽくない金属」になってしまいます。
この記事では、Metallic BSDFや金属マテリアルが内部でどう機能しているのか、そしてどうすればリアルな金属を作れるのか、わかりやすく丁寧に解説していきます。
この記事は、BlenderのMetallic(金属)マテリアルの作り方、Metallic BSDFを解説した中級者向けの記事です。
難易度
そもそもなぜ金属は光ってるの?
金属といえば、ピカピカに光る質感です。でも一体どうしてそんなにキラキラしているのでしょうか?
金属には自由電子がある
金属と非金属の違いで一番に思い浮かべるのは、「電気を通す」ということではないでしょうか?導線に使われているように、多くの金属が電気をよく伝えます。これを電気伝導性があるといいます。
なぜ電気伝導性が高いかというと、金属原子は電子を特定の相手と共有せず、「電子の海」の中で多くの原子が結びついているような結合(=金属結合)をしているため、電子が比較的自由に動き回れるからです。-に帯電している電子が流れることで電気が流れます。

キラキラしているのは自由電子たちのおかげ
金属が輝いているのも自由電子たちの働きです。光は電磁波で、光の波は電気的な力を持った電場を持っています。その電気的な波が自由電子に当たると、自由電子たちは電気の力によって振動します。
すると、自由電子たちの振動により、また電磁波を生成します(再放射)。こうして自由電子たちが作った電磁波が反射の光線として私たちの目にキラキラとした表面として見えているわけです。

なお、金属表面がツルツルで平らであるほど、電子の再放射した電磁波は特定の方向(=鏡面反射方向)に強くなります。これが金属が鏡のように反射する理由です。
Principled BSDFのMetallic(メタリック)
BlenderのPrincipled BSDFにおけるMetallic(メタリック)は、そのマテリアルが金属であるかどうかを示す値です。基本的には0か1のどちらか、つまり「非金属(ダイエレクトリック)」か「金属(メタル)」か、の二択です。
0.5などの中間値も設定可能ですが、物理的には不自然な「半金属」になってしまい、リアルさを損なうことが多いため注意が必要です。

金属マテリアルの設定の仕方
Principled BSDFで金属を表現する場合は
- Metallicを1にする
- それぞれの金属の反射の色をBase Colorに入れる(金なら黄~橙色)
- Roughnessで粗さを調節する
- Specular Tintで周辺の色をつけることもできる
右図は適当に黄色っぽい色にして金を表現してラフネスを変えてみている図です。Principled BSDFでは正確ではありませんが、このようにお手軽に金属を表現できます。

金属と非金属の違いとは?
Blenderのレンダリングエンジンでは、金属と非金属で以下のような違いがあります:
| 性質 | 非金属 | 金属 |
|---|---|---|
| 反射色 | 白っぽい | マテリアル自身の色 |
| 拡散反射(Diffuse) | あり | なし(完全な鏡面反射) |
| 鏡面反射(Specular) | 控えめ(1.0以下) | 強い(1.0固定) |
| サブサーフェス | 使用可能 | 使用不可(Metallic=1のとき) |
右図:左Metallic=1 右Metallic=0
どちらもベースカラーをピンクっぽい赤にしています。金属の反射光がピンクっぽく、鏡面反射が強いことがわかります。
また、金属はSpecular値を弄らなくても常に強く設定されています。また、Tintで周辺に色をつけることができます。(Specular値は反映されない)

金属は拡散反射を持たないため、Diffuseカラーの効果は失われ、主に「ベースカラー」が反射光の色として使われます。金属の見た目は反射と粗さ(Roughness)だけで決まると言っても過言ではありません。
Metallic BSDF ノードのパラメータ
Metallic BSDFノードは、金属の外観をリアルに再現するための専用シェーダーノードです。通常のPrincipled BSDFでも金属は表現できますが、こちらはより物理ベースで精密な金属表現が可能です。
EEVEEでもCyclesでも機能しますが、4.3から出たノードなので、旧バージョンのBlenderに持っていくと機能しなくなります。
Distribution(マイクロファセット分布)
金属表面の微細な凹凸の統計的な分布方法。これにより反射の性質が変わります。
- GGX:標準的でリアル。最も一般的
- Multiscatter GGX:エネルギー保存的。暗くなりすぎる問題を軽減(推奨)
- Beckmann:旧方式(Cycles専用)

Fresnel Type(フレネルのタイプ)
物体の表面で光が反射する割合は、見る角度によって変わります。これを説明するのがフレネル効果(Fresnel Effect)です。
金属の場合、この反射率が角度に応じて変化するだけでなく、色にも偏り(色付き反射)があります。これを正確に再現するために、Fresnel Typeという方式を選ぶことになります。
2つの方式から選択できます:
- F82 Tint:アーティスト向け。見た目で制御
- Physical Conductor:物理ベース。n/kによる科学的な再現
F82 Tint
Adobeが定義した「F82 Tintモデル」は、複雑なIORの代わりに色を直接指定してフレネル反射をコントロールできる方法です。
- Base Color…正面から見た色
- Edge Tint…斜めから見た色
これを使えば、「銅のように正面はオレンジで、斜めからは赤っぽく光る」といった芸術的・表現的なコントロールができます。
簡単に色をいじって 疑似的な金属、アニメ的な金属 を作りたいときに便利です。



下のF82 Tintモデルの金属表現の項目で具体的な数値データの表を載せています。
ちなみにF82 Tintの「82°」というのは、視線ベクトル(カメラ方向)とサーフェスの法線ベクトルのなす角が約82°のとき、つまり非常に斜めから見たときの色を意味しています。

この「視線ベクトル」と物体表面の「法線ベクトル」とのなす角度を「入射角」と呼ぶ。
Physical Conductor(物理ベース IOR)
これは実際の金属の物理データ(複素屈折率)を使って再現するモードです。以下の2つを使います:
• IOR(屈折率 n)…波長ごとの実数部。光が素材を通るときの「曲がりやすさ」を示します。RGBごとに別々の値になります。
• Extinction(消衰係数 k)…波長ごとの虚数部。光の吸収や減衰の度合いを表します。これもRGBごとに別々の値になります。
この「n(屈折率)」と「k(消衰係数)」を組み合わせることで、科学的に正確な金属の反射色を得られます。

nとkの値の設定の仕方
例えば金のn,kを調べたいとき
- Shelf…Selected materials for 3D artists
- Book…Metals
- Page…Gold(調べたい金属名)
と設定。WavelengthにRGBの各色の波長を入れます。R = 650 nm G = 510 nm B = 475 nm (で入れていますが、範囲の幅があり、調べても定まった波長の値は得られませんでした…)
すると下にnとkの値が出てくるので、各rgbの設定項目にこの値を入れます。

右の画像はこの値を入力して出力した金のマテリアルです。ちょっと赤いですね…。
ちなみにBlender Manualでは違う値が載っていますが、グラフから、どんな波長の長さにしてもそんな値は出ないだろ…っていう値で、このページをBlender側がオススメしておきながら、一体どういう値の出し方したのか謎です…。

下記のPhysical Conductor用 金属マテリアルデータ表に数値などを記していますので良ければ参考にしてください。

Metallic BSDFの共通項目
Roughness(粗さ)
金属表面の「ザラつき」具合。

1.0:ぼんやりした粗い反射0.0:鏡のようにシャープな反射
Anisotropy(異方性)※Cycles専用
ハイライトの伸び方の方向性。
髪の毛や研磨金属のように、ハイライトが一方向に伸びる効果を出せます。

- 0 → 伸びなし
1→ タンジェント方向に沿ってハイライトが伸びる
Rotation(回転)※Cycles専用
異方性の向きを回転します。1.0で1周(360°)。

なお、Glossy BSDFと比べてハイライトの方向が90°回転しているため、0.25(=90°)を加えると見た目が一致します。
Normal(法線)
表面の向きを表す法線マップを入力します。細かい凹凸表現に使います。

Tangent(接線)
異方性の方向性を決めるための入力です。光沢の流れや研磨方向を決定します。
ベクトルを入れれば大体機能します。


リアルな金属を表現する方法
Metallic BSDFを使い、ある程度リアルな金属質感を出す方法です。
下記のデータを使い、実際にF82 TintやPhysical Conductorモードで金属を表現します。
- F82 Tint用 金属マテリアルカラーデータ表
- Base Color と Edge Color にRGB値かHexコードを入れて金属の反射色を再現します。下記のデータは鉄以外はBlender Manualに載っているものですが、Physically Based database for CG artistsにも色の参考値があります。
- Physical Conductor用 金属マテリアルデータ表
- RGB波長それぞれのIORとExtinction値を入力して物理的に正確な金属を表現します。下記は鉄以外はBlender Manualに載っているものですが、refractiveindex.infoに他の金属の参考値が出力されます。RGB波長は各個人によって入力する値に幅があります。ここではR = 650 nm G = 510 nm B = 475 nmでデータの値を出していますが、特にこれでなければならない理由はないです。
F82 Tint用 金属マテリアルカラーデータ表

| Material | Base Color (RGB) | Base Color (Hex) | Edge Tint (RGB) | Edge Tint (Hex) |
|---|---|---|---|---|
| Titanium (Default) | 0.617, 0.576, 0.540 | CEC8C2FF | 0.695, 0.726, 0.770 | D9DDE3FF |
| Aluminum | 0.911, 0.912, 0.917 | F5F5F5FF | 0.848, 0.877, 0.916 | EDF1F5FF |
| Copper | 0.972, 0.694, 0.486 | FCD8BAFF | 0.961, 0.969, 0.942 | FAFCF8FF |
| Gold | 1.000, 0.735, 0.353 | FFDFA0FF | 0.993, 1.000, 1.000 | FEFFFFFF |
| Iron | 0.560, 0.570, 0.580 | C5C7C8FF | 0.900, 0.910, 0.920 | FAFCF8FF |
Physical Conductor用 金属マテリアルデータ表

| Material | Titanium (Default) | Aluminum | Copper | Gold | Fe |
|---|---|---|---|---|---|
| IOR | 2.757, 2.512, 2.231 | 1.333, 0.945, 0.582 | 0.235, 0.729, 1.369 | 0.000, 0.470, 1.439 | 2.91,2.81, 2.68 |
| Extinction | 3.867, 3.404, 3.009 | 7.434, 6.340, 5.181 | 5.666, 2.562, 2.227 | 182.6, 2.189, 1.660 | 3.09,2.90 ,2.83 |
ちなみに表紙の金属たちですが、金や銅の製品はPhysical ConductorではなくF82 Tintを使用しています。
物理的に正確な値よりも、もっと色味を強く表現したいときなどに自分である程度色を「作った」方が金属っぽく感じるかもしれません。

参考
参考にさせていただいたチュートリアル動画です。
光の反射について解説している動画です。

逆張りクソ野郎が生き残る
関係ないコラム。光線が当たった自由電子は反射光だけではなく、あらゆる方向に電磁波を出しています。でも結局生き残るのが入射光を法線に対して逆に映したような反射光だけなので、金属表面は鏡面反射してキラキラしているわけです。
この鏡面反射する角度だけが生き残るのは、入射光の波が干渉し、同じ位相とタイミングで強め合って増幅されるのが、この反射方向だけだったという話。
この世界で私たちはいろいろな荒波にもまれて生きており、波に同調して流されていくしか生き残れないのかと思ってしまいます。しかし、この反射光のように、波を利用して反射して生きるような逆張りの生き方もあるのでは…?(クソ野郎と書いてしまったのは、そういう生き方してる人って傍から見たらそう見えるだろうなと思って…。)
見えている光は生き残った光なんだけど、今までとは違う方向に向かう生き方が生き残るのかもしれません。