ゲーム開発最前線 ― 【GTMF2018】取材レポート

【GTMF2018】取材レポート:グローバルイルミネーションの現在

GTMF2018取材特集 ― グローバルイルミネーションの現在

2018年7月13日、秋葉原UDXで開催されたゲーム開発者向けのイベント「Game Tools & Middleware Forum(GTMF 2018)」において、シリコンスタジオのミドルウェア「Enlighten(エンライトゥン)」が、ゲーム制作(のグローバルイルミネーション)にどれほど有効なのかを伝えるセッションが行われました。
題して「Enlightenによるリアルタイムグローバルイルミネーション」。「ゲーム開発におけるライティングの概念が変わる」といっても過言ではないセッションの内容をご紹介します。

GTMF2018 セッション「Enlightenによるリアルタイムグローバルイルミネーション」

この記事のポイント

  • これからのゲームにはグローバルイルミネーションが必要
  • Enlightenはほぼすべてのプラットフォームに対応
  • Enlightenを導入するとライティングのワークフローを大幅に改善可能

グローバルイルミネーションの概要

セッションは、「グローバルイルミネーション(GI)」の説明から始まりました。実際は多くの要素を含む用語ですが、簡単にいうとサーフェス(ポリゴンの面)間の光の相互反射によって生まれるライティング効果を指します。これまでは事前計算をしてライティング効果を生成する「静的な手法」によって、ゲーム中のオブジェクトにあたる直接光と間接光、それによって生まれる影などを再現していたことが紹介されました。

この方法を使うことで、スマートフォンのような(PCやゲーム機と比較すると)処理能力の低いハードウェアでも十分に効果的な光の演出が得られるそうです。一方、あらかじめ作られたライトマップ(光の情報)を使用するため、ゲーム内の時間や天候の変化を再現しづらい欠点がありました。また、ライトの位置などを変更したとき、(変化したことを)確認する時間が必要という開発上の問題も抱えています。

Enlightenがゲーム開発にもたらす効果

シリコンスタジオのEnlightenは、ゲームの実行中(プレイ中)に、ライトやマテリアル(材質)をリアルタイムに変更できる「動的なライティング」を実現したミドルウェアです。ゲーム中の同じ場面がEnlightenの有無によってどれだけ変化するのか、岩場や峡谷のシーンを例に紹介されると、そのあまりの差に来場者の目は釘付けになりました。

Enlighten ― 岩場や峡谷のシーン
Enlightenなし(直接光のみ)

Enlightenなし(直接光のみ)

Enlightenあり(直接光+間接光)

Enlightenあり(直接光+間接光)

もうひとつEnlightenが優れているのは、あらゆるゲームエンジンに取り入れることが可能なこと。スタンドアロン版(SDK版)と、シリコンスタジオがコードを提供する「Unreal Engine 4」版の2種類があるので、自社の開発環境に合ったものが選べます。2017年5月以降、シリコンスタジオが開発と販売、サポートの権利を得たことで、日本語によるカスタマーサポート体制が整ったことも、導入への障壁を大きく下げました。

Enlightenが生むライティング効果

続いて、Enlightenがどのようにライティング効果を生成しているのか、具体的な流れが解説されました。採用されたのは「ラジオシティ法」と呼ばれる手法で、以下の順に処理が行われます。

1. シーンを構成するオブジェクトを「パッチ」に分割する
2. パッチ間の影響度を計算する(フォームファクタ)
3. 光の伝搬を計算する

Enlighten ― GTMF2018 セッションの様子1

Enlightenでは、一般的なラジオシティ法とはことなり、1と2は事前に演算処理され、3はゲーム中にリアルタイムに処理されます。当然、処理に必要な時間や負荷はパッチ数に依存することになります。ちなみに、3の処理によって出力されるデータは「ライトマップ」と「プローブ(ライトプローブ)」というもので、いわゆる間接光による拡散照明だけが含まれるとのこと。
ライトマップは、各サーフェスのライティングを、オブジェクトの3次元座標と2次元座標を関連付ける「UVマッピング」で適用するもので、動かない大きなオブジェクト向き。3D空間に対してライティングを行うプローブは、静的なものだけでなく、移動するオブジェクトや、小さくて複雑なオブジェクトにも向いています。

