2008年8月2日土曜日

HDRIにRig

MaxのマップではHDRIを使って映り込みを入れる場合、その「向き」はつかみにくいものです。
水平方向に回ったようにするには、SphericalEnviromentオプションでUOffset値を調整します。
しかしこれは、海や地面など、カメラ前にぐっと伸びているような平面に対しては、MaxのマップのOffset値をいじったところで一体どの向きになっているのかは直感的ではありません。
今回はクリエイティブマーケットさんのところにある無料だというHDRIが使いやすそうだったので、テストに使わせていただきましたが、012.hdrです。
この画像は太陽が雲に隠れていますが、このように明瞭に光源があるものを操作したい場合が多いですね。

↑Circlrを回すと、球体に貼ったマップが連動して回るようにリグ組みしました。
太陽のマークなんかをスプラインで入れてみたりするのが楽しかったりするので、
こんな夜中でもチマチマやってしまいます。

↑レンダーするとこんな具合になりました。

↑で、たとえばもっと左に回したい場合、Circleをまさに直感的に左にグリッと回します。

↑レンダーしてみるとマップが連動してずれてくれるので、映り込みが左にグリッとずれ込んでいますね。

さて、このようなリグ組みはエクスプレッションですが、内容はもちろんたいしたことはありません。
この場合は、cricle01を回転させた分だけ
、マップのUOffsetに値が入るようにしました。
SphericalEnviromentオプションです。
UOffsetに組み入れる式は次のとおり、
-($circle01.rotation as eulerAngles).z/360
となります。
circle01はCircleオブジェクトの名前によって違ってきます。
as eulerangles キーワードを使うと、見慣れた度の表記にできます。
UOffsetが1.0で360度回転することを考えると、これは度の表記になっている値を360で割れば割合が出ることになりますね。
180度回してみて、値が0.5になることを確かめてみてください。

制作・©:のぼる/N.Lab