パッケージ
METAL GEAR SOLID V: THE PHANTOM PAIN公式サイトへ
読者の評価
87
投稿数:2
レビューを投稿する
準備中
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2013/03/30 00:00

ニュース

[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)

画像集#002のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
セッションの模様
 米国サンフランシスコ市で開催されている世界最大のゲーム開発者会議「Game Developers Conference 2013」。その3日めとなる現地時間2013年3月27日に行われた,KONAMIの新世代ゲームエンジン「FOX ENGINE」に関する講演レポート,後編をお伝えしよう。リニアスペースレンダリングの基礎部分やアセット制作などを紹介した前編に続き,今回は,ゲームエンジンのコアとなるレンダリングやライティングなどの話題を中心に見ていきたい。

[GDC 2013]MGS5を実現する「FOX ENGINE」。ついに明らかになった新世代ゲームエンジン詳報(前編)



ハーフランバート系の技術による人肌表現


 まずは各種表現の要素技術について。解説を行ってくれたのはテクニカルディレクター・多胡順二氏だ。

 スキンシェーディングで必ず話題になる表面化散乱の表現では,ちょっと意外なことに,最近流行のスクリーンスペース サブサーフェス スキャッタリング(Screen Space Subsurface Scattering)は使われていないという。半透明体の表現では,ハーフランバートシェーディング(Half Lambert Shading)に似た処理が行われているとのことだ。

 まず,ランバートシェーディングから説明しておこう。光源が1個の場合,ある面で光源に対する角度が垂直(0度)だと,面の明るさは最大値(1)となり,90度真横を向くと明るさが(0)になる……というのは誰にでも分かる話だ。0度と90度の“途中”における明るさは,その角度のコサインの値になる。これもちょっと考えれば自然なことだと分かるだろう。これが「ランバートの余弦則」(Lambert's cosine law)と呼ばれるものだ。
 ランバートの余弦則に従って,面と光源の向きだけで行う,ごくごく普通の陰影付け手法がランバートシェーディングと呼ばれるものである。

 ただし,人体などは半透明体なので,よそから入った光によって全体的に明るくなる傾向にある。「だったら最初から明るめに処理してやればいい」というのがハーフランバートシェーディングだ。

すべてのシェーダで透明体を考慮していると多胡氏。肌や髪の毛,布,植物の表現に用いているという
画像集#003のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
 「Metal Gear Solid V: The Phantom Pain」(以下,MGS5)では,そんなハーフランバートシェーディングにインスピレーションを受けた,大胆な近似式が使われているという。「基本的には,すべてのシェーダで透明体を考慮している」(多胡氏)とのことなので,半透明体表現の手法として,MGS5では人肌に限らず広く用いられるようだ。
 前編でお伝えしたとおり,MGS5では物理ベースのレンダリングにこだわっている。にもかかわらず,割と肝心な部分で“物理的根拠のない近似式”を用いるというのは奇妙な話に思えるかもしれないが,複雑な事象をリアルタイムなゲーム世界で扱うために必要な措置なのかもしれない。

 実際に示された比較画像を見ると,人肌では皮下散乱光の色変化(※赤みを帯びる)などは考慮されていないようで,陰影がやや柔らかくなったかな? という程度の変化が出ている。

画像集#004のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#005のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
半透明表現無効時(左)と有効時(右)の違い

 余談気味だが,セッションの冒頭でチュートリアル部分として公開されていたデモでは,医者や看護婦,匍匐前進中のスネークさんの背中などで人肌表現を確認できた。医者や看護婦はかなりリアルで自然な感じだったのだが,スネークに,なにか違和感がある。何だろうと考えてしばらくして,顔はあんなに傷だらけなのに,身体はお肌すべすべで傷一つないからだと気付いた。

画像集#006のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#007のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
動きが激しかったこともあってボケ気味だが,医者(左)と匍匐前進中のスネーク(右)。スネークさんの背中はお肌すべすべである


独特なパラメータ「ラフネス」の効果


 前編でも紹介したように,FOX ENGINEの特徴的な素材設定項目に,「ラフネスマップ」がある。これは,ノーマルマップでは指定できないような微細な凹凸による素材感の違いを表現するためのものと思われるが,ともあれ,専用のバッファを使って処理される。
 ポイントは,このときバッファを直接加工すると,全画面での特殊効果にも利用できることだ。下に示したスライドでは,バッファ全体で値を下げ,やや光沢のある表現に変える例が示されたのだが,これにより,シーン全体が雨などに濡れたように見えるのが分かる。

画像集#008のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
ラフネスマップのラフネス値変更例。加工後(右)ではシーン全体が雨に濡れたように見えるという小技だ
画像集#009のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
凹凸面であっても,視線の角度が浅いと鏡面反射に近くなる

 また,ラフネスマップで与えられる凹凸には,フレネル効果と似たような特性が与えられている。凹凸面の反射特性を示すスライドとともに説明されたのだが,凹凸がある面は,視線からの角度が浅い場合,マット(非光沢)系の表現からグロス(光沢)系の表現に近くなっていくのだそうだ。
 スライドで示された画像を見ると,原因がよく分かる。視点からの視線が面の凹凸で反射した場合に,視線との角度が浅いと,視点から見えている凹凸面の向きが揃って,単方向に行きがちになるためだ。

画像集#010のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
視点との角度に応じて見え方が変わっていく原因の説明に用いられた模式図
画像集#011のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
レンダリング例。壁に映っている白い反射部分に注目してほしい


MGS5のレンダリングとライティング


画像集#012のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
FOX ENGINEはディファードレンダリングを採用する
 続いて,多胡氏らが行った,レンダリングエンジンに関する解説をまとめてみよう。
 FOX ENGINEでは,動的光源の数の制限を受けない手法として昨今よく用いられるディファードレンダリング(Deferred Rendering)を採用している。その大きな理由は「たくさんの光源を扱いたかったからというのと,人物と背景に同じライティングを施すことで,キャラクターを背景に溶け込ませるような表現をしたかったから」だそうだ。
 最近の大型タイトルではリッチな光源や影による効果が当然のように行われているので,これは妥当なところだろう。

 ディファードレンダリングでは,演算の都合に合わせて複数のバッファに情報を入れておき,複数パスでのレンダリングで参照するのだが,FOX ENGINEで使用するバッファとしては,以下のようなものが挙げられていた。

  • Diffuse Albedo(色情報)
  • Specular Albedo(光沢情報)
  • Normal(凹凸情報)
  • Velocity(速度情報)
  • Translucency(透明度)
  • Material ID(マテリアル情報)
  • Depth(奥行き情報)
  • Roughness(表面情報)

ライティングは,太陽光や環境光,点光源,スポットライトのような種類ごとに必要な回数だけ処理を繰り返す方式のようだ。すべての光源処理が終わった段階で,各種バッファに蓄積された情報を合成し,最終的な画像を生成することになる
画像集#013のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#014のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)

画像集#015のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
 ライティングアーティストの鈴木雅之氏によると,FOX ENGINEのライティングモデルは,標準的なBlinn-Phongシェーディングをベースとしているとのこと。光源では,物理ベースのシステムとあって,

  • 光束(光源全体の明るさ)
  • 照度(照らされる物体の明るさ)
  • 輝度(単位面積当たりの光源の明るさ)
  • 色温度(光源の色)

といった物理量による指定が行われているという。
 明るさの使い分けとしては,「光源から全方向に照射される明るさの総計である光束は炎や人工光源に,空の明るさには照度,自己発光物には輝度といった感じになっている」と鈴木氏。当然ながら,光源からの光は,距離の二乗分の1の割で減衰していくことになる。
 スポットライトは光束で指定されていることもあり,照射範囲が狭くなると照度が上がる。


バッファの直接操作による複合的特殊処理


画像集#016のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
FOX ENGINEで採用されるライティングモデル
 直前の段でFOX ENGINEがディファードレンダリングを用いていることは紹介したが,ディファードレンダリングには,複数の動的光源を利用できる一方,「単一のライティングモデルしか使用できない」という制限があったりする。そこでFOX ENGINEでは,各種バッファの内容を直接操作することで,屈折や異方性反射,視線の角度によるラフネスマップの反射率調整といった特殊な処理を行っているとのことだ。正確な演算ではないが,実用上問題ないそうである。

画像集#017のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#018のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
瞳の屈折処理。左がOFFで右がON
画像集#019のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
髪の毛における異方性反射の違い。左端は異方性反射を無効化したもの。中央と右は有効化したものだが,両者の違いは分からない


ライトプローブによる環境光の表現


画像集#020のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
 グローバルイルミネーション(Global Illumination,以下 GI)的な環境光については,さまざまな方向からの反射光を多数配置する,つまりはライトプローブ(Light Probe)で実現されていると説明があった。ライトプローブというのは,空間内の各地点に,全方向からの光の照射を記録した球体を配置し,その情報を参照して環境光を決定する手法だ。

 デザイナーが指定した位置でキューブマップを作成し,環境光を2次の球面調和関数に格納。アンビエント(ambient,周囲)のレンダリングは4分の1解像度で行い,ライトプローブ間のデータは補間して使用する。端的に述べて,今日(こんにち)のGI実装としては一般的なものといえるだろう。


天候表現や時間表現も可能なスカイライト


 屋外の環境光であるスカイライトには,「スカイシミュレータの出力を用いている」との説明があった。空からの光をイメージマップドライティング(Image Mapped Lighting)でキューブマップ化し,さらにそれを球面調和関数(Sphere Harmonics)化したものを用いているのだろう。ざっくり言ってしまえば,「空の画像を作って,それをスカイライトにしている」のだと思われる。

 そのスカイライトは時間変化に対応しており,大気での散乱効果も再現されているとのことで,時間変化については単体のデモが示された。時間経過を加速させ,太陽の動きとともに影が長く伸びたり画面が夕焼けに染まったりする様子などを確認できるものだ。
 昼と夜で画面の明るさを変え,色を変化させるところは,カメラ側の制御で実装しているという。一部の映画でたまに見られる手法だが,ゲームではちょっと珍しいかもしれない。

画像集#021のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#022のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
画像集#023のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#024のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)

 時間変化を実現するため,ライトプローブは24時間分が用意されており,間の時間は補間して表現されるとのこと。また,天候の変化もサポートされており,晴天や曇天,雨天,嵐といった設定が可能。データは1次元で順番に並んでおり,もちろん,中途の状態を指定すれば,補間した結果が返ってくるようになっているという。

 デモで示されたのは,昨年公開された「METAL GEAR SOLID GROUND Zeroes」のムービーにあったシーンで,天候指定だけを変更したものだ。つまり,雨だったものが晴天になっている。暴風でテントが揺れたりと,少しおかしな部分がないわけではないが,映像自体はまったく破綻がないことが,下に示した写真から見て取れるだろう。

画像集#025のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#026のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
画像集#027のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#028のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)

 また,カメラ処理では自動露出補正機能も搭載されていることが明らかになった。
 この部分ではライティング成分だけに着目した処理が行われているとのこと。実際のカメラと同様に,画面全体の明るさを基にした露出補正を行うこともできるのだが,それだと素材の色の影響を受けるため,素人が撮影したような映像になるのだという。レンダリング処理では,素材の色に左右されないライティングだけの情報を簡単に参照できるので,CGならではの正確な処理が実現できたそうだ。

 そのほか,レンズフレアやフォーカス遷移,被写界深度など,各種カメラ系のエフェクトも実装されている。

フォーカスが変わると画角も変わる
画像集#029のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編) 画像集#030のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
ただ,ひとつ理解できないのが,なぜ映像に横線(※シーンによっては縦線)のスミアを入れているのかだ。昔のデジタルカメラで見られた現象だが,最近のデジカメやビデオカメラでは出ないので,それを見てリアルだとは思えなさそうなのだが……
画像集#031のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)


小島プロダクションは,世界に通用するソフトウェア技術とゲームデザインで頂点を狙う


画像集#032のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
 このように,技術を駆使して最先端へと突き進んでいる小島プロダクションだが,技術が進めば進むほど,素材の質感などの確認で,現実世界に学ぶ機会が増えているのだそうだ。これはライティングについても同様で,自然なライティングは作品のキーになるものという捉えられ方がされていた。MGS5では,CMや映画を多く手がける映画監督の西山嘉治氏が,ライティングディレクターとして協力しているという。

 さて,これらの機能を持つ強力なエンジンを使って小島プロダクションが目指すのは,以下の2点だ。

  • 物理的な正しさ
  • 魅力的な絵作り

 まずはリアルな表現を可能にすること。そのために観察や計測を繰り返して精度を上げていく方向だ。その一方で,「いくら正確でも,絵として魅力がなければ,ただのコピーに過ぎない」と多胡氏は語り,両要素の両立を目指しつつ,両者がぶつかった場合にはアーティステックな表現を優先すること,そしてそのため,作品として仕上げるにはアーティストの力が不可欠であるとの見解を示していた。

画像集#033のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
 ロサンゼルススタジオの紹介や人材募集について語られたあと,小島秀夫氏が再び登壇。4年前のGDCにおける基調講演を振り返っていた。氏は当時,西洋型のゲーム開発は技術先行で表現力を広げているのに対し,日本ではゲームデザインが頑張ってなんとかする傾向があることを指摘しており,「次は技術開発も行う西洋型のスタイルで新しいメタルギアソリッドを作る」とも宣言していたのだが,ようやくその土台となるエンジンが完成したのだと語っていた。
 確かに,4年前から開発していたエンジンのためか,仕様自体は最先端というほどでもない。現在では一般的な技術が多く採用されている印象も受ける。

画像集#034のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)
 しかし,その表現力は相当なものだ。技術とアートのセンスが相まって,非常に高レベルに仕上がっている。これにゲームデザインが加われば,ゲームとしての魅力が押し上げれらることは十分理解できよう。
 「FOX ENGINEをもって,世界の頂点を狙う」と,小島氏は述べる。最新世代の武器を手にした氏が,どのようなゲーム体験を提供してくれるのか,今後のMGS5情報に注目したい。

画像集#035のサムネイル/[GDC 2013]小島プロダクションは「世界に通用するゲームエンジン」で頂点を狙う。「FOX ENGINE」詳報(後編)

「Metal Gear Solid V: The Phantom Pain」ティザーサイト

Game Developer Conference公式サイト

  • 関連タイトル:

    METAL GEAR SOLID V: THE PHANTOM PAIN

  • 関連タイトル:

    METAL GEAR SOLID V: THE PHANTOM PAIN

  • 関連タイトル:

    The Phantom Pain

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月27日〜11月28日