イベント
[GDC 2014]実写にしか見えないCGが新世代ゲーム機で動く。シリコンスタジオが「物理ベースレンダリング」の新型エンジンを発表
中でも注目の話題は,新世代ゲーム機向けに開発したという,物理ベースレンダリング(Physically Based Rendering,以下 PBR)に基づく新開発のエンジンである。開発コンセプトは「新世代ゲーム機向けの物理ベースレンダリングエンジン」で,実写レベルのCGをリアルタイムレンダリングで実現するのが目標になっているという。
シリコンスタジオは従来から,製品には日本神話などにインスパイアされた和名を付けてきた。そのため今回も名称は気になるところだが,「商標などの問題がクリアになっていない」とのことで,公式には「名称未公開」というステータスになっている(※現地では名称を聞けたのだが,明かしてほしくないとのことだった)。そのため本稿では以下,便宜的に「新PBRエンジン」と呼ぶことにしたい。
PlayStation 4&Xbox One世代を狙う物理ベースレンダリングエンジン
シリコンスタジオ製のレンダリングエンジンとしては「DAIKOKU」が存在するが,今回の新PBRエンジンは,その後継的存在として位置づけられるという。ただし,現時点で決まっているのは,将来的に同社のオールインワンゲームエンジンであるOROCHIへ統合されることのみ。単体リリースされるかどうかは未定とのことだ。
ちなみにOROCHIは,スクウェア・エニックス製アーケードタイトルであるガンスリンガー ストラトスシリーズで採用されていることで有名だが,タイトル名こそ非公開であるものの,国産ゲームデベロッパが開発したPlayStation 3(以下,PS3)やPlayStation Vita用の著名タイトルに採用された実績もあるとのこと。そんなOROCHIで将来的に今回の新PBRエンジンを統合するのは,OROCHIをPlayStation 4(以下,PS4)やXbox One世代のゲームグラフィックス表現に対応させるためという理解でよさそうである。
「シャイニネス」の活用が鍵となる新PBRエンジンの仕組み
さて,新PBRエンジンは,ディファードレンダリング(Deferred Rendering)とフォワードレンダリング(Forward Rendering)の両技法に対応している。新鋭のレンダリング技法である「Forward+」(フォワードプラス)への対応は見送られたそうだ。
基本的なマテリアルを「ベースカラー」や「シャイニネス」(Shininess)といったパラメータで表現し,これらの基本マテリアルを多層構造で重ね合わせていくような概念で,より複雑なマテリアル表現を可能にするという。
ちなみにシャイニネスとは,光沢具合を表すパラメータで,表面状態の「粗さ」を表す「ラフネス」(Roughness)の対義語的な用語だが,「シャイニネスを上げる=ラフネスを下げる」というイメージでいい。
そして重要なのは,新PBRエンジンが,物理ベースレンダリングを採用するということもあり,BRDF(Bidirectional Reflectance Distribution Function,双方向反射率分布関数)の概念を導入していることだ。
光のエネルギーは,物質の表面に衝突すると,衝突した表面の材質特性に応じて反射したり屈折したりしてから外に出て行く。BDRFはこれを表した関数のことだが,要するに新PBRエンジンは,入射光の総和と出射光の総和が一致する,エネルギー保存の法則に則ったシェーディングモデルを実装しているのである。
新PBRエンジンでBRDFは,拡散反射のライティングモデルとして,PS3以前からある「Lambert」(以下,ランバート)法を採用している。また,鏡面反射のライティングモデルには,従来の「Blinn-Phong」モデルよりもハイライトのピークまでが柔らかい「Trowbridge-Reitz」(GGX)を採用しているとのことだ。
GGXの計算量はBlinn-Phongモデルよりも多いのだが,現行世代のGPUなら十分にリアルタイムの処理が実現可能ということで採択されたという。
ライティングは,基本的にイメージベースドライティング(IBL)モデルを採用しており,事前に生成したキューブ環境マップを光源にしてライティングを行うイメージだ。
「キューブ環境マップでライティングすると,すべてが環境マッピングによる(鏡のような)映り込み表現になってしまわないか」と懸念する人がいるかもしれないが,シリコンスタジオ側によれば,きちんと対策も取っているという。具体的には,シャイニネス(つまりは逆ラフネス)のパラメータに対応する「ぼやけたキューブ環境マップ」を,MIP-MAP(ミップマップ)のテクスチャ階層と似たようなイメージで持つように設計されているとのこと。つまり,粗い面の光沢は「ぼやけたキューブ環境マップ」を参照してライティングすることで,ぼやけた光沢が出るようにしているわけだ。
もう1つ,ランバート法の拡散反射では,視線によって見えたり見えなかったりする「視線依存のハイライト」を表現できないのではないかと思った人もいるだろう。実際,カプコンは,自社開発のゲームエンジン「Panta Rhei」(関連記事)で,視線依存のハイライトを表現可能な拡散反射モデル「Oren-Nayar」(オーレン・ネイヤー)法を採用していたが,この点,新PBRエンジンにはシャイニネスの仕組みがあるため,ザラザラしたした材質であっても,視線依存の鈍いハイライトを表現可能だ。
ちなみに,この「ランバート法+GGX」という組み合わせの物理ベースレンダリングエンジンは,「Unreal Engine 4」でも採用されている。
SIGGRAPH 2013でEpic Gamesが披露したスライドより。Unreal Engine 4も拡散反射モデルにランバート法,鏡面反射モデルにGGXを採用したことを明らかにしている |
動的なキャラクターの局所的な映り込みは,画面座標系でレイトレーシングを行う「リアルタイムローカルリフレクション」(RLR)を実装することで対応している。これは,Crytekの「Crysis 2」で注目を集めた表現だ(関連記事)。この表現を行うときにも,材質に設定されたシャイニネスの効果がきちんと反映されるので,毎回鏡のようになってしまうことなく,鈍い映り込みも出るようになっている。
なお,新PBRエンジンは,リアルタイムの間接照明や大局照明を今のところ実装していない。開発担当者によれば,「現状のIBLとRLRの仕組みだけでかなりのレベルに到達しているので,業界動向を静観しつつ導入を検討したい」とのことだった。DirectX 11世代GPUの新要素であるテッセレーションステージも現時点では未対応だが,これも「将来的には対応したい」とのコメントが得られている。
ショートムービー仕立ての技術デモはプリレンダムービーにしか見えない
今回,新PBRエンジン上で動作するデモとしては,未来の図書館を舞台に1人(?)まじめに働くロボットの孤独を描いた作品が公開された。担当者によれば,Alex Roman氏が制作したCGショートムービー「The Third&The Seventh」にインスパイアされたモノだそうで,わずか数分程度の作品なのだが,映像をぱっと見た感じでは,ほとんどプリレンダムービーにしか見えない。
先ほども述べたとおり,新PBRエンジンは,ディファードレンダリングとフォワードレンダリングの両方に対応しているが,このデモでは前者を使っているとのこと。デモ機は「GeForce GTX 780 Ti」を搭載しており,レンダリング解像度は説明員いわく「3K相当」で,スーパーサンプリングして1920×1080ドット表示しているという。フレームレートは30fpsだ。
マテリアルは,制作に参加した2人のアーティストが2〜3か月かけて制作。モデリングにも非常に時間をかけており,劇中に出てくるレトロなカメラモデルだけで,300万ポリゴンを使っているそうだ。今回はあくまで技術デモであるため,ポリゴンモデルの「Level of Detail」化システム※などは導入していないため,1フレームあたり1000万ポリゴンを超えることはザラだという。
※ 視点からの距離に応じてポリゴン数を調整したり,あるいは低ポリゴンモデルに切り換えたりする仕組み。
なお,新PBRエンジンで実装されている動的光源は,今のところキューブ環境マップによるIBLと,太陽光である平行光源のみ。デモでもこの2種類しか使われていない。
担当者によれば,「将来的にはそのほかの光源も実装したい」とのことで,クラシックな点光源などではなく,エリアライト(面光源)を実装しようと検討しているそうだ。
動的光源を面光源で実装する手法は,Guerrilla Gamesの「KILLZONE SHADOW FALL」でも実現されている。シリコンスタジオ側では,新PBRエンジンのキューブ環境マップによるIBLを応用して,3Dテクスチャのような形で持つ方式を検討しているようだ。
今回は会場でリアルタイムデモが披露されただけで,誰でも見られるムービーはまだ公開されていない。ただ,近日中にシリコンスタジオのYouTubeチャンネルにアップロードされる予定があるとのことなので,公開されたらぜひとも,新PBRエンジンの実力をその目で確認してほしいと思う。
シリコンスタジオのYouTubeチャンネル
- 関連タイトル:
Mizuchi
- この記事のURL: