Maya2017 Arnoldで360度のパノラマレンダリング②

どうも、Maya太郎です。
前回に続いてArnoldのパノラマレンダリング活用の続きをやります!

前回の最後に作成したパノラマ画像は1280x720のサイズで
背景画像として貼り付けるには解像度が低かったので
4096x2160のサイズで再計算しました。(時間がかかりました)
2-1
縮小表示だと違いはわかりませんが…

前回の復習として繰り返しになりますが、
新規シーンで
「レンダー設定」から[Arnold Renderer]→[Environment]→[Background]→[Create Sky Shader]
1-15

つづいて、さきほどの360度パノラマ画像を読み込みます。
1-16

EXRファイルなど画像によってによってはカラースペースが異なる場合があるので
カラースペースを画像に合わせます。
2-2

「カラースペース」内の「sRGB」を「Raw」に変更しましょう。
1-18

これで画像の色が適切になりました。
球体に貼り付けられたパノラマ画像です(背景&光源として使えます2-3

ビューポートをぐるぐる回すと
Googleストリートビューのように見渡せます。
2-4

カメラを引くと
球体の様子がよくわかります。
2-5

自由度が高そうな世界観ですが、
原理上、このパノラマ画像は移動に制約があります。
撮影地点から移動すると、パノラマ画像が破綻する。

三脚で撮影するカメラのように、位置を固定して角度を自由にすることで、パノラマ画像を利用した楽しい合成遊びができます。

■カメラを固定する■

カメラを新しく作成し、原点にあることを確認します。
2-4

カメラのアトリビュートの移動と回転(Z)の一部をロックします。
2-6b

ロックされたアトリビュートはグレーの表示が付き
解除しない限り操作できなくなります
2-7

表示をカメラに切り替えましょう
2-8

ビューポートをグリグリ見渡せて楽しいです、ロックしたアトリビュートのおかげで
不意な操作でカメラの位置などが動くことはありません。
回転のZ軸を固定にしたのはカメラが傾かないようにするためです。
(通常この使い方でカメラを傾けることは無い)
広角設定にした方が視野が広がるのでオススメです。
2-9

実は先ほどのパースビューの時もすでに広角側に設定していましたので
変化はありませんが…
2-11

 

■空間にオブジェクトを配置する■

ただ、見渡しているだけではつまらないので
簡単なオブジェクトを配置します。
今後の作業は位置固定になったcameraからの視点と
シーン全体を見渡すパースビューの2つの視点を切り替えながら行います。
2-11

新規で球体を作ります。
すると、カメラビューは原点にあるので、カメラからの視点では生成された球体のなかに埋もれた状態(真っ黒)になるので、こういう場合はパースビューで位置確認をする、ということです。
2-12

パースビューを見ながら
プリミティブの球体をいくつか(お好みに合わせて)シーン内に配置します。
パノラマ空間での配置なので、普段の作業と違って(感覚が違うので)配置しにくいかもしれません。
2-13

球体に新しいマテリアルaiStandard(アーノルドのスタンダードマテリアル)を割りあて、その設定をプリセット設定のクロム(Ai_Chorme)に置き換えます。プリセットに関するすこし詳しい説明は過去記事で。
2-14

Arnoldでレンダリングすると、このとおり。
ライトはひとつも置いていないのですが、
パノラマ画像を貼ったスカイシェーダーからの照明や反射が有効になっています。
2-15

よく見ると、球体の反射が真っ黒になってる部分があります。これはレイトレースの計算深度が少ないためで
「映り込みの中の映り込み」をどこまで深く計算するか、の設定になります。
もちろん深度を増やすと計算は重たくなりますが…
2-16

■レンダリング設定に脱線してしまう■

レンダー設定のArnoldの「Ray Depth」の項目の調整が必要になってきます。
今回の件だけでなく、ここでの数値設定は非常に重要です。単純にここでの数値を増やせばいいのですが、増やすほどに計算負荷がかかるので最低限必要な部分をふやすというバランス調整が必要になるのです。
2-17

一般のレンダラーのレイトレースに関する設定ならリフレクションの数値を上げるところなのですが、
Arnold(今回)の場合はGlossyを2にあげた段階で映り込みが反映されました。念のため3を入れましたが。
これはArnoldがスペキュラーを0以上に上げた段階でオブジェクト間の相互反射を始める仕様に関係するものだと思います。しかしmaya太郎はそこまで説明できるほど詳しくないので…(要は慣れ!)
2-18

いろんな質感の球体を配置してみました。
今度はGlassのプリセットを使った球体の結果が思わしくありません。(本当はガラスの質感を再現したい)
2-20

これは、aiSky(スカイシェーダー)の設定内の「Visible in Refraction(屈折に可視)」にチェックを入れると、対処可能です。設定箇所があちこちに散らばっているので面倒ですね…(序の口ですが)
aiSky(スカイシェーダー)の選択は画面の背景部分(パノラマ画像部分)をクリックすると背景画像のメッシュがアクティブになるので設定に移りやすいです。
2-21

結果はこのとおり
2-22

Glass設定にした球体は、中が詰まった水晶体のような状態になっています。
シャボン玉や電球のように中が中空のガラス的な質感を表現するのは、モデリングで対処するしかないようです。
手前の球体にモデリング処理ですこし厚みをつけてみました。(薄皮モデリング)
しかしまたも黒い球体に逆戻りしてしまいました。今度は下図のようにレンダー設定でのRefractionの数値を上げます。
2-22

理由はこんな感じです。
電球のような薄殻状の屈折物は屈折カウントを4以上に上げておく必要があります。
(複数の形状が重なる場合はそれ以上にする必要があるということ)
2-24

ですのでRefractionを4にするとうまくいきました。透け具合も理想どおりです。
2-23

同じ質感でも、中身が詰まった(水晶玉やレンズ風)場合と、薄皮(電球や卵の殻)風にするのでは
ずいぶん結果が異なりますね.経験者の方なら当然のことですが、最近始めた方はこのようなところでつまづくことって多いんですよね。2-25

今回は作例を追っていく過程で、レンダラーの反射屈折に関する対処の説明に追われて
作業自体は進められませんでした。
また次回に続きます!