高品質でバランスのとれた反射光による照明効果を施せる、シリコンスタジオ製のリアルタイムグローバルイルミネーションミドルウェア「Enlighten」。これを活用したゲームタイトル『ウイニングイレブン 2019』(以下、『ウイイレ 2019』)についての講演「Enlightenによる効率的なライティングワークフロー 〜『ウイニングイレブン 2019』における写実的な絵作りの秘訣〜」がCEDEC 2018で行われた。写実的でプレイしやすいサッカーゲームのグラフィックスを実現する上で、従来のワークフローではどのような困難があったのか、Enlightenを導入したことによりどう改善されたのか、余すことなく語られた。

関連記事
プログラマーこそHoudiniを触るべき!~プログラマー目線での魅力が熱く語られたHoudiniトーーク~CEDEC 2018レポート(1)
ノードベースのVFX制作は怖くない! 日米協業タイトルで実現したUbisoftの取り組み~CEDEC 2018レポート(2)
TAを増やす改善策は「余裕をもつこと」~若手テクニカルアーティストが大いに語ったラウンドテーブル~CEDEC 2018レポート(3)
リアルとバーチャルの境界を技術で超える「バーチャルキャラクターをリアルイベントへ召喚する技術」~CEDEC 2018レポート(4)

TEXT&PHOTO_安藤幸央(エクサ)/ Yukio Ando(EXA CORPORATION
EDIT_小村仁美 / Hitomi Komura(CGWORLD)



【公式】ウイニングイレブン 2019 / ローンチトレーラー


<1>「Enlighten」導入のメリットとは

左:吉野 潤氏(シリコンスタジオ株式会社 テクノロジー事業本部 技術統括部 ミドルウェア技術部 ソフトウェアエンジニア)、右:山下友介氏(株式会社コナミデジタルエンタテインメント 『ウイニングイレブン 2019』制作チーム プログラマ)

まずはシリコンスタジオにてEnlightenの開発に携わる吉野 潤氏から、Enlightenの特徴について解説が行われた。Enlightenはどのようなゲームにも組み込むことができるリアルタイムグローバルイルミネーションエンジンだ。グローバルイルミネーション(GI)を活用する場合、従来はあらかじめ陰影の情報を計算しておき、テクスチャとしてベイクすることが多かったが、Enlightenでは完全に動的なランタイムエンジンによりリアルタイムでGIを実現することができる。

※GI(Global Illumination:大域照明):光の大域的な効果を光学的・物理学的に正確に扱うアプローチで映像を導出するレンダリング技法。求める質感や色合いのために個別に照明を配置し、ライティングを調整する局所照明の手法と対比されることが多い

数々のゲームタイトルで活用されているEnlighten。その導入のメリットとしては、時間や天候による光と影の変化や、火の点いた松明を持って移動するといったダイナミックなライティングの変化を容易に表現できること、開発時のライティング調整コストを軽減できることが挙げられる。

Enlightenによって描画された、松明が照明として使われている場面

Enlightenによる描画結果(左)と直接光のみの描画結果(右)

リアルタイムに変化する環境、時間の移り変わりや季節などの表現が可能

従来は事前に陰影を計算する手法が主流だったため、アセットを作成してシーンに配置し、その後ライトを配置してベイク、作成したテクスチャを貼り込んでGIの効果を確認するというフローが一般的であった。しかし、各工程の待ち時間が長く、自動ビルドなどの工夫をしても、開発期間が限られているために調整にかかる時間、試行回数や機会が減ってしまうことが大きな課題だったという。

Enlightenでは基本的な流れは同じだが、従来のベイクに相当する事前計算を、ライトの配置前に一度実行すると動的にGIをアップデートできる状態になる。それ以降、ライトのパラメータを変更しても、重いベイク処理を実行することなく即座にGIの効果を確認できるため、ライトの調整にかかっていた時間を他の作業に回すことができ、シーン全体のクオリティアップが見込める。「直接光、間接光のパラメータを変えると即座にGIが更新され、ライトの色などもすぐに画面に反映されるのが良いところです」(吉野氏)。

さて、そのEnlightenはどのように動作するのだろうか? 「ラジオシティ法により、シーン中のオブジェクトをパッチに分割し、パッチ間の相互反射を計算しています。そのため大きなシーンになると決して軽い処理ではありません。Enlightenでは2つの処理で、高速化を図っています。事前計算しておける部分はできるだけ事前に処理してしまうプリコンピュートと、最終的な間接光の効果を計算するランタイムです。プリコンピュートによる事前計算は分散処理が可能で、複数のマシンで手分けして計算することができます」と吉野氏は解説する。

プリコンピュート処理の説明

ランタイムは非同期に処理されるため、ゲームのフレームレートに影響されないことも特徴だ。Enlightenの計算結果はライトマップとプローブとして出力される。また、ライトマップは静的なオブジェクトで低コストで実現できる一方でライトマップ用のUVの生成に手間がかかってしまうが、Enlightenではその面倒さを回避するために自動で効率的なUVを生成する「AutoUV」という機能をもつため、制作時に苦労することはないという。

Enlighten Global Illumination GDC 2018 Trailer/GDCで公開されたEnlightenの紹介動画

次ページ:
<2>なぜ、『ウイイレ 2019』でEnlightenが導入されたか

[[SplitPage]]

<2>なぜ、『ウイイレ 2019』でEnlightenが導入されたか

続いてコナミデジタルエンタテインメントの山下氏が登壇し、『ウイイレ 2019』におけるEnlightenの導入事例について発表が行われた。「Enlightenは間接光がつくり出すリアリティのある見た目を表現できるのはもちろんのこと、ゲームプレイ中にライトやマテリアルを変更することで、時間の変化、天候の変化を簡単に実現することができ、ライティングワークフローが非常に効率的になるのがポイントです。アーティストが少しライトを調整したとしても、すぐに結果が得られるので、作業時間の短縮に大きく役立っているのではないかと思います」(山下氏)。

Enlighten導入のながれを解説するコナミデジタルエンタテインメント山下氏

今回『ウイイレ 2019』で、なぜEnlightenを導入するにいたったのか。「『ウイニングイレブン』シリーズは20年以上続いているサッカーゲームです。自社エンジンを用いて2014年まではフォワード・レンダリングを使っていました。選手以外の全てがライトマップで、選手のみリアルタイムレンダリングで描画されGIの利用は最小限でした。2015年以降は、選手も背景もディファード・レンダリングで全てリアルタイムライトで扱っていました」(山下氏)。

『ウイイレ』シリーズは毎年リリースするタイトルであるため、制作期間は1年よりやや短い10ヵ月ほど。『ウイイレ 2019』ではグラフィックスパイプラインの刷新を目指し、相当大きな改造を行なったという。そもそも、なぜ今Enlightenなのか? それは、本シリーズにおけるライティング調整の制作コストの高さに端を発する。

『ウイイレ』シリーズのライティングは、物理的な照明の正しさよりもゲームとしての遊びやすさを追求するため、基本的には見映えの良さを最優先に調整されている。つまり、ライティングがゲームプレイにとても影響するということだ。「濃い影が変に地面に伸びていては、とても遊べません。ゲーム時間が正午ですと太陽が強く、影のコントラストが強すぎて遊べません。また夕方16時頃に設定すると影は弱まりますが、正直見映えがしない画面になってしまいます。遊びやすさを重視し、ゲームプレイチームから常時フィードバックしてもらいながら調整しています」(山下氏)。

影が伸びすぎてプレイしにくい画面になっている例

スタジアムの屋根が影になってプレイしにくい画面になっている例

ライティングは常に微調整をくり返し、マスターアップ直前まで対応が続くという。調整対象も1つや2つにとどまらない。本作ではスタジアムが約40種類あり、それに朝・夜などの時間帯、晴れ・曇りなどの天候といった諸条件を組み合わせるとゆうに200パターンを超え、膨大なライティング調整コストを抱えることとなった。当時ライティングは1~2人のスタッフのみで対応しており、『ウイイレ2018』まではかなり無茶な実装になってしまっていた。そこでライティングワークフローの改善策としてEnlightenを導入することになったというわけだ。

スタジアムについては、現地でレーザーによる3Dスキャンを行い、そのポイントクラウドからモデルを制作している。開発スタッフに作業量の見積もりをヒアリングしたところ、GIに非常に時間がかかっていたのだという。そこで、プローブの配置、ライトマップの生成、UV展開など、見映えを良くするために手作業で行われていた様々な工程を全て自動化。ゲームプレイ中も調整が可能なほどの、シンプルなワークフローが実現した。

講演日の朝に使用許可が得られたばかりのスタジアムの3Dスキャンの様子

再構成されたスタジアムのCG

結果的にどちらのライティングが良いか? と質問を投げかけると「2018年版の方が良い」というスタッフもいますが、大きくみると、『ウイイレ 2019』ではライティングに嘘をつかなくなった点が大きな変化だという。『ウイイレ2018』までは手動でGIを設定していたため、情報量が不足しのっぺりしている箇所に補助ライト、嘘ライトと呼ばれる本来存在しないライトが大量に置かれていた。それによりかえってライティングに整合性が取れなくなるという悪循環が発生し、処理負荷も上がっていたとのこと。「『ウイイレ 2019』のフローでは情報量が確保できるようになり、少ないライトで整合性が取れゲームとしても成立するようになりました」(山下氏)。



  • 『ウイイレ2018』(左)、『ウイイレ 2019』(右)の比較。影や照明に注目



  • 同じスタジアムでの昼(左)と夜(右)の様子。前作までは昼と夜だとライトの構成が異なり使い回すことができなかったが、本作では素直にライティングできるようになったため、太陽光とスタジアムライトで自然なバリエーション演出が可能に

ライティングをフォトリアルにするのはそこまで難しくなく、きちんと計算してベイクすれば良いのだが、ねらった「画」をつくるためには膨大な微調整が必要となる。この1回あたりの調整は微々たるものだが、その調整の積み重ねの総量が『ウイイレ』開発の根底にあった問題であった。そこでEnlightenを開発に採用した一番の効果は「ライティング調整のイテレーションが早くなったこと」だと山下氏は語る。調整にかけられる時間が増え、トータルで数日分の時間が稼げるようになった。綺麗なGIは当然のこと、作業できる時間が増えた結果、全体のクオリティが上がったと考えているとのこと。

次ページ:
<3>開発と同時進行で実施されたインテグレーション

[[SplitPage]]

<3>開発と同時進行で実施されたインテグレーション

自社エディタへの組み込みのフロー説明図

Enlighten導入検討の際、山下氏が最初に決めたルールは「アーティストの作業を止めないこと」。タイトルは毎年開発・リリースを続けており、今回も約10ヶ月で開発を完了するにはアーティストの手が止まる期間があってはならない。「ゲームエンジンのインテグレーションをしながらもアーティストたちが作業を進められるよう、古いデータでも動かし続けられるような配慮が必要でした。もちろんランタイムエンジンやプログラムそのものには影響を与えず、既存の描画パイプラインも変更しないことが前提でした」(山下氏)。

また、制作フローもできるだけ変更せずにインテグレーションを進めなければならなかった。Enlightenのエディタ&パイプラインツールであるForgeは、習得時間がなかったため今回は使用しないことに決定。自社エンジンと同等のライトの実装にトータルで約3人月、エディタへの組み込みとアーティストとのやりとりを主として実際の組み込みは2週間ぐらいで済んだとのこと。「Enlighten PPPIのサンプルコードがなくて苦労したので、これからのサンプルコードの充実に期待しています」(山下氏)。



  • 左:Gバッファ、右:Enlightenライトマップ



  • 左:Enlighten PPPI、右:Enlightenライトマップ+Enlighten PPPI



  • 左:ダイレクトライティング、右:完成画像

Enlightenを導入した結果として、映像のクオリティは改善され、ビジュアルの評判が良くなったと、山下氏はふり返る。ランタイムへのパフォーマンスへの影響は最小限で、常に60fpsを確保できているという。各社GPUの使いかたがちがうため一概にどのゲームにも良い効果をもたらすとは言えないが、KONAMIの自社エンジンの場合には大変効果があったとのこと。

Enlightenは、アセット制作時のワークフローに組み込むだけでも効果があり、ライティングの調整コストが高いゲームタイトルに向いているミドルウェアと言える。非常に素直な設計であるため、既存の制作フロー、描画フローに後から組み込んでいくのは難しくない。一方で、コツを掴むのが難しく、内部構造のしくみを理解するまでに時間がかかるため、今後はドキュメントとノウハウの拡充をお願いしたいと述べ、発表を締めくくった。

All copyrights or trademarks are the property of their respective owners and are used under license.©Konami Digital Entertainment