HDRIライティングの特徴

KeyShotやHDR Light Studioを使っていると、ああ、ここに置けたらみたいなケースが多いと思うのですが、下記のエントリー参考になると思います。
原文はこちらからです。

HDRI環境の中でオブジェクトの大きさがどのように反映されるか見てみましょう。CGレンダリングでのライティング用途において最も一般的に使われているのはパノラマ形状です。(他にVertical Crossなどがありますね)この四角形の画像は2:1のアスペクト比を持っています。球形状のオブジェクトにマッピングされるとレンダリングスペース上のある一点から360°を俯瞰してその視点を正確に表現します。HDRIは様々な方法で作成可能ですが今回はSpheronカメラで撮影したものと仮定します。

上の画像ではカメラは三脚に固定されています。魚眼レンズを用いており、180°いっぱいの画角を持ちます。真上から正面を通って真下までという形です。このカメラは上に向かって角度を変えて縦に切り取った横長の画像を作成します。それら画像が全て隣同士に並べられるとパノラマ画像ができあがります。

上の画像では赤い玉がカメラから遠ざけられています。結果としてパノラマ画像上ではボール自体は小さなものとなります。これはまあわかりやすいですね。

さてここからが面白い所です。上の画像では青い玉は赤い玉に比べてかなり大きなものであることがわかります。ただし、カメラの視点からは“見た目”はほぼ同じものとなります。赤い玉の後ろに青い玉の輪郭が見えるだけです。パースペクティブであることを考慮すれば当たり前のことかもしれません。それに加えてここでは、パノラマ画像上では大きさの概念、カメラ視点からオブジェクトへの距離の概念が無いこともわかります。オブジェクトは単純にビューの角度において一定の比率を占有するにすぎません。角度が大きければ、オブジェクトは近いかあるいは大きいかという風になります。

これはCGライティングにおいてHDRイメージを使用する時何を意味するのでしょうか?上の画像は2つのソフトボックススタジオライトを並べたものです。ビュー上では同じ角度を占めています。サイズがかなり違ってもパノラマ画像上では同じものとして見えます。

HDR Light Studioを実際に使ってライティング環境を構築する時、HDRI環境におけるこのサイズと距離の概念はとても役に立ちます。

上の画像では灰色のソフトボックスがリファレンスです。
ライトの大きさを二倍にするには、サイズを二倍にします。これはわかりやすいですね。
ライトの距離を二倍近づけるにもサイズを二倍にします。
この二つ、パノラマ画像上では同じ効果となります。両者に違いはありません。

HDR Light Studioでは50%のサイズで設定したライトは球形マップを照らすのと同じ高さを持ちます。つまり四角い/テント状のライトを作りたい時は50%×50%のサイズにするとこれが四角形の側面となります。HDR Light Studioの画面上で作成した例が下のものです。

そういえば、似たような作業をPhotoshopでも出来るという話を聞いたことがあります。HDRIをPS内でひっかいて、でも場所はインタラクティブにはわからないのでPhotoshopで保存してそれをMayaで開き直してMental Rayでレンダリングしてそれをいったりきたり、と能率は著しく悪そうですが確かにやってやれないことはありません。ただ、そういう根性論的な手法はあまり宜しくないとも思われます。こういうツールで短時間でライティング詰めて空いた時間を他の作業に使った方がよほど生産的です。

あと、一点、この説明非常にわかりやすいのですが、文中でもいわれているようにHDRIには距離の概念がありません。で、本当にピンポイントにここに当ててという場合にいささか制限があります。(特に車のような複雑な形状の場合です。上の画像ではヤカンなので問題は無さそうですがw。)つまりスタジオライティングを100%再現できるものでは無いということを予め念頭に置かれたほうが良いと思われます。で、ここから先はPhotoshopの出番なのですが、考えてみればレタッチ作業通常の写真でも行っています。そういう意味ではCGIに即したポスト処理を行えば、HDRIの持つ制限も充分カバーできると個人的には考えています。上に述べたようにツールでやれることはツールで効率よく行ってという手法です。

IBL(イメージベースドライティング)に関して

イメージベースドライティング(IBL)に関して面白いブログがありました。こちらでも紹介したいと思います。KeyShotはIBLのみを光源として用いているソフトウエアです。参考になると思います。

