今回はMAYAのarnoldを使ってガラスのマテリアル設定をする方法を詳しく記事にしました。
使うのはこちらの適当に作った瓶のモデルに、
地面を設定して環境ライトとエリアライトを左上から1灯配置してる部屋にしました。
aiStandard Surfaceマテリアルの設定方法
ハイパーシェードからaistandardsurfaceを作ってモデルに適用したら、「Transmission」のWeightを1にするとガラスのような透けた設定になるので、Specularの「IOR」を1.5にしてガラスの設定にします。
IORとはその素材の屈折率です。水やガラスやダイヤモンドなど素材によってIORの数値は異なりますが、こちらと、AREAJAPANさんのこちらのページが参考になります。
Opaqueのチェックを外す
マテリアルを設定したら、モデルを選んでアトリビュートのpolySurfaceshape〜のArnoldのタブの中にあるOpaqueのチェックを外す必要があります。
試しにOpaqueのチェックを外さない場合だと影が必要以上に落ちて暗くなりますが
Opaqueのチェックを外すと影が落ちずにキレイに表示されます。
必要以上に暗くなる事があるのでチェックを外して使います。
ガラスのモデルは厚みを付ける
ガラスのモデルを設定する場合はモデルに厚みを付けないと変に暗くなり、ガラスの中が透けていないように見えます。
それぞれレンダリングしてみると、厚みがないと蓋の閉め口が黒くなり、スモークが掛かったような表現になってしまっています。
底が厚いとリアルに見える
作る物によって厚みの見え方は違いますが、瓶の場合は全体的に少し厚みを付けるだけではなく、底を厚くする事でリアルな屈折が表現されてより自然でリアルな見え方を表現する事が出来ます。
液体を入れる場合は少し大きさをずらす
瓶の中に液体を入れたい場合は、モデルとピッタリ同じ大きさのモデルを用意するとレンダリングした時に破綻する事があるので必ず少し大きくしてずらすか、モデルをより細かく分割する事でキレイにレンダリング出来るようになります。
↓液体モデルを少し大きくしてレンダリングしたら破綻せずキレイに表現できました。
奥にあるガラスを透明にレンダリングする
ガラスのモデルは何個も重なっていると黒く見える事があります。
そんな時は「レンダー設定」の「Arnold Renderer」のRay DepthのTransmissionの数値が低いと奥にあるのに重なっているモデルが暗くなるのでRay DepthのTotalとTransmissionの数値を上げる事でキレイに透けた表現を作る事が出来ます。
Transmissionの機能を詳しく知りたい人はarnoldrendere.comのこちらの記事を参考にしてみてください。
Mayaのarnoldでガラスをキレイに表現するまとめ
- aiStandardSurfaceを使う
- IORの数値をガラスの場合は1.5にする
- Transmissionのweightを1にする
- ガラスのモデルは厚みを付ける
- ガラスのモデルに液体を入れる場合は少し大きさをずらす
- モデルのOpaqueのチェックを外す
- 重なってるガラスが暗い場合はレンダー設定のRay DepthのTotalとTransmissionの数値を上げる
ちなみにガラスに少しくすんだような汚れ等を付けたい場合はこちらの記事を参考にしてみてください。
こんな本を読むとより知識が深まりそうですね。ガラスの科学 (おもしろサイエンス) (日本語) 単行本 –