background

拡散IBLライト・そしてPoserの話。

2006年10月16日(Mon)

前回3DCGにおける一般的なIBLの説明をしたので、今回はPoserの拡散IBLライトについて。

拡散IBLライトを使用するには、ライブラリのライトのカテゴリから「IBL」または「IBL異方性反射(←誤訳)」を開き、シーンの状況に一番近い雰囲気の絵を選んで適用する。手動でセットするには、まずIBLにしたいライト以外のライトを全てオフにし、特性パレットで拡散IBLを選択して影をオフにする。それからライトの色を白にして、マテリアルルームでライトのカラーにイメージマップノードを接続すればいい。場合によっては特性パレットの環境閉塞にチェックを入れる。

Poserの拡散IBLライトは、シーン全体を包むような巨大な球体があると考え、そこに画像を貼り付ける。そしてその画像の色がライトの色となって、その方向を向いたオブジェクトの面に照射される。ここまでは通常のIBLと同じである。実際には厳密に色分けされるわけではなく、その方向の周辺にある色の影響も受けている。画像と方角の対応は次のような感じだ。

124-1

ここでいう前後左右上下とは、シーン全体を包む球体の前後左右上下のことである。これは固定で、前といえばZ軸の+方向、上はY軸の+方向、右はX軸の+方向になる。ライトをどちらに向けても照射される光の方向が回転するわけではないので要注意。光の方向を変えたいなら、画像自体を反転するなどの工夫をこらさなければならない。

ところで拡散IBLライトは「あらゆる方向から照らされるライト」なので、普通に使うならば影をオフにしなければならない。すると当然ながらあらゆるところが照らされてしまうわけで、その結果どこにも影のないのっぺりした絵ができてしまう。

そこで、拡散IBLライトの影を描画するには環境閉塞を使用する。環境閉塞の詳しい説明はまた別の機会に譲るが、「なんか狭いところを黒く塗りつぶす」機能だと思えばいい。環境閉塞はレイトレース系のシェーダなので、使用する時はレンダリングオプションで「レイトレース使用」にチェックを入れよう。

124-2

画像ファイルの形式は、Poserのイメージマップノードが対応している形式ならなんでもいい。……ちなみにHDRIのファイル形式の一つであるHDR形式(拡張子.hdr)には対応していない。

これは、通常のIBLとPoserの拡散IBLライトの一つ目の違いである。元々HDRIは従来の約1776万色では表現できない現実の光を表現するために考案された形式だ。だから当然、HDRIでないファイル形式の画像を使用したIBLでは、充分な光量が得られない。

124-3 (全く同じ設定でIBLの画像だけを変更した例。画像以外の光源は使用していない)

そんなわけで、HDRIに対応していないPoserの拡散IBLライトも、単体で使用するに足る程のクオリティは期待できないことがわかるのである(もっとも、HDRIを使用するソフトでも、IBLのみでは直接光の成分が不十分なので別のライトを併用することが多いのだけど)。

二つ目の違いは、拡散IBLライトはあくまでもライトであって背景ではない、という点だ。

本来のIBLの利点の一つは、背景画像をライティングに使用することで近景オブジェクトと背景のライティングを違和感なく一致させることができる点である。ところがPoserの背景ルートノードには、プローブ画像をマッピングする機能がない。ウィンドウを1枚の板ポリゴンに見立て、画像を(通常は)UVマッピングしているだけだ。

さらにPoserの反射は、レイトレース反射ですら背景ルートノードを参照しない。接続されたイメージマップノードの内容を、(通常は)オブジェクト自身のUV情報に基づいてマッピングしているだけなのだ。(通常は、と断るのは、イメージマップノードはUV以外のマッピングも可能だからである)

ということは、拡散IBLライトでは背景とライティングの一致も、背景のリアルな写り込みも実現できないということになる。これは大きなデメリットである。

また、拡散IBLライトはあくまでもライトであって、レンダリング方式が変わるわけではないのも大きな違いの一つだ。

IBLはグローバルイルミネーションを実現する手法の一つである。なので、IBLを使用する他の多くのソフトはGIを実現できるレンダラを備えている。しかしFireflyはレイトレース系シェーダを使えるだけで、実質スキャンラインレンダラである。だから他のソフトなら可能な二次反射光の計算も、Poserには計算できないのだ。

たとえば背景を遮るような大きな赤い壁に周囲を囲まれたオブジェクトがあるとき、普通ならオブジェクトは壁の赤い色の影響を受け、遮られたIBLの画像の影響は受けないはずである。ところがPoserでは(「集める」ノードを使えば壁の色の影響を描画することはできるものの)そんなことはお構いなしに拡散IBLライトの画像の影響を受けてしまう。これは人物を単体でレンダする場合などはいいが、オブジェクトが密集しているシーンなどでは注意が必要だ。シーンの状況に合わせて、画像そのものに加工する必要があるだろう。

もう一つ、違いというわけではないが致命的な特徴がある。拡散IBLライトでは、ライトやオブジェクトのマテリアル設定に関わらず、鏡面反射と反射が描画されないのだ。上2つの画像はPoserの基本小道具そのままだが、ハイライトが出ていないのがわかるだろう。ただ拡散IBLライトを使用した画像がいまいちリアリティに欠ける、最大の理由がこれである。特に肌や瞳の輝き、金属物のマテリアルなどは違いが顕著で、素材感が失われてしまうのだ。

124-4

もっとも、鏡面反射について言えばこの仕様(バグではない)は順当なものだ。そもそもIBLでは鏡面反射という成分は存在しない。なぜなら鏡面反射とは物体表面の「光源の反射像」を疑似的に表現したものであり、反射が正しくレンダリングされ、かつ光源がちゃんと描画されるならば、鏡面反射は必要ないものだからである。前述のShadeの画像では、壺と机の光沢(鏡面反射)は0に設定されている。右側のHDRIフォーマットに現れている光沢は、少しだけ適用された反射値によるものだ。

しかしこれはIBL、しかもHDRIによって光源が反射像として描画される場合の話である。HDRIに対応しておらず、さらに反射も描画されない、ではどうやっても光沢を表現できない。仕様上の設計ミスというべきか、このあたりどうもP5→P6の開発に奇妙な躓きがあるように思われるところだ。

とまあ、嘆くだけではPoserと自分自身の創作意欲を腐らせるだけである。Poserの拡散IBLライトは、文字通り「拡散」色だけ「画像に基づいてライティング」する「ライト」なのだということ。これらの特性を踏まえて、次は実践編に移りたいと思う。

ところで。

解答.答えは(ア)無限光。
拡散IBLライトはシーン内に特定の位置を持たず、また照射範囲も持たず、どんな場所でも同じように照らし出す。物体の表面がどんな明るさ(色)になるかは、ただオブジェクトの面の向きとライトの色(画像)によって決定する。この特性にもっとも近い特性を持つのは無限光ライトである。
向きを持たない点では(ウ)ポイントライトも近いと言えるが、その他の特性が一致しない。(エ)環境閉塞(AO)はライトではなく、マテリアルシェーダ(色付け機能)の一つであり、IBLに併用することが多い機能である。

……実は、拡散IBLライトは影をオンにすると無限光と同じ影を描画する。理屈的には影を描画してはいけないはずなのだが、このことからも拡散IBLライトが無限光ライトを拡張した機能であることがわかるのである(笑)。

■頂いたコメント■


コメント:(MAKIRI)
久しぶりのコメントで失礼いたします。
実は、ひそかにKyotaroさんのtipsをWebアーカイブにて保存しております。
いやしかし、非常に参考になります。Poserのマニュアルどころか、解説本ですらオミットされている部分に、それこそ「光」を当て、コンテンツとしてしっかり「レンダリング」されているなあと感心しております。
Romばかりで恐縮ですが、少しでもこのTipsを自作品に生かしたいなあと考えています。次回も大期待です!


コメント:(sannzi)
今晩は。
今日初めてIBLライトをまともに使用しました。
いたずら程度に触った事はあったんですが。
それでも尚、分からないのでどうしようと思っていたら実践編があるというのでホッとしました。
説明用にレンダリングされた画像が違いが分かりやすく又美しいと思いました。
特に一番上のボールのグラデーションは綺麗ですね(^^
今回も有難うございました。
・・・
クイズ、はずしました、根拠無で答えたから当然ですよね(本当はチョット残念)。


コメント:(linkinpark)
PoserのIBLはなんちゃって拡散IBLだったのですねー。こういう情報(しかもPOSER固有の)を知る機会ってまずないのでほんとに有難いです。前の問題の答えは「環境閉塞」だと思ってました、なんかこう難しそうな単語だしwそれくらい何も知らないって事なんですよね…


コメント:(Kyotaro)
>MAKIRIさん
あらら、MAKIRIさんも保存されているクチですか(^^;
今のところエントリを消去するつもりはないんですけど……手元にあったほうがいいというのはあるんでしょうね。もったいないお言葉、恐縮です。
Poserの解説本は何度か立ち読みしたことがあるんですが、DCのパラメータの図以外には惹かれるところがなかったので購入には至りませんでした。
お役に立てるコンテンツになるよう頑張りたいと思います~。

>sannziさん
拡散IBLライトはコツを掴むと案外手軽に使えるんですが、最初はとっかかりが難しいですよね。実践編はできるだけ具体的な例を使いたいと思います。
グラデーションのボールは拡散IBLライトの意外な長所ですね。こういう突飛な色の組み合わせでも、綺麗に描画してくれるので、便利だと思います。
クイズはすみません、まあ一番新しいライトが一番原始的なライトに近い、という可笑しみを表現してみたかったので(^^;

>linkinparkさん そう、なんちゃってIBLなんですよ(^^
まあ販売側が売り文句にする時は、わざわざ「疑似的なIBLです!」とは言いませんからね~。肝心なのはちゃんとしたIBLとは何が違うかを押さえておくことだと思います。
クイズの環境閉塞はあれです、一個だけ種類の違う選択肢があって、いかにも正解っぽく見えるという……まあひっかけという奴です(;^^A


コメント:(pines)
そうかぁ。拡散IBLは、何か変だと思ってたら、そういうわけだったんですね。やってみたら、確かにベタッとしてました。
あと、環境閉塞も何だろうと思ってたのが、やっとわかりました。これは使わなきゃ。今までマニュアルをほとんど読まずに使ってたけど、Kyotaroさんのおかげでいろいろわかってきました。


コメント:(Kyotaro)
>pinesさん
鏡面反射が出ないのは、意外と気付かないというか、分かりにくいところですよね。環境閉塞は使うと確実にレンダリングが遅くなりますが、リアリティが増すのでお勧めです(^^
逆にアニメっぽい雰囲気にするならオフにすると、面白い感じになると思います。





Menu

Profile

Kyotaro

確定名:Kyotaro
ネタを探しているらしい。

Categories

Calendar

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

Comments

Archives

Track back

RSS feed

Links

Search

※2011年4月6日のサーバ障害の為、エントリのアドレスが以前のものからズレています。当Blogのエントリにリンクを張っておられた方は、お手数ですがアドレスのご確認をお願い致します。

※Internet Explorer非推奨。