このエントリーでは3Dソフトウエアを使う際に使用するライティングの種類を述べて次にイメージベースドライティングが何故有益なのかを説明します。

上の画像は典型的なCGライティング、スポットライトを用いています。ドラゴンモデルをレンダリングするのにに一般的なシェーダーを用いています。CGスポットライトはドラゴンの方向に向けられていてライトと陰、そして白いハイライトを作り出しています。この白いハイライトはフェイク=偽のもので、シェーダー内のスペキュラー値で決定されます。フォトリアリスティックなアプローチではありませんが、ライティング手法としては今日も一般的に多くのCGクリエータに用いられています。リアリズムをもっと付加するには光源を見えるようにして偽のハイライトを無くす必要があります。

上の場合は、エリアライトを用いています。これもイミッターを使う手法です。基本的にはスポットライトと同じテクニックです。ただし3Dの形状やオブジェクト側からライトを出力してそれが目に見えて、リフレクションも同時に表現されています。リフレクション内に光源が見えており、つまり本物ののハイライトが作成されているのでこれによりかなり(一つ上に比べて)リアリスティックに見えます。この場合、偽のスペキュラーは用いられていません。イルミネーションとリフレクションが程よくミックスされて上手く表現されています-これにより更にリアリズムが増しています。イミッター内に画像を置いたりライトを置いたりして微妙な、凝った表現をすることもできます-つまり実際の撮影でソフトボックスを用いるような効果です。窓のような形状を置く手法もあります。CGライトはシーン内どこにでも置くことが出来ます。どこにライトを当てたいかを正確に設定できます。

さて、ここからがイメージベースドライティング(IBL)です。上の画像ではHDRIの環境マップがライティングを行うように球形のオブジェクトに巻き付けられていて、レンダリングを行うとイルミネーションとリフレクションが同時に作られ、表現されます。ドラゴンはあたかもその環境に存在するが如く見えています。HDRIに内包された現実世界の微妙なディテール、その全てがうまくリアリズムに寄与しており、これがレンダリングの質感を高めています。

イメージベースドライティング(IBL)が持つ制限の一つがこれです。上の図でわかるようライトは常に球形状から中心に放射されています。このため、イメージベースドライティング(IBL)は3Dスペース上で特定の場所にライトを置くことが出来ません。これは例えば、建築の内装などには適していないことを意味します。逆に宝石、工業製品、自動車などのライティングを行う場合、それ以外にも球形のマップの中に置いてレンダリングするものには向いていることがわかります。球形のライティングマップの真ん中に置かれたオブジェクトとその周りにあるHDRIが作成する正確なライティングとリフレクション(ユーザーが欲する場所に置かれています)、これにより高品質のイメージが作成されます。ディテールと微妙な表現、この二つを同時に達成します。

他のHDRIを使ってライティングしたものです。HDRI内のディテールがリフレクション上で表現されてイメージをよりリアリスティックなものにしています。

HDR上でのライト数は無制限です。ライトの位置と種類を変えることにより、オブジェクト上のライティングを様々な形で変更、表現できます。

HDRイメージには無数の微妙なディテール表現が含まれています。堅いオブジェクトを表現するだけではなく、直接光、間接光の表現も可能です。上のイメージはソフトなHDRIデザインを用いたものです。通常の四角い、硬い表現のライトを用いるより程よい効果が得られます。カメラマンが良く、トレーシングペーパーや他の素材を使って間接的な柔らかい光を作り出しているのと同じ効果がここで見られます。

HDRイメージは例えば太陽光が雲によって覆われているといった複雑な表現も可能です。画像として捉えられるものは何でも光源として利用できます。イメージベースドライティング(IBL)の革新的な部分です。ライトを作成する際、非常にフレキシブルです。

イメージベースドライティング(IBL)は只微妙な表現を行うだけではなく、ライティングを行う際、表現上多くの可能性を(クリエィティビィティ)、秘めています。HDR Light Studioはインタラクティブにイメージベースドライティング(IBL)を作成するソフトウエアです。Synthetic lighting、HDR Picuture lightなどのツールを使って複雑で微妙なライティング環境を作成します。イメージベースドライティング(IBL)を用いたCGライティングを行う際に、斬新でインタラクティブな手法を提供します。

