ニュース
[CEDEC 2007]写真光学技術を取り込んだレンダリングについて
そこでHDRのデータを活用して,レンダリング後にそのほかの各種エフェクトを行おう,その際に写真の基礎技術を活用しようというのが主旨である。さらにどうせ被写界深度ボケやブレなどを実装するなら,物理的・光学的に正しいものにしようという提案となっている。
おそらく,起点となっているのは,「ロスト プラネット エクストリーム コンディション」(のDirectX 10パッチ)で使用された被写界深度シェーダであろう。DirectX 10とGeForce 8のジオメトリシェーダ特性,そして石田氏のアイデアが実現した新しい表現方法である。
描画するすべてのピクセルからポリゴンを生成して,ある色で点を打つ代わりに半透明の円を置く。焦点が合う範囲では円は濃く密集し,焦点から遠いほど大きく薄い円になっていく。テクスチャのαブレンディングなので,使うのは別に円である必要はなく,絞り羽根の形や星形など任意の形にすることもできるという自由度の高いものだった。
初めて見せられたときは,これってボケの原理そのものじゃないかと驚いた覚えがあるのだが,原理そのものよりも,なぜそれがリアルタイムで動いているのかのほうが謎であった。描画負荷を考えると,おそらく普段の数百倍のピクセルを処理するわけで,αブレンディングだから,それが全部掛け算で……と考えると,最近のGPUのフィルレートの高さには驚かざるをえない。
さて,こういった新手法にさらに磨きをかけるためにも,光学的な基礎知識は重要となる。講演内容は非常に細かい部分にまでわたっているのだが,ここでは,いくつかの点をまとめておくだけとする。
・ボケには焦点の前後で前ボケと後ボケがある
・前ボケと後ボケでは輪郭の濃さなどが違う
・絞りが広いとボケも大きい
・絞りが狭いと羽根の形が出やすい
・前ボケと後ボケで羽根の形は反転する
・画面の隅では,鏡胴の影でボケの形が欠ける
・前ボケは輪郭が赤っぽく,後ボケは緑っぽくなる
などなど。ボケ以外にも,レンズの歪みや,光の干渉縞にまで話は及んでいたのだが,こういったものが発生する理由と効果が次々と紹介された。
最後にこれらを実装したデモが紹介されたのだが,広角での歪みとフォーカスを移したときの画角変化のシミュレートあたりは,見て,おっと思わせる効果を出していた。それ以外の部分は,個人的には言われなければ分からない程度の違いという感じだ。もちろん,見た目に不自然に感じさせない処理を実現するというのも重要なのではあるが。
また,レンズの方式はたくさんあって,ものによっては特性は真反対の傾向となり,そもそも質のいいレンズほどそういった特性は小さくしか出てこないことは,氏の講演でも触れられている。はっきりいって,正解がないので,厳密にシミュレートしてもあまり意味がないのではとも思われた。取り入れるなら要点だけ拾うのが正解だろう。話自体はマニアックで面白い内容で,どうせなら正しい実装をするべきたという氏の意気込みは伝わってくる。あちこち要点を押さえているだけなのは分かるのだが,それでもちょっと細かすぎたかもしれない。
**→川瀬氏の講演内容を実装したデモの模様 (2分17秒:7.82MB,MPEG-1)
また,フィルムの乳剤の粒状度を再現することで,銀塩写真の質感に近づけたり,デジカメのCCDに見られる熱雑音などを加える試みについても解説された。フィルムの粒状感を意識して見る機会は少ないだろうが,それなりに「どこかで見たような」質感を与えているのが分かる。
**→五反田氏の講演内容のデモ (2分3秒:7.16MB,MPEG-1)
ちょっと長い余談
HDRは,High-Definition Dynamic Rangeの略のはずが,いつの間にかHigh Dynamic Rangeに置き換えられた。精度が高く,コントラストの強いシーンでも明部,暗部のディテールを失わないはずだったのだが,むしろそれによって作成される絵は,グレア部分のとばっちりで白飛びしないレベルのところまで白飛びの目立つ,どっちかというと安物の家庭用ビデオカメラぽい絵作りに見えるものも少なくなかった。むしろダイナミックレンジが下がっている感じの絵作りである。
今回の講演中,川瀬氏は何度も,HDRというとすぐグレア表現を使いたがるが,それはHDRの本質的なものではなく,明るさの対比のほうが重要なのだと強調していた。それはまったく同感である。
安易なグレアは,前述の安物カメラぽい味を出しているので,そういう表現が珍しかったのだろう。だが,飽きられるのも早い。ほかにも,最近は手ブレや被写体ブレ,フィルムノイズ,あまり性能のよくない自動露出などがシミュレートされていることがある。今回の写真に近づける話も,これらに近いものがあるような気がしてならない。
講演の途中で語られた「そういう画像のほうが見慣れているので自然に感じる」というのは,あながち間違いではないとは思う。とはいえ,なんというか,発泡酒が売れているから,発泡酒の味に似せたビールを苦労して開発しているという話を聞いたような違和感が残る。
カメラのレンズ設計者は,おそらく多大な研究を繰り返して,歪みを補正し,色のばらつきを抑え,そういったカメラレンズの欠点をなくして「自然な絵」が写せるように努力しているわけだが,今度はCG技術で,カメラレンズ設計者の努力にもかかわらず残された欠陥を再現して「自然な絵」を出そうとしている。
人間が作ったものは不完全なので,完全に近づけることが「リアリティ」の追求につながる。計算で作った絵は完全すぎるので(まあテクスチャの歪みとかいくらでも問題はあるのだが),少し不完全さを混ぜることが「リアリティ」の追求につながる。基本的な理屈はこんなところだろう。
個人的には「人間の目はこうだから」といったリアリティの追求には賛同しやすいのだが,「カメラのレンズやCCDはこうだから」という主張にはかなり抵抗がある。
以前聞いた「ワンダと巨像」の話では,カメラレンズを急に動かすときは,行きすぎてからちょっと戻すとリアリティが出るといった効果が採用されていた。映画カメラマンやテレビクルーに話すと「そいつヘタクソ」で斬って捨てられそうなネタではあるのだが,人間くさいカメラワークという意味では効果を上げているのも事実である。しかし「人間くさい」というのは評価軸として成り立つものの,「CCDぽい」「カメラくさい」というのは成り立たないような気がするのだ。
CGではよい意味で使われる「Photo Realistic」という言葉は,「写真のようにリアルな」という意味ではあるが,必ずしも写真が最上のリアルというわけではない。講演の冒頭で挙げられた「暗い場所なのに画面にノイズやグレインが乗ってない」のは不自然というのはカメラ的には正しいのだろうが,人間の目としてはそんなに不自然ではない。今回の講演は「リアルな写真表現」を追求したり,リアルさを求めるうえで写真を参考にするものとしては興味深いのだが,ゲームへの応用としては微妙なものかもしれないと感じた次第だ。
- この記事のURL: