イベント
[GDC 2011]ポリゴンは億千万! 限りなくリアルなレンダリングでLionhead Studiosはなにをやろうとしているのか?
ちなみに「Mega Mesh」とあるが,内容的には「Giga Mesh」とでもいったほうがより近いかもしれない。100 Billion Polygons,つまり1000億ポリゴンのデータを扱おうという話である(数字自体には意味はないのだろうが)。
講演の概要は,超ハイポリゴンデータをいかにレンダリングするかを考えるもので,タイトルには出ていないが,それに加えて超巨大テクスチャ,超多光源についても論じられていた。
まず,なぜ超ハイポリデータなのかというと,アートデザイナーのイメージを忠実に反映したり,無駄な手間を省けるようにしたりするためというのがその理由。高精細でイメージどおりのものを,できるだけ軽く処理するというのがテーマとなっている。
そもそも億を超えるような超ハイポリデータを作っても,普通に処理していてはまともに表示できるわけがない。基本的には,必要なときに必要な部分だけを詳細化するような技術が必要になる。そう,サブディビジョンサーフェスとかテッセレーションという奴だ。
超高精細モデリングのメリットと罠は,以下にまとめられている。罠があるならやめておけば良さそうなものだが,Lionhead Studiosでは,必要に応じてポリゴンを分割し,精細オブジェクトをレンダリングしていくシステムを作っており,Mega Mesh Toolと呼んでいる。今回の発表の前半は,そのツールの紹介となっている。
講演者がLionhead Studiosの人なので,当然ながらターゲットとなるのはXbox 360と思っていいだろう。GPUはATI(AMD)系ということで,モダンなものではないがポリゴン分割機能は備えている。とはいえ,それだけで実用的なものができるならとっくに誰かがやっているわけで……と思ったら,どうやらMega Mesh Toolの中心はデータ制作時の管理システムで,実行時でのポリゴン分割は行わずに,必要な詳細度のデータをロードしてくるというシステムのようである。現時点ではテッセレーションを行うより実用的なのだろう。
さて,Mega Mesh Toolは,MayaやMaxなどといったDCC(Digital Contents Creation)ツールと,ZBrushなどのいわゆるスカルプティングツールとの間で,データの管理や生成を行うものとして実装されており,100億ポリゴン単位での管理が可能だという。デザイナーが共用しているデータベース内のオブジェクトに,ZBrushでどんどんディテールを加えていって,それをマルチユーザーで管理するというのが,ツールとして見た場合の姿となっているようだ。
それにしても講演中,普通のモデリングツールで作った3Dデータを指して「ローポリデータ」と呼んでいるたのが興味深い。
形状データが高精細になると,当然ながらそこに貼られるテクスチャも精度が要求されることになる。そこで同社が導入したのがSparse Virtual Texturesという技術だ。これは大きなテクスチャをいくつものタイルとして扱う技術で,物理メモリ上の制限を緩和して柔軟な管理ができるもののようだ。
大きなテクスチャを扱えるようになっても,実用するにはまだまだ壁がある。データサイズの問題だ。Xbox 360で使われるDXTなどの圧縮法では,まだ圧縮率が足りない。Lionhead Studiosが主として採用したのは,Microsoft ResearchのRico Malvar氏が開発したPTCというアルゴリズムだ。テクスチャ画像を1/60にまで圧縮できる(ノーマルマップは1/40)。
Albedo(アルベド:反射能反射率)マップについては,YCC(色差成分)形式に変換したうえで,輝度信号以外の解像度を落として圧縮するなど,必要な画質を保ちつつファイルサイズを削る工夫をしている。
そうしてできたレンダリングのサンプルがムービーで紹介されたので,その画像を何枚か掲載しておこう。正直,そんなにポリゴン数が多いようには見えないシーンもあるのだが,少なくともポリゴンポリゴンした形状の画一性がない,自然な画像になっているといっていいだろう。最初に挙げておいたアートデザインの画調をどれくらい忠実に反映しているかを確認してみてほしい。
さて,Lionhead Studiosでは,このハイポリゴン描画システムと同時に照明システムについても発表を行っていたので紹介しておこう。内容は,いわゆる球面調和関数系のライトマップの実装。はっきりいって一般人には難しすぎる内容なので,ごくごく端折って説明するに留めたい。
この手の手法では,空間のあちこちで,どの方向からどの程度光が照射されているかを,ライトプローブというものに記録しておき,それを参照しつつ特定の場所の光の具合を調整するというのが一般的なのだが,その際に球面調和関数の解を求めるのをやめて,テーブル化してやろうというのが今回のポイントの一つ。静的な部分をあらかじめ計算しておいて,動的な要素については,メタデータによる追加要素で対応できるようにしているという。まあ,いろいろ工夫して実用的な実装が可能になったということのようだ。
どのような絵になるかは,ムービーで公開されたので,またもやいくつか切り出しておこう。
このように,リアルなオブジェクトモデルとリアルな光源処理を実現したことで,Lionhead Studiosの表現力は恐ろしく向上しているといっていいだろう。これが今後,どのようなタイトルに生かされることになるのか,今後の発表に大いに期待したいところだ。
- この記事のURL: