NVIDIA、最新のリアルタイム大局照明技術を解説

Epic Gamesは「Unreal Engine 4」採用の新作「FORTNITE」を発表


8月2日 開催

エヌビディアジャパン本社



 エヌビディアジャパン(NVIDIA)は8月2日、DirectX 11世代の新しい3Dゲームグラフィックス技術を国内メディア向けに紹介する技術説明会「最新のグローバルイルミネーション技術」を開催した。

 今回取り上げられたのは、Epic Gamesの次世代Unreal Engineである「Unreal Engine4」(UE4)に採用された「Sparse Voxel Octree Based Real-Time Global Illumination」という技術テーマになる。



■ NVIDIA「UE4」に採用されたリアルタイム大局照明技術を解説」

竹重 雅也氏(NVIDIA Japan デベロッパー テクノロジーエンジニア)

 現在のラスタライズベースのリアルタイムグラフィックスパイプラインは基本的に直接光によるライティングしかサポートされない。他者による遮蔽(すなわち影生成)や間接光によるライティング(すなわち大局照明)は、別途、特別な処理として実装しなければならない。これは、プログラマブルシェーダアーキテクチャ以前から、現在のDirectX 11世代のアーキテクチャになっても変わらない部分だ。

 影生成に関してはDirectX 9世代あたりからコストパフォーマンス的な視点からの最適解は見えてきているが、大局照明技術に関しては、現在は「いい意味」での発展途上期で、最近では、様々な手法が考案され実用化されている。

 古くはValveの「Irradiance Volume」、つい数年前ではコナミ・小島プロダクションの「メタルギアソリッド4」に採用されていた「分離プリライティング」などがあるし、直近では、CRYTEKの「CRYSIS2」に採用された「Light Propagation Volume」(LPV)法が話題を呼んだ。


大局照明技術とは、間接光に配慮したライティングのことCRYTEKが開発したリアルタイム大局照明技術「Light Propagation Volume」(LPV)法

 今回の技術説明会で紹介されたのは、「Sparse Voxel Octree」(SVO)ベースの大局照明技術(SVO-GI)で、これは丁度、
「西川善司の3Dゲームファンのためのグラフィックス講座・E3特別編その7 次世代ゲーム機での動作を想定したUnreal Engine“4”が登場~事前計算なしの驚愕のフルダイナミック・リアルタイム大局照明レンダリングシステムを搭載」で解説した内容そのものになる。

 詳細はそちらを参照して欲しいが、概念だけ解説すると、まず、レンダリング対象シーンをシーン内の複雑性に適合した形で再帰的に立方体で8分割していく(八分木構造の生成)。これを行なう際のポイントは、オブジェクト(ジオメトリ)密度が高い箇所には細かいボクセルを割り当て、何もない空間には大きなボクセルを割り当てていくことだ。なお、これらのボクセルはデータ構造としてはリスト構造で管理される。

八分木とは?八分木でシーンをボクセルに割り当てた結果を可視化した図。実際の様子は後に紹介する映像を参照のこと

 ライティングの第1フェーズでは、実光源からの直接光でライティングして、直接光のあたった箇所に対応するボクセルにライティング結果の情報を注入し、八分木の親階層に、再帰的に平均化した値を計算して格納する。LPVと異なり隣接ボクセルへの伝播(Propagation)はさせない。SVO-GIでは、ある程度空間密度に最適化された形でボクセル化されているので、無駄な処理を行わない。また、八分木は親階層に行くにしたがいボクセル数が少なくなるので、LPVの伝播処理よりも平均化処理の負荷は低い。

アルゴリズム概要光の情報の伝搬の計算はLPV法に似ている。ただ、処理効率はよい。各ボクセルには、光の情報の他、ジオメトリ情報(実際には代表面の向き)も格納している

 視点からのレンダリング時には、これから描画するあるピクセルにやってくる間接光の情報を集めるために、レイトレーシング的なアプローチで、このボクセル構造を探索(トラバース)することになる。拡散反射は全方位のボクセルに対して、鏡面反射は反射ベクトルに沿った形でトラバースを行なう。この時のトラバースに際しては、レイトレーシングのように複数のレイを飛ばすのではなく、錐体(コーン)状に、距離を進むごとに探索半径を大きくするようにして行なう。

