やりたいこと
こちらの動画(0:11~0:15辺り)のような、ダイヤモンドの虹色の輝きを再現する。
3Dモデルの準備
Blenderにデフォルトで用意されている「Brilliant Diamond」というオブジェクトを使用します。
アドオン「Add Mesh : Extra Objects」をオンにすると使用できます。
シェーダーエディターのノード設定
レンダーエンジンはCyclesを使用します。
設定1
まずはシンプルにグラスBSDFを使用してレンダリングしてみます。
IORはデフォルトの1.4(ガラスの屈折率相当)のままです。
結果:そこそこキラキラしています。
設定2
次は、IORを2.4(ダイヤモンドの屈折率相当)に変更します。
結果:かなりキラキラしています。
設定3
設定2でもかなり輝いていますが、虹色ではありません。
調べてみると、光の色ごとに屈折率が異なることによって虹色に見えるようです。
下記のページによると、赤色と紫色の光の屈折率は次の通りです。
色に応じて異なるIORを設定すれば、虹色を再現できるかもしれません。
次は、こちらのノードでレンダリングしてみます。
結果:虹色のキラキラが現れました!
設定4
色ごとに異なるIORを設定するという方向性はよさそうです。
設定3では色を赤、緑、青の3つに分けましたが、この分割をもっと増やせばよりリアルな輝きになるかもしれません。
こちらの動画で面白い方法が紹介されていましたので、そのまま取り入れさせていただきます。
動画を真似して作成したノードがこちらです。
結果:全体的に黒っぽく、反射が強くなりました。設定3よりも虹色のグラデーションはきれいに出ている気がします。
設定5
設定4は反射が強すぎたので、光沢BSDFをグラスBSDFに置き換えてみました。
結果:設定4より反射が抑えられ、全体の色が明るくなりました。
まとめ
設定1~5の結果を並べてみます。
設定5が一番ダイヤモンドっぽい気がしますが、どうなんでしょうか?
宝石に詳しい方、教えてください。