こんばんは!わたしだよ!
ここ数日、というか昨日と今日ですけども、ひたすら Blender で図形作っていて、そのときに物質の屈折率 (IOR, Index of Refraction Values) から、それを元に Specular の値を求める必要がありました。
何の話だ、という感じですが、まぁ要するにリアルな宝石とかを作る際のシェーダーの設定に使う値です。
ということで、以下は IOR から Specular を求めるための数式です。
$$ Specular = (\frac{IOR - 1}{IOR + 1})2 / 0.08 $$
これを元に、一般的な宝石の値を当てはめていくと、下のテーブルのようになります。
※有効桁数は小数第 3 位まで
| 宝石 | IOR | Specular |
|---|---|---|
| アメジスト - Amethyst | 1.544 | 0.572 |
| 琥珀 - Amber | 1.546 | 0.575 |
| アクアマリン - Aquamarine | 1.577 | 0.627 |
| エメラルド - Emerald | 1.561 | 0.600 |
| ラピスラズリ - Lapis Lazuli | 1.610 | 0.683 |
| トパーズ - Topaz | 1.620 | 0.700 |
| ルビー - Ruby, サファイヤ - Sapphire, ガーネット - Garnet | 1.760 | 0.948 |
| ダイヤモンド - Diamond | 2.419 | 2.153 |
これをシェーダーに投げつけると、下のような結構リアルな宝石ができます。

といった感じで、今日のメモでした。ではではまた明日!