チュートリアル / 宋さんの3ds Max キッチンスタジアム
第2回:鏡面反射光 反射レベルを素材の値で管理
- 3ds Max
- コラム
- チュートリアル
- ビジュアライゼーション
- レンダリング
フレネルの法則を理解する
鏡面反射光とリフレクションと呼ばれる反射の属性は同一のものと説明しましたが、この反射のレベル調整が実は曲者です。ですが、これを理解することで大幅にクオリティをあげることができます。海岸写真ですが(残念ながらCGではありません)、手前の波打ち際では海底のサンゴ礁がはっきりと見えます。しかし、沖に行けばいくほど、空の青が写りこんで見えなくなります。
ガラスや水などの物体は、視野角によって透明度(実際には反射強度)が変化します。左図の海の写真では波打ち際では、視点からの入射角が大きいため透明度が強くなり、海底が見えます。しかしながら沖に行けばいくほど、視点からの入射角度が浅くなるために透明度が低くなり、空の青だけが写りこんで見えるようになります(海が青いというのは空の色のことですね)。波打ち際に立つと自分の足ははっきり見えるのに、沖で泳ぐ人の体は見えないというのはだれでも経験ありますよね。
この透明度の変化(反射率の変化)はその物体が持つ光の屈折率に起因します。物体はその材質により屈折率が変化します。この屈折率のことを3ds MaxではIOR(Index of Refraction)と呼びます。
以下に代表的な材質のIORを記載します。
代表的な透明物のIOR
真空 | 1.0 |
空気 | 1.0003 |
アルコール | 1.329 |
水 | 1.330 |
氷 | 1.333 |
アクリル樹脂 | 1.490 |
ポリ ウレタン樹脂 | 1400-1700 |
ガラス | 1.500 |
ポリエチレン樹脂 | 1.530 |
エメラルド | 1.570 |
ルビー | 1.770 |
サファイヤ | 1.770 |
水晶 | 2.000 |
ダイヤモンド | 2.419 |
このIORの係数はその物体固有のもので、光の入射角による反射率の変化に比例します。つまり上の表から言うとIORが極端に低い液体で作られた海ではどこまで行っても海底が見える不思議な海になるわけです。
電化製品などのマテリアルでIORの値を1.7前後に設定しレンダリングするとリアルな表現を実現できる場合があります。これは多くの工業製品がその製造過程の最終仕上げとしてポリウレタン樹脂などの高IOR値の材料を塗布しているためです。実際のポリエチレン樹脂などは1.7ほどのIORはありません。特に高級車のような高価格な工業製品や高級家具ほど手間のかかるクリヤ塗装を丁寧に厚く塗布する場合が多いですよね、ですからIORの値を上げると高級感が高まるような仕上げになります。
ちょっと変わった例を見てみましょう。瀬戸焼きに代表される磁器製品も釉薬(うわぐすり)として鉱物系の素材を使ってます。
釉薬有りの磁器のCGイメージ
釉薬なしの磁器のCGイメージ
プラスティック製品の場合は、多くがポリエチレン樹脂で作られており、この場合の屈折率は1.5前後になります。しかも実際には鏡面仕上げは稀ですので数値的にはかなり下がります。さらには表面に塗料を塗布しているか、あるいは光の透過率がどのくらいかで、質感の設定が大きく変わってきます。3ds Maxで提供しているArchi&Designマテリアルでは、このIORと反射率の関係をBRDFというくくりで操作できるようにしています。
IORの値は自動的にフレネル反射のカーブに連動します。カスタムで編集することも可能です。
先程の釉薬有りの磁器マテリアルを、IORの値を変えて検証します。この磁器のマテリアルは反射の値を0としたマテリアル(釉薬なしの磁器)に反射成分だけのマテリアルをセラックマテリアルで合成しています。釉薬用に使ったArchi&DesignマテリアルのIOR値は約1.9という高い値を設定しています。これは釉薬自体がその成分を鉱物と金属(そのほとんどがガラス系鉱物)から構成されているため、参考として水晶の2.0に近い値にしました。このように物理的に正確な値を理解することで、試行錯誤することなく短時間で正しいパラメータを入力できるようになります。
IOR 2.4
IOR 1.9
IOR 1.4
IORの設定によってオブジェクトの反射レベルがコントロールされているのがわかります。左端のサンプル画像ではIORを2.4という非現実的な値にしています。この2.4という値は「鉄」が持つIOR値とほぼ同じです。そう言われてみると、鉄製の壺のように見えませんか?
亜鉛 | 2.400 |
クロム酸化物 | 2.705 |
アルミニウム | 2.62 |
酸化アルミニウム | 1.76 |
カドミウム | 2.49 |
タングステン | 2.76 |
鉄 | 2.36 |
銅(酸化銅) | 1.95(2.71) |
チタン | 2.52 |
マグネシウム | 1.50-1.70 |
マンガン | 2.50 |
白金 | 2.90 |
水銀 | 2.95 |
ダイヤモンド | 2.419 |
ガラスや宝石などの鉱物系のIOR値は高くても2.0程度ですが、金属系素材の場合IORは非常に高い値を示します。
注意しなければならないのは、単純に金属系は反射率が高いというわけではなく、フレネル関数の変化率が少ないという点です。IORの値が高ければ光の入射角にかかわらず反射率の変化が少ないということですね。装飾用途のメッキ素材として使われるような、クロム系の金属は右表のように非常に高いIORを示します。
ダイヤモンドが美しいといわれるのは、どのカット面でも光をキラキラと反射するからです。IORの理解を深めると一般的に難しいといわれる金属の表面表現も比較的楽に設定できます。リアルな金属の質感が誰でも短時間で完了!となるわけです。
右下のサンプルイメージは先程の壺のマテリアルをセラックからはずし、鉄と同じIOR値を設定しています。つまりクリヤ塗装なしの状態です。テクスチャーも鉄の表面パターンを模倣したものに変更していますが、これだけの設定でかなり金属製の壺に近くなったと思います。
それでは次回は設定が難しいとされる金属の設定方法について述べていきましょう。