無数のレイを投げる代わりに錐体状にトラバースすることで代行する

 拡散反射の間接光情報の取得のためのトラバースは大ざっぱな陰影なので直径の大きい錐体で、鏡面反射の方は鋭いハイライトや鏡像っぽい結果がほしいので直径の小さい錐体で行なう。錐体状のトラバースで、間接光の情報を集める処理には、複数のボクセルをMIP-MAP的な概念でサンプルしていく。

 ミソは、拡散反射のトラバースと鏡面反射のトラバースを分けて行なっているところで、間接光のライティング結果に鋭いハイライトや鏡像っぽいものが現われるという点だ。これまでの疑似的な大局照明やリアルタイム大局照明では間接光によるライティングは拡散反射要素のみしか取り扱っていなかったので、見た目としての違いは大きい。

 なお、八分木構造の構築は、事前計算不要のフルGPU実装で行なわれ、512×512×512の八分木構造の構築がGeForce GTX 480で5.5msだとのことで、シーンが変形したり、動的オブジェクトが移動したりアニメーションしたりしても、リアルタイムにこの大局照明効果を適用できることが強くアピールされた。

 以下に、技術デモを解説した動画を示す。なお、このSVO法による大局照明技術の開発には、NVIDIAのソフトウェアエンジニアのMiguel Sainz氏、Simon Green氏などが携わったという。


【SVO-GI法のデモ映像】

八分木構造を構築する様子を可視化したシーンは映像の後半にある



■ Epic Games、「FORTNITE」がUE4ベースであることを発表

左から下田純也氏(Epic Games JAPANサポートチーム)、ロブ・グレイ氏(同)、河崎高之氏(Epic Games JAPAN代表)

 技術説明会の後半は、Epic Gamesのエンジニアである下田純也氏が登壇し、このSVO-GIを実際に実装したゲームエンジンである「Unreal Engine4」が紹介された。

 基本的にプレゼンの内容はE3の時と同じで、下に示した「Elemental Demo」を実際に動作させての、SVO-GIの効果や、UE4の新機能である「GPUパーティクル」の実演が行なわれた。これらの詳細は、やはり「西川善司の3Dゲームファンのためのグラフィックス講座・E3特別編その7」を参照頂きたい。


【UE4 ELEMENTAL DEMO】

「UE4」の新機能、新技術を駆使して製作されたリアルタイム技術デモ

【UE4の機能プレゼンテーション】

「UE4」の機能を1つ1つ紹介するプレゼンテーションムービー

近日リリース予定を示唆する「Coming Soon」の文字が

 セッション内で語られた内容のうち、E3時点の「UE4」情報からの大きなアップデートとしては、Epic Gamesが「UE4」ベースのゲーム開発プロジェクトが進行中であることを明らかにしたことだ。

 昨年、プラットフォーム不明、発売時期不明のEpic Gamesの謎多き新作ゲームとして発表された「FORTNITE」が、実はUE4ベースで開発されているというのだ。実際の発売時期や価格は明らかになっていないが、今回のEpic Gamesのプレゼンでは「Coming soon」とスライドに記載されていた。


UE4ベース1作目は「FORTNITE」になることが判明。スクリーンショットはイメージイラストではなく、実際のゲームエンジンからのキャプチャになる。間接照明効果をわかりやすく主張するために、あえてややコミカルタッチなアートテイストにしたのだろうか

 また、Epic Gamesは、今回の技術説明会の締め括りに、8月中に予定している2つのカンファレンスにおいてUnreal Engine技術関連のセッションを行なう事の告知を行なっていた。以下はその情報をまとめたものになる。

■カンファレンス名:SIGGRAPH 2012

日時:8月8日14:00~17:15
会場:Los Angeles Convention Center/Room 515AB
セッション名:「Advances in Real-Time Rendering in Games: Part II」内にて
http://s2012.siggraph.org/attendees/sessions/advances-real-time-rendering-games-part-ii
プレゼンテーション名:「The Technology Behind the “Unreal Engine 4 Elemental demo”」
講演者:Martin Mittring(Epic Games)

■カンファレンス名:CEDEC 2012

日時:8月21日 11:20~12:20
セッション名:「加速する次世代:ティム・スウィーニーが語るゲームの未来」
講演者:ティム・スウィーニー(Epic Games, Inc.)

■カンファレンス名:CEDEC 2012

日時:8月21日 14:50~15:50
セッション名:「アンリアル・エンジンを使った開発手法をさらに効果的にするためのパネルディスカッション」
講演者:下田星児様(株式会社サイバーコネクトツー)
ロバート・太田・ディートリッヒ様(株式会社イニス)
スコット・ストッダード(ChAIR)
ティム・スウィーニー(Epic Games, Inc.)

■カンファレンス名:CEDEC 2012

日時:8月21日 16:30~17:30
セッション名:「Infinity Blade コンソールからモバイルへの飛躍」
講演者:スコット・ストッダード(ChAIR)


(2012年 8月 2日)

[Reported by トライゼット西川善司]