もちろん、オブジェクトの反射や周囲の環境を表す「キューブマップ」にも対応しているのでリアルな光の影響を表現することが可能です。
このライトマップとプローブが、どのように画面の見え方を変えるのかは、実際のゲーム画面とEnlightenの設定画面などを交えて紹介されました。

Enlighten ― GTMF2018 セッションの様子2

その上で、Enlightenのライティング計算がCPUで非同期実行されること、GPUを使用しないことが明かされました。また、フレームごとにCPUリソースの割り当て上限を設定できる点も見逃せないポイントといえるでしょう。

Enlightenの推奨ワークフローとは

このように、リアルなライティングを、大きな負荷をかけずに実現できるEnlightenですが、効果的に取り入れなければワークフローは改善されません。そこで紹介されたのが、シリコンスタジオが推奨する4段階のワークフローです。

Enlighten ― GTMF2018 セッションの様子3

1. 効果的なライティングを行うためのシーン設定を行う

どのオブジェクトを事前計算に含めるかを選択。さらに、ライトマップとプローブのどちらを使用するかを決めます。この段階で「適切な解像度の選択」が行われているかどうかのチェックをおこないます。また、Enlightenの機能のひとつである「AutoUV」を使うことで、UVが過度に分割されないよう無駄のないライトマップを生成することができます。

2. 事前計算を実行してRuntime用のデータを生成する

シーン設定が済んだら、事前計算を実行し、Runtime用のデータを生成します。複雑な場面であるほど処理には時間がかかりますが、Enlightenは分散処理ができるので、負荷を軽減することが可能です。

3. ライティング設定の検証と調整を行う

事前計算したデータの整合性を確認し、違和感があれば1でおこなったEnligthenの設定を再調整します。

4. 変更内容を即座に確認しながら、シーンのライティングを決める

実際のゲーム画面を見ながらシーンのライティング設定をおこないます。リアルタイムに変更点が反映されるので、結果を確認しながら、より求めるライティングになるよう微調整を繰り返して、シーンのライティングを確定させます。

実際にEnlightenを使用したプロジェクト

これは、ライティングに限った話ではありませんが、たとえそのソフトウェア(ミドルウェア)が革新的な機能を有していても、画面がどれほどリアルになろうとも、実際のゲーム開発現場で利用された例がなければ、自社のプロジェクトに導入するのは難しいでしょう。

経営者やリーダーが考える最大のポイントは「費用対効果」。決して安価とはいえないものを、優れた機能や得られる効果だけで決めることは難しいでしょう。従来の静的なライティングであれば追加投資なく、ノウハウを活かして一定レベルの作品に仕上げることができるのに、不慣れなEnlightenを入れる価値を見いだすには、先行して導入し、かつ成功したゲームが多数ある必要があります。 スライドでは、以下のヒットタイトルにEnlightenが使われたことが報告されました。

Enlighten ― 採用事例「Hellblade: Senua's Sacrifice」
  • AC「ストリートファイターV」(カプコン)
  • PS4「ドラゴンクエストXI 過ぎ去りし時を求めて」(スクウェア・エニックス)
  • PS4/Xbox One「ニーア オートマタ」(スクウェア・エニックス/プラチナゲームズ)
  • PS4「ウイニングイレブン 2019」(コナミデジタルエンタテインメント)
  • iOS/Android「モダンコンバット Versus」(面白法人カヤック)
  • PS4/PC「Hellblade: Senua's Sacrifice」(Ninja Theory)
  • Switch/PS4/Xbox One/PC「RiME」(Grey Box/Tequila Works)

※記載されている名称は各社の商標または登録商標です。

関連リンク

お問い合わせ

お気軽にお問い合わせ・ご相談ください!

メールフォームでのお問い合わせ

お問い合わせフォーム

お友達紹介キャンペーン!Amazonギフト券など 選べるe-GIFTがもらえる!