このページの本文へ

NVIDIAが照明効果の技術解説、Unreal Engine 4のデモも披露

2012年08月02日 22時00分更新

文● ASCII.jp編集部 北村

  • この記事をはてなブックマークに追加
  • 本文印刷

 NVIDIAが最新のゲームテクノロジーを紹介する報道関係者向けテクニカルセッション「Technologies in Games of Tomorrow」を開催。間接光を再現するグローバルイルミネーションについての技術解説が行なわれた。ここではその内容をお伝えしよう。

グローバルイルミネーションについて解説するNVIDIAのデベロッパー テクノロジーエンジニア竹重 雅也氏

Unreal Engine 4の技術デモを披露するエピック・ゲームズ・ジャパンの下田純也氏(左)、川﨑高之氏(中央)、ロブ・グレイ氏(右)

グローバルイルミネーション

 グローバルイルミネーション(大域照明)とは、物体に反射する間接光などといった拡散光を正確に計算するレンダリング技法だ。間接光が再現されると、3DCGのリアルさが格段に増すため、NVIDIAもこのグローバルイルミネーションには力を入れているというわけだ。

直接光に加え、物体に反射する拡散光を計算することで、リアルな描画が可能となる。これがグローバルイルミネーションだ

 グローバルイルミネーションを再現するレンダリング技法として、古くからラジオシティなどが存在しているが、動く物体をリアルタイムで演算することは困難だった。2010年には新たな技法「Light Propagation Volumes」が確立されるが、間接光がどの方向から当たっているのかの情報は持っていなかった。

3次元空間を細かく分割し、反射光を再現する「Sparse Voxel Octree」

 これらを解決した最新の技法が「Sparse Voxel Octree」だ。これはvoxelと呼ばれる3次元空間を8つに分割し、それを階層化した8分木構造(octree)にする仕組みとなっている。

voxelとは、3次元の画素単位のこと。奥行きのあるピクセルともいえる

octreeは3次元空間を8つに分割し、それを階層化したものだ

 どのように直接光が当たっているのかを、まず最上層のvoxelに書き込み、階層化された下層のoctreeに送る。今度は反射光の情報を下層から上層のoctreeに送り、それをレンダリングすることで、どこから間接光を浴びているかを計算する。
 この演算をすべてGPUが処理することで、高速な描画をリアルタイムで可能にしているのだ。これには膨大なメモリーを必要とするが、必要のない空間には細かな階層を作らないことでメモリー使用量を抑え、現実的なメモリー容量での演算を実現しているという。

「Unreal Engine 4」で体感する
Sparse Voxel Octreeの威力

 技術解説のあとは、エピック・ゲームズ・ジャパンが新ゲームエンジン「Unreal Engine 4」を披露した。Unreal Engine 4には前述のSparse Voxel Octreeが使われており、その効果を実演するリアルタイムデモを行なった。

シーン内の光源だけでなく発光体も、Sparse Voxel Octreeでリアルタイムレンダリングできる

飛び散る火の粉などのパーティクル(粒子)も、100万個以上をGPUで制御し、高速に演算できる

長いレンダリング時間を待つ必要がないため、ゲーム開発者が思いついたことをすぐにテストして、その結果を即座に確認できるメリットがある

 なお、Unreal Engine 4を採用した初のゲーム「Fortnite」をエピック・ゲームズで現在開発中とのこと。発売日は未定だが、Unreal Engine 4のグローバルイルミネーションを堪能できる日はそう遠くないはずだ。

カテゴリートップへ

注目ニュース

ASCII倶楽部

ピックアップ

ASCII.jpメール アキバマガジン

ASCII.jp RSS2.0 配信中