NVIDIAとEPIC GAMES、最新のグローバルイルミネーション技術をデモ

竹重雅也氏

8月2日 実施



 NVIDIAは2日、GPUに関する技術説明会を開催し、同社デベロッパーテクノロジーエンジニアの竹重雅也氏が最新のグローバルイルミネーション技術について解説した。

 グローバルイルミネーション(以下、GI)技術とは、一言で言うと反射による間接光の表現を実現する技術だ。これまでのゲームグラフィックでは、物体に直接光が当たり、それによって陰影ができるという表現に留まっていた。これに対してGIでは、物体に当たった光が、反射して別の物体をほのかに照らすという間接光を表現するため、シーンの写実性がぐっと上がる。

 これまでGIがゲームグラフィックであまり実装されてこなかったのは、負荷が高いからに他ならない。1フレームのレンダリングにどれだけでも(といっても現実的には制約はあるが)時間がかけられる映画などのオフラインレンダリングと違い、ゲームでは1秒間に30回以上の処理+レンダリングが求められる。GeForce GTX 600シリーズ(Kepler)は前世代よりもワット当たりの性能を2倍に引き上げているが、そのKeplerをもってしてもGIは重い処理となる。しかし、後に紹介する写真からも分かる通り、GIによる写実性の向上は目を見張るものがあり、各ゲームソフトメーカー、特にゲームエンジンを開発するメーカーは、リアルタイムでGIを実現できるアルゴリズムの開発にしのぎを削っているのが現状だ。

 例えば、「Crysis」などをてがけるCrytekは、2010年に「Light Propagation Volumes」(LPV)という手法を発表した。LPVでは、3次元上の画素単位となるボクセル上で直接光が当たった位置と範囲を計算し、それがどのように隣接するボクセルに伝播していくかを計算する。これによって、ラジオシティと違い、光源やオブジェクトを動かしても、リアルタイムで反映できる。ただこの方法には、ボクセルの解像度を1辺当たり2倍にすると、消費するVRAMの量が8倍(2の3乗)になるほか、伝播処理を続けるに従って、光の方向が不正確になっていくという問題があった。

 こういった問題を解決したのが、NVIDIAが2011年に発表した「ボクセルコーントレーシングを使ったインタラクティブな間接光」という論文にまとめられた手法。この手法の特徴は、8分木構造を使ってシーンを階層化していく点にある。

 おおまかに言うと、大きな親ボクセルで光の衝突などの判定を行ない、物体の存在する場所では、ボクセルの1辺の解像度を2倍、つまりボクセルの密度を8倍にし、その中でも、物体のある場所のボクセル密度を8倍にするというように、処理の必要な部分だけ、階層状に解像度を上げていく。ボクセルの構築処理はすべてGPUが行なう。また、カメラ視点からのレンダリングでは複数の光線の代わりに円錐状に処理を行なう。これらにより、高解像度なボクセルを高速かつ現実的なメモリ使用量で実現できる。

グローバルイルミネーションとはCrytekが開発したLPVNVIDIAは8分木を使い、解像度と性能のバランスを取った
NVIDIAが開発したGI対応の技術デモ。光は何重にも反射しており、廊下の端にうっすらカーテンの色が反射しているのが分かる外光の設定を変え、カーテンに集中的に当てると、反射が際立ってくる床のパラメータを変え、光沢のある材質に変えた場合の表現

左からエピック・ゲームズ・ジャパン サポート・マネージャーの下田純也氏、代表の河﨑高之氏、サポート・テクニカル・アーティストのロブ・グレイ氏

 この技術を実際に取り入れたのがEPIC GAMESが開発し、業界定番とも言えるエンジン「Unreal Engine 4」(UE4)だ。今回エピック・ゲームズ・ジャパンのスタッフが、GeForce GTX 680搭載マシンを使って、UE4のデモを行なった。

 UE4は、GIのほか、NVIDIAの物理演算エンジンPhysXや、破壊物表現など一部APEXにも対応。また、コードコンパイルの即座の反映といったことも可能で、プログラマ、アーティスト、デザイナーがさまざまな処理を待つことなく、最大限の創造性と生産性を引き出せるとしている。

 以下に写真と動画でUE4のグラフィック面の特徴を紹介する。

【動画】UE4のウォークスルーデモ

彫像の素材を石から、金銀に変えると、床への反射具合が変わる熱せられたハンマーからの赤い光が彫像に投影され、その反射が床にも写っている
厚みによって光の透け具合が変わる石や蝋のような素材も表現可能背後の光の入ってくる窓をふさぐとこのように変化する床の色がいろいろな物体に反射している
明るく照らしたときだけ埃が反射する表現も可能パーティクルで描画された噴煙も、部分的に溶岩の色を反射しているパーティクルも影を落とすことができる
UE4はGPUを使ったパーティクル処理が可能で、100万パーティクル程度まで表示可能。ただし、ここではGIは反映されていない明るいところから急に窓を閉じると真っ暗になるが、その後目が順応してだんだん見えてくるといった細かな表現もできる
陽の光を落とすと、溶岩の光が支配的になるゲーム画面をウインドウ表示させたところ。右下はプレイフローになっており、ステップごとに実際のフローをエディタ内で確認できる
【動画】UE4を使った「Fortnite」の予告動画

(2012年 8月 2日)

[Reported by 若杉 紀彦]