background

アンビエント・オクルージョン

2006年11月05日(Sun)

ライティングのまとめ、最後に取り上げるのはアンビエント・オクルージョンだ。Poserでは環境閉塞という名前で呼ばれているが、この微妙な翻訳はPoserだけのものなので、3DCGで一般的な「アンビエント・オクルージョン(Ambient Occlusion、以下AO)」と呼ぶことにする。直訳すると「環境光の遮断」というところだろうか。

AOは正確にはライティングに関わる技術ではなく、拡散IBLライトの回のクイズで答えたようにマテリアル(材質設定)の一種である。ただ、拡散IBLライトを使用する時には必須といっても過言ではないので、ここで基本的な使い方をまとめておくことにする。

AOを使うには二通りの方法がある。まずは基本的な、マテリアルとしての使い方から。

まずはマテリアルルームに入り、AOを適用したいマテリアルを選択して、ウィンドウ右のWacro「環境閉塞のセットアップ」をクリックする。すると現在選択しているマテリアルの拡散値と鏡面値に「環境閉塞」というノードが接続され、レンダリングオプションの「レイトレーシング」のチェックが(手動設定の場合)ONに変更される。

127-1

とりあえず、そのままテストレンダしてみよう。AOを適用したマテリアルの、周囲が狭くなっている箇所に影が落ちているはずだ。

127-2

このように、AOは「狭くなっている部分を自然に暗くする」という材質設定である。Wacroを使用せずにAOを適用する場合は、新規ノード>ライト>レイトレース>環境閉塞でノードを作成し、拡散値と鏡面値に接続しよう。代替拡散色や代替鏡面色に何らかのノードを接続している場合は、そちらの入力にもAOノードを接続してAOの計算結果を反映させるようにしておくといい。

127-3

それでは、AOがどのようにして周囲を「狭い」と判別しているのか、その仕組みを見てみよう。

レイトレーシングを使用しているとき、カメラの視点から画面の各ピクセルに向かってレイ(視線)が飛ばされる。そのレイはAOの適用されているオブジェクトに衝突すると、その地点から半球状のランダムな方向に、サンプル用のレイを数本飛ばす。サンプルレイは設定された一定の距離を進み、その間に何らかのオブジェクトに衝突すると「障害物アリ」だと判断する。そして、サンプルレイがどれだけ障害物アリになったかでその地点の密集度を判断し、その狭い分だけを黒く塗りつぶすのだ。そしてこれを画面に映る全てのピクセルについて繰り返す。

127-4

ここで、最大距離はサンプルレイが探索の為に進む距離(単位は環境設定による)、サンプルはレイの衝突地点から飛ばすサンプルレイの本数である。サンプルを増やすと精度は向上するが、当然レンダリング時間は伸びるので注意しよう。強度は塗りつぶす強さで、値を1にするとサンプルレイが全て「障害物アリ」になったときその地点を完全な黒色に塗りつぶす。

ここで注意したいのが前回説明した非平面ポリゴンとレイバイアスである。非平面ポリゴン上で上記のような障害物判定を行うと、Poserのレイトレースは非平面ポリゴン自身を障害物だと判断してしまうので、すべて「障害物アリ」、つまり強度が1なら真っ黒に塗りつぶされてしまうことになる。そこで、レイバイアスでレイが非平面の谷間を脱出するまでサンプルレイを飛ばさないように設定してやるのだ。

127-5

レイバイアスの単位も自分が環境設定で設定している単位による。距離は非平面を脱出できるぐらいあれば充分である。あまり大きく設定しすぎると、サンプルレイを飛ばす基準位置が本当に判定しなければならない障害物より遠ざかってしまう。ノイズが発生しない距離でなるべく小さめにするといいだろう。

127-6

マテリアルルームでAOを設定する場合、品質を細かくセッティングできるのが利点だが、逆に適用したいマテリアルに全てにノードを追加しなければならないので結構な手間になる。特に拡散IBLライトを使用すると、全ての材質に影を落とす必要が出てくるのでこれがかなり面倒臭い。そういうときは、マテリアルではなくライトにAOを設定する。

