ここから本文です

【レポート】東京23区相当の巨大な「Seastack Bay」のライティング技術…Enlightenのデモで明かされた同社の考え方

インサイド 7月28日(木)16時54分配信

Unreal Engine 4とUnity 5に内蔵され、多くのユーザーに使用されているEnlighten。リアルタイムのグローバルイルミネーション(GI、大域照明)を実現するテクノロジーです。スタンドアローンのランタイムも提供されており、内製ゲームエンジンへの組み込みもサポート。開発・販売はARM傘下のGeomericsで、モバイルを含む全方位のプラットフォームに対応を進めています。

【関連画像】

もっとも、ハリウッドのフォトリアルなCG映像に「効果的な嘘」が数多く含まれているように、Enlightenの開発者もGIを「より効果的」に使ってもらいたがっているようです。GTMF2016のセッション「Enlightenを使ったリアルタイムの大域照明」で、ウィル・ジョセフ氏が投げかけたメッセージも、そうした考え方に裏打ちされていました。

ごつごつした岩肌や切り立った崖、洞窟などが点在する「Seastack Bay」。同社がGDC2016で公開した海辺のデモです。PCの画面に広がるのは25キロ四方(625平方キロ、東京23区の面積が621平方キロ)に広がる海岸地帯で、Uneral Engine 4とEnlightenで作成されており、ゲームフィールドとして使用可能。GTMF2016でもジョゼフ氏は本デモを用いて講演を行いました。

このようにフォトリアルな映像が特徴的な「Seastack Bay」ですが、主要な光源は太陽と空のみ。Enlightenが提供するGIによって、細部に至るまでリアルな陰影が表現されています。天候や時間の変化を動的に行うことも可能です。これはすなわち、パラメータを少し調整するだけで、マップ全体のライティングに大きな変化を動的に与えられることを意味しています。

ジョセフ氏は「GIを使用しない場合、太陽や空からの光源が遮蔽されないようにするため、平坦で開かれたマップになりがちです。しかし我々は屋外でも間接光だけで、これだけの表現ができることを証明しようとしました。そのため切り立った渓谷や崖、洞窟など、縦に長い場所を作りました」と語りました。

【「Seastack Bay」を作り上げた3つの基本方針】

もっとも、これだけの巨大なマップにもかかわらず、背景アーティスト(=ジョセフ氏)と照明担当のTAが1人ずつという、わずか2人のチームで製作されたと言います。そのためにはアセットの再利用もさることながら、照明まわりのワークフローが効率的であることが重要です。

照明、すなわちEnlightenの命だといってもいいでしょう。ここでジョセフ氏はこのパートを担当した、イバン・ペターソン氏のビジョンを紹介しました。曰く「道具を使いこなす」「現実世界のルールに挑む」「既存のアート制作過程に疑問を持つ」という3つの方針があったそうです。

「道具を使いこなす」というのは、「必用な道具がなければ自分で作る」という意味でもあるといいます。はじめにジョセフ氏は洞窟を表示し、その明るさを間接光の強度を調整することで、簡単に調節してみせました。前述の通り、天候や時間帯の変化も容易に行えます。この設定を手軽に行うために、複数の時間帯の光を簡単に融合できる機能をブループリントで作成したとのことです。

「現実世界のルールに挑む」とは、物理的な正しさよりも、印象的なシーンやユーザー体験を創造することが重要だという意味です。Enlightenはサーフェス間の光の反射を物理的に正しく計算することで、現実のシミュレーションを行い、ライティングに表情を与えて、世界に命を吹き込みます。しかし、ジョゼフ氏は「裏を返せば、これを守る限りルックは自由に変えてもらってかまいません。そのための機能もEnlightenには豊富にそろっています」と語ります。

例としてジョゼフ氏は花崗岩の岩塊をクローズアップしました。岩肌がキラキラと白く光っており、注意を惹きつけます。これは間接光ではなく、小さな発光体をマテリアルに埋め込めこむことで実現されています。小さな発光体、つまり現実にはあり得ない表現です。「こうした小さいディテールが命を吹き込むのです」(ジョセフ氏)

