こんばんは!わたしだよ!
ここ数日、というか昨日と今日ですけども、ひたすら 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 |
これをシェーダーに投げつけると、下のような結構リアルな宝石ができます。
といった感じで、今日のメモでした。ではではまた明日!