HDR Light Studioのブログから引っ張ってきた記事なので多少製品の宣伝も混ざっている所はご勘弁ください。ただし確かにインタラクティブで簡単にライティング設定が行えます。
ちょびっと補足すると上2つ、IBLを用いないものはOpenGLのライティングです。まあ以前からあるやり方なのでポピュラーなこととCGオペレーターが慣れていることもあって広く使われています。こちらの欠点はライトを足していくと重くなる、ということでしょうか。HDRIのほうは基本的に画像なのでライトの数は無制限です。ちなみにイメージベースドライティング(IBL)の最初の提唱者がKeyShotの開発者でもあるJensen氏です。10年以上前からアイデアはあったのですが当時のハードスペックでは追いつかなかった事情があります。そういう意味では以前では考えられなかったことが出来るようになってきました。

新しい環境ファイル-2

KeyShotはデフォルトで環境マップ=Environment mapがいくつか用意されてます。KeyShotの場合は環境ファイルがライトを兼ねていますのでこれを変えることにより異なる演出が可能です。以前、こちらのエントリーでもいくつかご紹介しましたが、新しいファイルが追加されたので公開します。Backplate=背景版がついているものとついていないものがあります。

Computer Room


早朝に撮られたものです。窓から差し込む太陽の間接光、天井からの電灯の2つが光源です。この環境マップとバックプレートは小さな電気製品等に最適です。

環境ファイル バックプレート

Garage

早朝にガレージを撮ったもの。バックプレートは複数枚用意されてますのでレンダラーのチェック、小さな製品に最適です。

環境マップ バックプレート

Contemporary Kitchen


キッチンの内部を撮影したものです。天井からは冷色系のアンビエントライト、窓からはもっと強い外光が差し込んでいます。

環境マップ

Munich Hallway


ホールの中程で撮影されたもの。窓からは太陽の直接光、天井からは冷たい色のアンビエントライトが来ています。

環境マップ

Mammoth Road


カリフォルニアのマンモスという所で晴れた日に撮影されたもの。所々雲で遮られた太陽からの直接光が降り注いでいます。(あちらの自動車広告で良く使われるようなトーンです)

環境マップ

Parking Garage



空の、他の車がいない駐車場で撮影されたものです。背景から差し込む間接光、弱い上部からのライトから成り立っています。

環境マップ

ちなみにちょっとしたTipsですがBackplateが無いものでパースが合わない場合自分で作ることが可能です。

  • KeyShotで環境マップだけ読み込む
  • 環境マップを回したり、高さを変えたりして任意の絵を作る。
  • この時、被写界深度を有効にするとぐっとリアリティが増します。
  • Ctl + Pでレンダリングする。

KeyShotのカメラは実際のカメラに近い挙動を示すので例えばPhotoshopなどでやるよりもいいものができます。

※なお拡張子が.hdzというファイルはKeyShot独自のファイルですので他のレンダリングソフトでは使用できません。

バンプマップを使ったエンボスロゴの作成方法

本家のtipsのほうで取り上げられてましたので、ここでも簡単に学習しておきます。いろんな手法がありますがここではKeyShotのロゴを作成しています。

まずはPhotoshop側で下記のように設定します。

  • 通常バンプは黒白の画像を作成しますがここでは白と透明の下地を使用(ロゴの部分だけを浮き出させるようにです)
  • png形式で保存(アルファチャンネルを別個に作る必要が無いので)
  • 上記画像を作成後、KeyShot側で読み込む。

上の作業が終わったら今度はKeyShot側で下記のように設定します。

  • リピートを切って一カ所に表示
  • Keep aspect ratioのチェックをオフにして自分で任意に上下比を変更する。
  • ポジションをクリックして好きな場所に移動
  • 角度で上下逆さまのテクスチャーを回転
  • ロゴの部分は色を保持したままテクスチャーを作成。保存後KeyShotに適用。
  • syncにチェックを入れるとバンプマップと同期して設定が簡単に。
  • intensityを落として見かけを良くする

となります。
KeyShotの場合、この辺の操作非常に簡単です。一度ビデオをご覧いただければ(英語で恐縮ですが)すぐにできるようになります。

ちなみにバンプでマイナス値を入れると凹み部分として表現されます。
下記の画像のようになれば完成です。


サンプルファイルをこちらに置いておきました。試してみてください。