砂浜の一部が濡れていて、太陽光が反射しているように見える箇所でも、物理法則がゆがめられました。アーティストがIntensityの高い、しみのようなものを、リフレクションマップの半球上部に追加したのです。ジョセフ氏は「古典的なアートの制作過程はコンセプト、モデリング、テクスチャ、ライティング、レンダリングと直線的でした。しかし、現実的なファイナルショットを作るためには、この過程に疑問を持つことが重要です」と指摘します。

他に洞窟内では、岩肌が湿り気を帯びた様子を示すために、ラフネスのチャネルが誇張されています。この際、マテリアルのラフネスマルチプレイヤーをUIに表示し、それぞれのインスタンスを修正しやすくする工夫も行われていました。ジョセフ氏は「アートの制作過程に疑問を持ち、終盤でラフネスチャネルを追加しなければ、この結果は得られませんでした」と語りました。

このように、ジョゼフ氏はより印象的なシーンを作るために、Enlightenを「道具」として使いこなして欲しいと投げかけました。

【ライトマップの解像度と作業効率のバランスが重要】

講演の後半ではEnlightenの特徴と使用例が改めて示されました。Enlightenでは効果的な描画のために、ライトマップとライトプローブを使い分けながら間接光の設定を行っていきます。ライトマップは渓谷の壁など、広くて連続したサーフェースに適しています。樹木のような複雑なメッシュはライトプローブ向きです。ライトマップには解像度が設定でき、近景と遠景でクオリティを変更できます。ライトマップの色を変更することもでき、アーティストは直感的な作業が可能です。

なお、EnlightenのランタイムはGPUではなくCPUで動作します。このように間接光の焼き付けはメインの描画から切り離されており、ライトマップの解像度によって焼き付け速度が変化します。クオリティが高いほど時間がかかるため、バランスをとることが重要です。

焼き付け作業では橋や小道といった小さめのジオメトリをあらかじめ外しておくことで、計算時間を減らすことができます。これらの影は、スクリーンスペースアンビエントオクルージョン(SSAO)を使用すると、後から効果的に設定することが可能とのことです。

このほかEnlightenには、任意のサーフェースを発光させる機能があります。「Seastack Bay」でも溶岩が流れている箇所がありますが、ここもアニメーションとEmissive Colorがついたマテリアルで表現されているだけです(そのため清流を溶岩に変更することもできます)。溶岩に近い岩肌が赤く照らされているなど、ここでもGIの効果が得られます。

このように発光機能を使用することで、追加のランタイムコストを消費することなく、エリアライトの効果が出せます。ちなみにこのシーンでは、Emissive Color(発光色)とメッシュのIntensity(光の強度)を調節するために、ブループリントで関数が作成されました。これによってプロパティのコンストラクションがスクリプト経由ですぐに表に出せるようになったそうです。

最後にジョセフ氏は改めて、「Enlightenを使うと、アーティストはライティングのすべてをコントロールできます。ライティングのイテレーションを高めて、可能な限りベストな表現ができます。シンプルなツールですが、精密さとコストのバランスを巧みにとることができます」とアピールしました。もっとも、どのような技術も使いこなし方が重要です。エンジニアの技術とアーティストのセンスが融合してこそ素晴らしい表現ができる。そうした考え方が忍ばれるセッションでした。

最終更新:7月28日(木)16時55分

インサイド

TEDカンファレンスのプレゼンテーション動画

斬首動画が何百万回も再生されてしまう理由
昔は街の広場で、現代はYouTubeで。歴史を通じ、公開処刑には必ず人だかりがつきものでした。人が処刑というものを、恐ろしく不快に感じながらも、つい気になって見てしまうのはなぜか。フランシス・ラーソンが人間と公開処刑の歴史、中でも斬首刑に焦点を当てて解説したこのトークは、気分の良い内容ばかりではありませんが、同時に興味をそそること間違いないでしょう。