【Blender5.0】キラキラのダイヤモンドを作る:Dispersion

blender
記事内に広告が含まれています。

Blenderで光や色が美しいダイヤモンドを作っていきます。ダイヤモンドはただのガラスや透明の物質ではなく、角度を変えるたびにチラチラと色が分かれて輝くところに魅力があります。

この光の性質はDispersion(分散)といい、光の屈折によって起こります。

この記事では、

  • Extra Objects アドオンの ダイヤモンドメッシュ
  • 屈折(Refraction)BSDF と ガラス(Glass) BSDF
  • Light Path ノード(Is Glossy Ray)

を使って、ダイヤモンドらしい Dispersion を強く感じられるシェーダーを作りながら、

  • Dispersion の考え方
  • なぜこのノード構成でキラキラ見えるのか

を、できるだけ分かりやすく解説し、自分で調節して美しいダイヤモンドを作れるようにしていきます。

原理が分かるとダイヤモンド以外の色が分離した綺麗なガラスなども作れるようになります。

この記事は、BlenderでDispersion(光の分散)を使ってダイヤモンドの作り方を解説している中級者向けの記事です。

難易度 3.0

スポンサーリンク

Dispersion(光の分散)とは何か

白い光は、実は1色ではない

まず前提として、白い光は、1色ではありません。
など、複数の色(波長)が混ざったものが白い光です。

屈折すると、色ごとにズレる

光は物体の中に入るとき、屈折(曲がる)します。
このとき、光の色(波長)ごとに屈折率がわずかに異なるため、赤い光と青い光では曲がり方が少し違ってきます。

一般的な透明物質では、波長が長い赤はあまり曲げられず、波長の短い青はより大きく曲げられます。

このように、色ごとに屈折の仕方が異なり、結果として色が分離して見える性質Dispersion(分散)と呼びます。

白い光がプリズム(ガラス)を通って光の分散が起こっているところ。下はクリスタル。色が分散してカラフルな分散が見えている画像

なぜダイヤモンドは特に分散が強いのか

ダイヤモンドは、

  • 屈折率(IOR)がとても高い
  • カットが多く、内部反射が何度も起こる

という特徴があります。
その結果、光が何度も曲がる、そのたびに色のズレが強調されることで、

  • エッジに色が出る
  • 内部で虹色っぽくチラつく

という、ダイヤモンド特有のキラキラが生まれます。

スポンサーリンク

ダイヤモンドを作る

ではさっそくダイヤモンドを作っていきましょう。

Extra Objects のダイヤモンドメッシュを使う

メッシュはアドオンに入っているダイヤモンドの形を使います。

❶アドオンを有効化
Edit > Preferences > Add-ons
Extra Mesh Objects を有効化

❷ダイヤモンドを追加
Shift + A
Mesh > Diamonds >Brilliant Diamond を使います。

このメッシュは、

  • ダイヤモンドらしいカット
  • 内部反射が起きやすい形状

になっているため、Dispersion表現の確認にとても向いています。

❸シーンのセットアップ

  • レンダーエンジン:Cycles
  • Background:カラー Black
  • ライト:好きなようにセットしてもらって構わないですが、Angleを小さくした方がはっきりとした光の分散が見えます。
  • Floor:板ポリで床面などを作っています。色を少し暗くした方が分散のコントラストが強くなります。

基本的な分散のシェーダーの作り方

今回作るシェーダーの基礎になるので、最初に分散シェーダーの基本的な作り方を解説しておきます。