127-7

ライトの特性パレットで環境閉塞のチェックをONにすると、マテリアル設定に関わらず全てのオブジェクトにAOの効果が適用される。この時、最大距離、レイバイアス、そしてサンプル数はシーンAOオプションダイアログで、強度は上のダイヤルで設定する。

AOをライトに適用する場合、計算はライトごとに行われるのでAOの適用されたライトが当たらない部分にはAOの効果は適用されない。だからといってシーン内にやたらと多くのライトを読み込み、そのすべてにAOを適用するとレンダリング時間が飛躍的に増大するので、その場合はマテリアルで適用するようにしよう。

ライトの特性パレットでAOを適用するメリットは、すべてのオブジェクトに対する設定を一括で指定できるところだ。ただし、シーン内のオブジェクトの大きさに差がある場合、最大距離やレイバイアスをどのオブジェクトに合わせるかで効果はガラリと変わってしまう。小さいオブジェクトに合わせると大きなオブジェクトには不十分だし、大きなオブジェクトに合わせると小さなオブジェクトには暗過ぎるばかりか、非平面ポリゴンがある場合にはノイズを回避できなくなる。

また、ライトとマテリアルの両方でAOを適用した場合、効果は二重に適用されてしまう。レイバイアスや最大距離を似たような数値で設定すると、暗くなり過ぎるので気をつけよう。逆に拡散IBLライトを使用する時など、ライトのAOは背景小道具のような大きなオブジェクトを基準に数値を設定し、人物の服や目鼻など小さなパーツの陰影はマテリアル側のAOで描画するなど、効果的に使い分けるといいだろう。

また、ライトにAOを適用した場合、あまり効果を適用したくない部分(特に髪など非常に入り組んだところ)まで懇切丁寧に計算するので、レンダリング時間がとてつもなくかかってしまうことになる。もし、髪の毛などどうしてもAOを適用したくないオブジェクトがあるのなら、そのオブジェクトの特性パレットで「レイトレースで表示」のチェックを外してしまうのも有効だ。

「レイトレースで表示」のチェックが外れているオブジェクトはレイからは見えなくなり、あらゆるレイトレーシング計算の対象外になる。

127-8

ただ、例えば髪の「レイトレースで表示」のチェックを外した場合、当然頭皮なども髪が存在しないものとしてAOの判定を行うので、若干リアリティは低下するだろう。また、影にレイトレースシャドウを使用している場合は、影も落とさなくなってしまうので要注意。


さて、長らく続いたライティングのまとめも今回で一応終わりということになる。もちろん新しく知ったネタや未検証だった部分など、今までと同じく思い出したように取り上げることもあるだろうが、まずはこれで一区切り。

とりあえず一通りのことは網羅できたと思うが、少しはお役に立てただろうか。まだまだ自分も未熟だし、出来ない手法、解明できていない現象、伝えきれていない言葉が山のように残っている。それでも、何かほんの少しでも誰かの絵作りに影響を与えられたなら、そして喜んでもらえたのなら、こんなに幸せなことはないと思う。

果たして。

これがもともとレタッチTipsの前フリだったなんて、今更誰が信じるだろうか(爆)

■頂いたコメント■


コメント:(linkinpark)
POSERのAOは遅く欲しくないところを塗りつぶしてしまうため、あまりいい印象はなかったのですがこうすれば回避できるんですねー、うーん判定とか考えたこともなかったです。シャドウマップとAOを別にレンダした画像のソレっぽい部分を合成してつかってみようかと思います。P7のレンダラが何やら変更される(改良??)ようなのでKyotaroさんの「これがP7とP6のレンダラの違いだ!」といった講義を後日伺えるものと期待しております・・・って今までのがレタッチの前振りなんですか、失礼しましたw
やや脱線ですがcarraraのpro版はオクルージョンマップを保存、別キーフレームに流用できるらしくP7にも是非搭載してほしいと願っております。レタッチ編も期待しています。


