Maya2017 Arnoldで法線(normal)マップがうまくいかない件、少し解決です。

どうも!Maya太郎です。
以前の記事で「法線マップに悩まされる話」を書きましたが、
すこしだけ解決となる方法を見つけたので紹介します。

この方法、以前から薄々分かっていたのですが、技術的な裏付けがないとうかつに紹介できないと思って
根拠となる情報を集めていたのですが、なんとユーザーガイドにあっさり載ってました(笑)

結論に至るまでの考察過程、他にも気になる部分があるので一通り目を通してくださいね。

 

以前の連載企画でおなじみの顔。(少しだけ修正しています)
1-1

法線(normai)マップも前回使用したものです。Z-Brushで10分ほどでしわや皮膚の描き込みをしたものを使い続けています(本来間に合わせのつもりだった)。Z-Brushの出力したままだとあっさり過ぎた(効き目がほとんどなかった)のでPhotoshopでコントラストを高めてます。1-2

まず、Arnoldのスタンダードシェーダー(aiStandard)で法線(normal)マップを適用。ビューポートで確認。1-3

Arnoldでレンダリング。きちんと法線(normal)マップが適用されています。あたりまえですが…
1-4

しかし、あたりまえでなくなる理不尽な現象が起きてしまいます。
スタンダードシェーダー(aiStandard)からSkinシェーダーに変更したら法線情報がとんでもないことになるのです!
前回の記事では、この現象のためにバンプマップやディスプレイスメントマップなどの代用策に逃げざるを得ませんでした。1-5

気になる個所がいくつかあります。
1-6

頭頂部のポリゴンメッシュがガタガタにみえる現象は、シェイプノードのArnoid→SubdivisionのTypeを変更します。
1-7-1

「none」→「catclark」に変更し、Iterationsを少し上げると、きれいになります。
しかし、Iterations上げるとレンダリング処理が急激に重くなるので注意。
この設定は、サブディビジョンサーフェースをArnoldで行う上での分割に関するアルゴリズムと分割数の設定だと思われます。この件に関してはもう少しじっくり調べてから再度記事にする予定です。
(本題からそれるので今回はおまけネタ扱い)1-7

ここから本題です。
法線(normal)マップのカラースペースが「sRGB」になっているところを1-8

「Raw」に切り替えます。するとサンプル画像が白っぽくなるので本来これは正しくない設定と思ってしまうのですが…1-9

レンダリングしてみると、おお、うまくいったではないですか!!!1-10(冒頭でも書いてる通り)この方法、ずいぶん前から自己解決していたのですが、
なぜこれでうまくいくのか理由をうまく説明できないので
紹介する根拠としてカラースペースの考え方に関する資料をいろいろ探していました。

すると、Arnoldのユーザーガイド(該当部分はリンクで)にあっさりと
1-8-1適当な意訳(中学英語)によりますと、
「法線(normal)マップ、ディスプレイスメントマップ、HDRマップはRAWモードで使ってね」とのことです。

苦労して辿りついた解決方法、実はユーザーガイドにあっさり答えが書かれていた…わけです。
ということで技術的根拠も必要なくなったので記事にした、というわけです。

ふぅ…

 

じつはこれで万事解決か!と言えばそうでもないんです。
凸凹部分に気になる影…1-11

この解決方法も実はユーザーガイドに記載されています。(情報元はこちらから)
とりあえず現状ではFresnel Affect SSSをオフにすれば解決するとのこと。
1-12

Fresnel Affect SSSをオフにすると、影の様なものはなくなります、しかし立体感が無くなるのです。1-14

 

ですのでユーザーガイド(該当部分)でも、このチェックは入れておいてね、と書かれているわけで…
1-13

Fresnel Affect SSSのオンとオフを比較しました。
同じサイズなのですが立体感が無くなって頭が一回り大きく見えますね。
本当は「オン」の立体感が好きなのですが、仕方ないのでしばらくは「オフ」で利用した方がよさそうです。

ということで、以前の集中連載企画からは間が空きましたが
当時の問題点の解決編ということで紹介しておきます。

海外のリアル顔SSSチュートリアルサイトの実例のほとんどがディスプレイスメントマップを多用している理由は
SSSとの相性問題もあるのかな?と思っています。

 

ではまた!