Glass BSDFのカラーを赤(R1/G・B:緑(G:1/R・B:0)青(B:1/R・G:0)にして3個出してAdd Shaderで合成しています。実際の光は連続した無限の色が分散していますが、Blenderでは光の計算にRGB成分を使っているため、3色でズレを加算して分散を再現しています。

Glass BSDFのパラメータ:

  • Roughness…低い値を入れておきます。(3個とも同じ数値)
  • IOR…ダイヤモンドのIOR(屈折率)は2.4~2.42くらいの値です。
    • 物理的に正しくするなら、IORはの方が低く高くなります。(この数値を正しくしても物理的に正しい結果が出るわけではありませんが、IORの高さの順番を変更することで見える分散の色合いが異なってきます。)
    • 下図ではまず中間の緑のIORに2.41を当てておいて、そこにAddSubtractノードで赤や青に高低の差異(0.02~0.06くらい)があるIORを設定しています。IORや差異の値を変化させることで見え方が変わってきますので好きな見え方に調整してください。

レンダー設定

レンダープロパティでLight Pathsの設定をしていきます。

Light Paths > Max Bounces >
Total…66
Glossy(反射パス)…30
Transmission(屈折パス)…24
反射や屈折パスの回数を増やすとダイヤの表情が複雑になっていきます。

Clamping >
Indirect Light…100くらいまで上げる(間接光の最大強度の制限:1000とかまで上げるとノイズが収束しなくてフリーズするので注意してください)

Caustics > Filter Glossy…0~0.3くらい(シャープな反射をぼかすので、数値が上がるほどキラキラ感が弱くなります)

だいぶダイヤモンドっぽくなってきましたが、下面やふちの方に白っぽい色がついてしまっています。Glass BSDFはフレネル比率で反射と屈折を確率的にサンプリングしているため、屈折や反射が多くなりすぎると白っぽい色がついてしまうようです。これを修正するためにも次のセクションで改良版のシェーダーを載せています。

Indirect Light, Filter Glossyのパラメータ解説は詳しくは以下の記事でやっているので知りたい方は見てみてください。

スポンサーリンク

今回作るダイヤモンドシェーダーの考え方

全体ノード

  • 内部の光の挙動
    • 屈折(Refraction)BSDF
  • 表面反射として見える光
    • ガラス( Glass) BSDF

それを Light Path で切り替えるという考え方です。

基本的な分散のシェーダーの作り方」で作ったのと同じような方法で、Glass BSDFRefractionBSDFのセットを作ります。それぞれRGBのカラーに分けて3個BSDFを出して、Add Shaderで加算します。

そして、その2つのシェーダーをMix Shaderで合成します。

FactorにはLight PathIs Glossy Rayを接続しています。
上がRefraction BSDF
下がGlass BSDF

です。

※BSDFのIORやRoughnessの値には、「基本的な分散のシェーダーの作り方」と同じように、数値を入れやすいノードを組んでください。

それぞれのノードの解説

① Refraction BSDF(内部用)
ダイヤモンドの「中身」を担当します。
IOR:2.4 ~ 2.42
Roughness:0 ~ 0.05
IORを高くすることで、内部反射が増えDispersionが強く感じられるようになります。

② Glass BSDF(反射用)
こちらは主に、表面の反射・鋭いハイライトを担当します。
IOR:Refraction と同じ値(または好み)
Roughness:Refraction と同じ値(または好み)

③ Light Path ノードのIs Glossy Ray
Is Glossy Ray は、今計算している光が「反射・透過として見える光かどうか」を判定する値です。
反射・透過として見える光 → Glass
それ以外 → Refraction
という役割分担をしています。
なぜこの切り替えをするのかというと、Glass BSDFにある表面の白っぽい色(明確な反射や透過光ではない)がなくなり、内部のDispersionがより強く見えるようになるからです。

IOR と Roughness の調整ポイント

  • IOR
    • それぞれの色のIORの差が大きいほど色が強くなります。右図は、
      左側がR2.39、G2.41、B2.43
      右側がR2.36、G2.41、B2.46
      右側の方が色が強く出ています。
  • Roughness
    • 反射が強いなと感じたら、Glass BSDFのRoughnessを少し下げると良いです。
改良版のシェーダーで作った分散。クリアなダイアモンドに仕上がっている
スポンサーリンク

おまけ:コースティクス

せっかくキラキラしたダイヤモンドを作ったから、コースティクスも作りたい!という方向けの記事(中~上級者向け)

スポンサーリンク

ダイヤ以外のDispersion

ダイヤモンド以外にもDispersionを使って綺麗なガラスやクリスタルのような物質を作ることができます。

使っているノードは一緒です。

IOR、Roughness

右図上のPのオブジェクトは、Refraction BSDFでは粗さを上げ、Glass BSDFでは粗さを下げています。すると屈折して色が出た分散の部分だけ荒くきれいな色の帯が出ます。

下のスザンヌのクリスタルは、IORを普通のガラスの1.5くらいにして、反射のラフネスを調整して見やすく綺麗にしています。

ライト

当てるライトの調整も大事です。

強いエッジやコントラストがほしければ、Angleを低くしてあまり光がぼやけないように当てますが、色が移り変わる帯を表現したい場合は、例えばエリアライトのAngleを10~30°くらいまで上げてグラデーションの幅を広くする必要があります。

仕上げ:Composite

グレアやコントラスト、色調整ノードを使って、足りない彩度や強さを調整します。

スポンサーリンク

まとめ

ダイヤモンドのキラキラの正体は Dispersion(分散)
Dispersionは屈折率が高く、内部反射が多いほど強く見えます。

屈折BSDF+Glass BSDFを
Light Path(Is Glossy Ray)で切り替えることでダイヤモンドらしい見た目を作れます。

見た目の調整

IOR と Roughness、ライト環境(強さ、Angle、背景の色)が結果に強く影響します。
ノードの意味を理解しておくと、
「なんとなく値を変えてみる」から狙って見た目を調整できるようになります。

スポンサーリンク

関連記事

IORや屈折についての解説記事です。今回の記事の内容がよくわからなかった方はこちらから読んでみてください。

ライトパスノードについての解説です。

コースティクス(集光)についての記事。綺麗な色や光の表現に興味がある方にオススメです。

プロシージャルなコースティクスの作り方(中~上級者向け)

シェーダーでマテリアルを作るときのガイド記事。シェーダーの記事まとめです

コメント