イベント
[SQEXOC]フォトリアル映像制作の実際,写真から得たデータから写真と同じシーンをCGで再現する
ここでは,「お手本からお手本へ」ということで,写真を「お手本」としたリアルなCGの作成手法と,具体的な手順などが示された。プログラム寄りの話ではなくて,アーティストサイドの見地から,リアルなCGで使われるデータをどうやって作っていくかという話である。
さて,リアルなCGのお手本として写真を使うといっても,テクスチャに実写画像を使いまくるというだけというわけではない。写真というのは写り方にもクセはあるのだが,レンズに入ってくる光を記録したものという捉え方をすれば,データの違った使い方も浮かび上がってくる。今回は主に環境光を記録したものとして,IBLつまりImage Based Lighting用に使う手法が示された。
昨今では,リアルなCGではグローバルイルミネーション(以下GI)という手法は欠かせないものとなっているのだが,その地点にやってくるあらゆる方向からの光の状態を計算するというのは,かなりの手間がかかる。現在,さまざまな手法でリアルタイム化が図られているものの,精度はかなり犠牲になっているといってよい。
写真を使ったIBLは,現実の空間での光の状態を使ってこれをやろうという試みである,非常にリアルな環境光の状態を得られるので,最近のCGではよく使われる手法になっており,いろんな環境のフリーデータなども出回っている。実物に近いモデリングデータを使って,実物に近いテクスチャ,実物に近いライティングを行えば,実物に近い映像が得られるというのは,なんとなく分かりやすい話だろう。
ゴールにブレがない
実験や分析がしやすい
光や反射を扱う基礎になる
ことが挙げられていた。
今後,GIデータの取得方法はいろいろ出てくるだろうが,「実環境」というほぼ間違いのないGIデータからフォトリアルな映像を作る部分を完成させておくことはそれなりに意義のあることに思われる。スクウェア・エニックスでは,こういった写真並みのグラフィックスデータを,まずはプリレンダーで再現し,続いてゲーム内の静的な光源として使えるように実装,必要に応じてダイナミックへの置き換えといった段階を経てゲームに投入していくという。
講演に戻ろう。まず,IBL用の写真を撮る。これは全天球写真を撮ることで,どの方向からどの色の光がどれくらいの強さできているかが測定できる。180度の魚眼レンズを使って2枚の写真を撮れば,上下左右ともに360度の風景を記録した画像がそれらから生成できる。
講演では,カメラ側のおまかせ設定などは一切使用してはいけないこと,HDRデータを取るために5段のオートブラケットを使用していること,カメラ側のエンハンスが行われるので,データ作成にはJPEGではなく,カメラのCCDが記録したデータそのもの(RAWモード)を使うことなどの注意点が示された。仕上がった写真自体は,ちょっとくすみがちな画像になるのだが,変にくっきりさせる処理を行ってしまうとデータとしては使えなくなる。
続いて講演ではPhotoshopを使ったRAW現像の操作法が示されたが,ほとんど標準機能を使うことで対応できるようだ。注意点としては,フィルタリングなどの補正は一切行わないこと。
同社内で撮られた小物を使った写真画像再現実験では,具体的に撮影の手順などが示された。
そこで必要な実際の反射率も写真を使って取得する手法が示された。具体的には,光線を18%だけ反射する特性を持った「銀一シルクグレーカード」を添えて写真を撮り,それをもとに色補正を行えばよい。
これもPhotoshopを使った手順が示されたのだが,本当にそんな補正で辻褄があうのかについては,検証実験の結果が示された。それを見る限りでは,だいたい問題ないように思われる。
背景に太陽がある場合は,ディレクショナルライトなどに置き換え,SHマップとキューブマップでは,シャープな映り込みが必要な部分はキューブマップを適用するとよいとのこと。
これでプリレンダーでの写真をお手本にしたリアルなCG制作手法が示されたわけだが,プリレンダー用に作ったデータのほとんどは,リアルタイム実装でも流用できる。基本的に,プリレンダーとリアルタイムレンダリングではほとんどの要素が一致するものの,反射についてのみ一致しないので,そこだけ対応すればよい。
IBLに使える写真の撮り方として,いくつかアドバイスが挙げられた。まず,撮りもらしがないように綿密に撮影計画を立てること,銀一シルクグレーカードは,10cm角など,一定の大きさに切って使うと便利なことなどだ。
最後に,実際の写真が撮れないようなものはどうすればよいのかについて語られた。まず,現実に存在しない物体については,アーティストが描いた絵をもとに,それっぽい素材を貼って調整していく。反射率が測定できない場合については,周りを完全に反射率が確定したもので固めたシーンを作り,その中にオブジェクトを置いて調整していくとよいことなどが示された。
最後に示されたデモでは,同社の地下駐車場を再現したシーン内に,FFXIVのモンスターのデータ(モデリングデータとノーマルデータだけをもらったもの)に,カニを実写したテクスチャを貼ってみたものや,FFXIVの装備をデザイン人形に着せたものなどがリアルタイム映像で表示された。ファンタジー世界の存在が,リアルこの上ないシーン内でも,さほど不自然ではない映像に仕上がっていた。
厳密に言えば,視点が移動すると適用されるべきGIデータも変わってくるので,ここからさらにいろいろな処理が必要になるのだが,それらはプログラムサイドの話。こういった手法で,比較的手軽にリアルなゲーム用データを作ることができることが示され,次世代ゲームの映像クオリティが「フォトリアル」になることは,十分期待できると分かった。第一部で行われたテッセレーションなどと併せ,早くこれらの技術が全面的に使われたゲームが登場してきてほしいものである。
- この記事のURL: