Arnold 5からのガラスなど透明物・半透明の表現(Transmissionの調整)

どうも! Maya太郎です。

Arnold 5から基本シェーダーの設定方法が大きく変わりました。
使い慣れたいくつかのパラメーターの名称が変更になり
最初のうちは混乱してしまいます。
ガラスなどの透明オブジェクトの設定方法も設定方法がガラッと変わってしまいました。

ということで簡単な設定方法を紹介します。

【ご注意】
現在一般的なMaya2017(update3まで)のインストールでは
Arnoldの最新版はインストールされていません。
(一世代前のArnold4.X版が同梱されています)

当記事に記載されているArnbold 5(MtoA2.0)をお使いいただくには
開発元のSoildAngle社から最新版を入手してインストールする必要があります。
今後のアップデートからは標準となるはずなので当ブログでは
一足先に記事の内容を最新版に移行しております。

記事内容の検証をされる場合は、お使いのMtoAのバージョンをご確認ください。

 


まず、シーン内に球体を作成します。
背景はおまけです。(映り込みなどの参考用)

standard Surafeceシェーダーを割り当てます。(Arnold 5以降)

 

まずはBaseのWeightをゼロにします。
一般的にはDiffuseにあたるパラメーターです。
どうしてこんな名称にしてしまったのか…(直感的に分かりにくいです)

 

つづいてSpacularに関する設定ですが
いまのところこの設定のままでも大して問題はないので
気になる部分があれば後から調整することにします。


トランスミッション?

今回の目玉調整箇所は、この
Transmissionです。
トランスミッション?

↑ こっちをまず想像してしまいます。

Standard Surfaceシェーダーになってから
パラメーターの項目名が
日本人の和製CG用語としては直感的でない名称が多くなって
いまいち直感的に機能を把握できず違和感がありました。
Transparencyでもよかったのでは????
(このあたりネイティブ英語との語感の違いがあるのだと思いますけど)

Transmissionをゼロ以上に設定すると、グレー表示だった他の設定が有効化します。
ビューポート表示でも透明表示が反映されます。

ここは透明度1まで上げます。(お好み次第で)

この状態でレンダリングすると…
ガラス玉っぽいのですが、クリアな状態ではありません。くもってるような…

さきほど見過ごしていた、Specularの設定の
Roughnessの設定が0.1になっており、若干表面がざらついてた影響です。
ここをゼロにします。
(0.1ぐらいなら、ざらつきは気にならないと思ってたのですが)

ラフネスとは表面粗さのことで、1になるほど粗くなります。
モデリングで表現できない細かなレベルでの表面の粗さを調整するのです。
研磨の時に言われる「鏡面仕上げ」というのは
ひたすら磨き込んで鏡の様な反射が得られるようなことを言います
しかし、現実的に完全な平滑面(=0)は存在しないでしょうが
CG的には0にしてもかまわないでしょう。

きれいになりました。

きれいなガラス玉のようですが、
この玉の屈折も、実は材質によって違いが出てきます。


屈折率は素材によって違う

IORとは屈折率(Index of Refraction)のことです。
今回の場合透明物のレンズ様な効果に違いがでてきます。
一般的に 水は1.33、ガラスは1.5~1.6(他にも成分によって違いが出る)など
いくつか覚えておいた方がいいものもあります。

当然レンダリング結果にも違いが出ます。

素人目に見れば水もガラスも
屈折感の雰囲気が出ていれば

「細かいゆがみの差はどうでもいい」感じなのですが…

他人の作品を見て水かガラスかの違いは
たぶん…無抜けないと思います(汗)
(形状によります)

では!