コメント:(sannzi)
有難うございます。充分に役に立っています、いえそう思っています。
まだまだP6のレンダは経験不足の感が有るので生かしきれないでいます。
今までの講座を全てプリントアウトしバインダーに綴じますと立派なP6ライティングの解説本が出来ました。
どこにも売っていない貴重な本です。
早速P6で絵造りして見ます。
・・・
え!!レタッチの前振りだったんですか?
マジーって、当然信じます。
Kyotaroさんのレタッチは私にはどこに使われているのか分からないタイプに思われるので私の思うレタッチとは違うかもしれませんが楽しみにしています。


コメント:(Kyotaro)
>レタッチTips
いや~、書いてる本人が既に信じてないんで(爆)
今パッと出せる見本画も無し、やるとしても今回みたいなまとめじゃなくて、小ネタをポチポチ不定期で、という形になると思います(笑)

>linkinparkさん
調整方法はこのあたりの原理を参考にしていただければ、比較的すぐに慣れるんじゃないかと思います。厳密に指定する必要はなくて、目測で充分ですから。
あとマテリアルに適用するかライトにするか、レイトレース計算から除外するかなどで、効率UPも図れると思います(^^
P7のレンダリング周りは結構変わるみたいなので、期待半分ですね~。P6の機能を理解するのに一年半かかってますから、たぶんP7の機能を説明できるのはまた2年後ぐらいかもしれません(笑)。その頃にはP8が発売されていたりして(爆)
オクルージョンマップの保存、いいですねー。P7のイラディエンスキャッシュなるものがどのようなモノなのか気になるところです。

>sannziさん
お付き合い頂いてありがとうございました~(^^
一般的なライティングとPoser独自の特性と、できるだけ明確に区別してみたつもりですので、Poserに限らず他のソフトでもお役に立てたらいいなと思います。
いろいろと実践していただいたりして、こちらとしてもとても励みになりましたです。ちなみに、全部印刷するとどれぐらいの分量になるんでしょう……(恐る恐る聞いてみる(^^;)
レタッチはですねー、自分の場合は効果というより誤魔化しに近いですから。きちんとレンダリングしてるように見えて、なんだズルじゃないか、みたいな……(笑)


コメント:(pines)
Kyotaroさんのおかげで、ずいぶんP6を使えるようになりました。ありがとう。
これからもよろしくです。


コメント:(sannzi)
今晩は(^^
印刷枚数ですが、こちらのライトTIPS本編が56ページ。
それと番外編と言う事でもないですが、流転四界ぶろぐの最近の関連ありそうな所も印刷させていただいているので合わせて81ページです。
私はどうも紙に落とさないと内容を理解するのが難しいです。
実際P6を立ち上げて試す時も紙を見ながらでないと出来ないし。
忘れてもすぐ見直せるし。
・・・
プリンターの性能や用紙が普通用紙の為に折角綺麗にレンダリングされている図版が綺麗に再現できないのが残念です。
妙に値段の高いCGの解説本も紙質や印刷品位の事を思えばしょうが無いのかなと妙に納得したりしています。
・・・
ご自身も信じてらっしゃらないのですか(~~*
私は信じているんですけど、ライティングとつながるレタッチとは?そのTIPSとは!!
あの~小出しでいいので宜しくお願いします。


コメント:(Kyotaro) >pinesさん
いえいえどういたしまして~(^^
こうしてできるだけ多くの人にPoserを使ってもらえたらいいなと思います。
こちらこそよろしくお願いします。

>sannziさん
あはははは~81ぺえじですか~(心の声:そ、そんなに書いてたのか……)。
印刷なさるのも大変だったでしょう(;--
でも紙の資料ってやっぱり分かりやすさが違いますよね。パソコンから離れた時にも読めるというか、息抜き(?)になったりして。図版はやはりモニタの解像度で作ってますから、印刷するとちょっとアレですよね。……書籍用の図版とか、用意するの大変だろうな~、って思います。

Tipsは……Tipsは……、じゃあ……小出しということで……(だんだん小声になる)





Menu

Profile

Kyotaro

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

Categories

Calendar

08 | 2023/09 | 10
- - - - - 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

Comments

Archives

Track back

RSS feed

Links

Search

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

※Internet Explorer非推奨。