美麗なゲームを高速かつ効率的に開発・・・「Unreal Japan News」第74回 | GameBusiness.jp

美麗なゲームを高速かつ効率的に開発・・・「Unreal Japan News」第74回

その他 その他

Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
  • Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
  • Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
  • Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
  • Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
  • Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
  • Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
  • Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
  • Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。
Epic Games は、デモ「Infiltrator」の開発のために使用された新たなテクノロジーとテクニックをさらに進化させます。

筆者 Alan Willard (シニア・テクニカル・アーティスト兼レベル・デザイナー)

■ツールこそ肝要

Epic Games では、優れたツールを作成することが、常に最優先項目の一つとなっています。堅牢かつ洗練されたツール群を利用すれば、大規模なゲームも比較的短期間で開発することができます。また、アーティストとデザイナーは、ほとんど (あるいはまったく) コードを書かずに大量のコンテンツを作ることができるようになり、プログラマーは、ゲームプレイのメカニクスやシステムを新たに作ることから解放されます。優秀なツールがあれば、創造的なワークフローを乱すことなく、新たなアイデアに基づいて迅速にプロトタイプを組み、イテレーションを実施することができるようになるという点も見逃せません。また、ユーザーは、PCやコンシューマ、モバイルなど好みのプラットフォームで素晴らしくも美しいゲームをプレイしたいのですから、現代の多様なハードウェアに対応すべくゲームのスケールを変えて移植を可能にするツールも成功には欠かせません。

アンリアル・エンジン 4 の完成度が高まり成熟期に入った現在、私たちは新たなツールとテクニックを数多く駆使して、発売を控えている弊社タイトル「Fortnite」の完全製品版や、ハイエンド PC および次世代コンシューマ用の試作版を開発することができています。Sony の新製品発表会で PlayStation 4 用のリアルタイムデモが初めて公開されましたが、それを支えていたのもアンリアル・エンジン 4 でした。また、GDC (ゲーム・デベロッパーズ・カンファレンス) において Epic Games は、この新エンジンによるデモ「Infiltrator」を発表しています。これについては後ほど触れましょう。

■次世代エンジンに関する新情報

●ブループリントのご紹介

ブループリントは、アンリアル・エンジン 4 に搭載されている新たなビジュアル・スクリプティング機能です。Epic Games の開発チームは、開発パイプラインのほぼあらゆる局面でこのブループリントを使用して、これまでにはないやり方で創造力を解き放っています。ブループリントは、レベル・スクリプティングのために使用できるだけではありません。完全にプレイアブルな小容量ゲームを作成し、瞬く間に動かすこともできます。たとえば、Epic Games の主任アーティストである Shane Caudle は、まったくプログラミングすることなく空き時間を使ってホバークラフトのゲームを作成することができました。彼は、コントロールや簡単な AI、HUD を含め、あらゆるメカニクスをブループリントを利用して作成することができたのです。

このホバークラフト・ゲームにおける各オブジェクトの振る舞い方は、ブループリントによって決まります。オブジェクトの代表として、ホバークラフトそのものを挙げてみます。ホバークラフトのブループリントには、プレイヤーが爆破を引き起こした時にホバークラフトを上下動させるためのカーブがユーザーによって作成されて含まれています。ゲームがプレイされると、ビジュアル・スクリプティングのコードすべてが、リアルタイムにアニメーション化して反応するとともに、ゲームのプレイに合わせる形でブループリントのフローを表示します。ブループリントが実行されている場合は、たとえばボタンが押されてアクティベートするイベントや、実行中のスクリプトや動作などあらゆるものが可視化されます。

ブループリントは、コンテンツをプロシージャルに作成するためにも利用することができます。その例として、リング状に配置した柱を一つのブループリントを使って挿入および調節する方法についてすでに説明しています。このビジュアル・スクリプティングでは、円の周りに配置するセクションの数と円の大きさを設定することができます。さらに、オブジェクトの回転を均一かつ一斉に調節することができます。また、スクリプトによって、リングからオブジェクトの 1 つを削除したり、それらオブジェクトのうちからその後削除するものを選択することが可能です。他にも、手計算によらずに柱を等間隔に配置することができます。このようにしてオブジェクトを作成して配置することができるため、迅速なプロトタイプ化が可能になるとともに、単純なオブジェクトのみならず複雑なシステムを挿入することが可能となります。さらには、ブループリントを拡張することによって将来的に機能を実装することを想定した場合、その基礎が作られていることにもなります。

ブループリントは、2 つの異なる要素から構成されています。1 つは、コンストラクション・スクリプトです。これは、変数の使われ方を定義します。先の例では、放射状に配列される弧の数を計算して、それぞれの位置にメッシュを作成する部分に当たります。各ノードはユーザーに非常に分かりやすい形で配置され、具現化されたものを簡単に把握することができるようになっています。もう 1 つはイベント・グラフです。これは、ゲームプレイ中に実装されることになる振る舞いを定義するために使います。したがって、プレイヤーがブループリントとインタラクトした時に発生させるべきことがあれば、このイベント・グラフで簡単に定義しておくことができます。また、その後必要に応じて振る舞いを拡張させることも可能です。

本質的にブループリントは、「一度作ればどこにでも使える」ため実に便利です。ブループリントのオブジェクトを作成すると、レベルがいくつあろうとも好きなだけそのオブジェクトを配置させることができます。ブループリントのプロパティを変更しなければならない場合は、ブループリントを調整するだけで改変された振る舞いと変更がゲーム全体に反映されます。

●他の新情報

サムネイルをカスタマイズできる編集モードが搭載された動的なコンテンツ・ブラウザも開発されました。ブラウザ内で編集が有効になっている場合は、リアルタイムにアセットを表示させて、カメラを動かすことができるだけではなく、マテリアルを使ってサムネイルのプレビュー・オブジェクトを変更することも可能です。簡単なプレビュー・オブジェクトをもたないアセットについては、エディタによってワールドの現在のビューをキャプチャーして、この新たなスクリーンショットを代わりに使うことができます。

高品質アニメーションがますます複雑化している中それに対応するために、新たなアニメーション・ツール・スイートとしてペルソナが作られました。ペルソナでは、ブループリントを利用して、ゲームプレイに反応するインタラクションとアニメーションのブレンドを定義することができます。アニメーションのブレンドをカスタマイズするためにはステート・グラフを使用することができます。たとえば歩いているステートからかがみ込むステートへと変更するなど、プロジェクトに必要なあらゆるステートへ簡単に変更することができます。さらにこれらのことはグラフ内ですべて視覚化されるため、ツールでインタラクティブに定義される値に基づいて、あるノードから他のノードへフローする様子を見ることができます。また、コアなブループリント・システム同様ペルソナも、プロジェクトのデザインが進化することに合わせて拡張することが可能であり、新たなステートやアニメーション、ブレンドのルールを必要に応じて好きなだけ簡単に追加、洗練させることができます。

アセットの扱い方とアニメーションの作成方法が刷新されたことに加えて、レンダリング・パイプラインとアート・パイプラインが進化して、物理ベースのライティングとシェーディングに対応するようになりました。ライティングのための IES プロファイルは、現実世界における照明の強度と減衰を正確に捉えるものであり、映画の CGI ツールセットで採用されているのと同等の基準が使われています。IES プロファイルには、照明によってどのくらいのエネルギーが放出され、その照明の範囲内にどのようにエネルギーが拡散されるかということが定義されているため、ライティングで使用されると、きわめてリアルなイルミネーションが実現されます。これまでであれば、ライティングの出来栄えに磨きをかけるために減衰やカラーを微調整して、場合によってはテクスチャを利用したものです。しかし今後は、IES プロファイルを利用するだけで、現実的な光の測定に基づいたイルミネーションをレベル内で即座に実現できるようになったのです。

ライティングとシェーディングが物理ベースになると、あらゆるサーファス (表面) が物理的に正確なマテリアルに基づいて光を発し、環境を反射します。そのようなものとしては、アルミニウムや壁のペンキ、カーペットなど、現実にオフィスにあるようなものを挙げることができます。さらに、カメラの距離に基づいて付加的な LOD (詳細度) をブレンドさせるという進歩的な手法が取り入れられました。それらの値は互いに自由にブレンドさせることができます。また、それらの値はすべて任意の時間に動的に変更することができるため、アーティストはシーンに合わせて値を直接調節し (あるいは指示に基づく変更を実行時に実施し)、ゲームプレイやその他イベントによって変更がトリガーされるようにすることができます。

さらに、パーティクル・システムの細かい粒や小片の一つずつが、光を放出できるようになりました。その際、パーティクルのカラー、ライフタイム、サイズ、その他複数のプロパティを調節することが可能です。さらに、パーティクルのコリジョンを GPU で極めて高速に判定できる機能が実装されました。また、コリジョンは動的であるため、パーティクル・システムや個々のスプライトが動いたり、オブジェクトがパーティクルの中を通ると、コリジョンがリアルに振る舞うようになります。

■「Infiltrator」の内側

ここまでは、アンリアル・エンジン 4で開発されたツールと機能の一部を紹介してきましたが、ここからは、デモ「Infiltrator」を制作するために Epic が使用したテクニックを見て行きたいと思います。

「Infiltrator」は、3 か月間平均すると 14 名のアーティストからなるチームによって内部で制作されました。その期間中エンジンに多数の新機能が加わったため、新たなワークフローとテクニックが開発されました。例としてメインキャラクターを取り上げてみましょう。



●新たなマテリアル・パイプライン

メインキャラクターの外見を決定するシェーダーやコード構造、テクスチャについて見てみると、これらには過去のキャラクター作成方法とは際立った違いがあります。まず、ディフューズやスペキュラ、法線のプロパティのために少数の高解像度テクスチャを使用するという方式に代わって、キャラクターの外見を構成するさまざまなマテリアルを定義するレイヤー方式が実装されました。

メインキャラクターは、布、金属、ゴム、よろい、肉体、髪の混合物です (2:30)。各レイヤーは、個別に作成されていますが、最終的なシェーダーにおいて、他のレイヤーの混合物といっしょに混ぜ合わされることになります。これらのレイヤーでは、マスクが使用されることによって、キャラクターのある部位でどのレイヤーが可視化されるかが決まります。これらのレイヤーの中には、かなり単純なもの (たとえば、バックルなどのようなものに使用されている比較的きれいなメッキなど) もあれば、肉体の部分などのようにかなり複雑なものもあります。このテクニックは、「Infiltrator」の環境で見られるサーファスのマテリアルにも多用されています。

もう一例として、ロボット型宇宙船を見てみましょう (0:13)。ベースとなる金属が 1 つのレイヤーとして定義されています。ペンキのレイヤーは、金属の上に不透明な状態でブレンドされています。このブレンドは、単に 2 枚のテクスチャを互いの上に重ねるよりも複雑です。なぜなら、メタリックやスペキュラ、けばけばしさなどの程度を表すマテリアルのプロパティもブレンドするからです。さらに、他のレイヤーとは別にディテール感を加えるデカール・レイヤーによって、宇宙船の繊細なディテールを阻害することなくマテリアルを変更することが可能です。

●次世代のライティング

「Infiltrator」のライティングは、さまざまなテクニックによって支えられています。アーティストが創造的な構想を実現するためには、多数のライトがサポートされる必要がありました。「Infiltrator」のオープニングシーンにおける通路のような場所では、同時に 1,000 個のライトが画面上に表示されることもあります (0:17)。

シニア・グラフィック・プログラマーを務める Daniel Wright によると、ディスタンス・フィールド・シャドウマップを作成したことによって、これらライトのシャドウイングを効率的に利用することができるようになったとのことです。シャドウは通常負荷が高いため、主にこの方式のおかげでこれほど多数のライトをサポートすることができるようになったのです。

「Infiltrator」のスクリーンにライトを加えるためには、DirectX 11 演算シェーダによるタイルベースの遅延シェーディングが利用されました。このテクニックでは、スクリーンがタイルに分割され、それぞれのタイルでライトがカリングされてからライトが加えられます。このため、非常に効率よくライトを加えることができるようになることもあって、格段に多くのダイナミック・ライトをパーティクルに付加することができるようになり、火花のようなさまざまなエフェクトに利用することができるようになりました。

銃口の閃光や衝撃のエフェクトでは必ずパーティクル・ライトが使用されています。パーティクルのライティングによって、環境内のパーティクル・エフェクトとライティングのタイミングを正確に合わせることが可能となります。この新たなテクニックを使うと、シーンの統合を改善することができるようになります。また、ライトの設定を一か所で変更してプロジェクト全体に波及させることができるため、一斉にライティングを調整し、大量のインスタンスをアップデートすることが可能になります。つまり、とてつもない時間の節約となるのです。「Infiltrator」では、兵士のヘルメットにさえパーティクル・ライトを加えることによって、短時間でライティングのディテールを加味することができました。そしてこのディテールは、単一のパーティクル・エフェクトから一斉に変更することが可能なのです。

シーンの統合が改善されたことについてもう少し詳しく説明しましょう。これは、パーティクルがワールドに光を発することができるようになったため、以前に比較するとキャラクターたちを環境により的確に溶け込ませることができるようになったということを意味しています。たとえば、あるスプライトが均一の時間生存することができるならば (あるスプライトが 0.5 秒間持続し、別のスプライトが 1 秒間持続するなど)、各スプライトで発せられるライトは、スプライトの可視的な寿命と正確に一致することになります。したがってアーティストは、環境内でライトを効率的かつ正確に制御することができるようになります。

さらに、これによってアーティストたちが、個々のライトとパーティクル (パーティクルはランダムに表示され簡単には予測できません) のタイミングを合わせる必要がなくなったため、「Infiltrator」の作業工程は大幅に短縮されました。レベルには、何百もの銃弾による衝撃、曳光弾、銃口の閃光、爆発による火花、電気的な爆発、環境エフェクトなどが発生します。パーティクル・ライトのおかげで、これらのエフェクトそれぞれのインスタンスを単一のアセットから改変することができるようになったため、アート・ディレクションとイテレーションは実に容易になりました。

また、「Infiltrator」では、ボリュメトリック・エフェクトとパーティクル・エフェクトが特殊な方式によってライティングされていることに留意してください。その方式とは、ボリューム・テクスチャがカメラに追随し、すべての可視的なライトがボリューム・テクスチャに影響を与える時に取られる方式のことです。その際、ボリュメトリックは空間上の位置におけるライティングを得るために、ボリューム・テクスチャを参照します。

●高解像度、高密度のパーティクル

アンリアル・エンジン 4 では、パーティクル・システムのクオリティが大幅に見直されました。CPU によるパーティクル・システムでは、非常に複雑な個々のパーティクルを作り出すことができますが、GPU によるパーティクル・システムでは、グラフィックカード上で処理されるシミュレーションが適用されるため、パーティクルの密度を格段に高めることが可能です。

「Infiltrator」では、電気的な火花や飛び散る火花、水の滴り、たなびく風の大半が、高密度の GPU パーティクルによるものです (1:31)。アーティストは、CPU パーティクルを作成するために使用されるツールと同じものを使いながら、付加的なモジュールも利用してパーティクルを生み出すことができます。たとえば、GPU パーティクルのコリジョンは、シーンの深度を計算し、パーティクルの現在の位置と深度を比較することによって作られます。この処理は抜群のスピードで実行されるため、ほとんど負荷をかけることなく 1 フレームにつき大量のパーティクルでコリジョンを起こすことができます。

また、CPU パーティクルについても、パーティクルの発光が実装されました (3:08)。これも負荷が非常に低く、簡単にパーティクル・システムを作成することができました。アーティストがパーティクル・システムのためのライト・モジュールを選択すると、そのパーティクルのカラーとサイズを継承するパーティクルごとにライトが作成されることになります。これはあらゆるシーンで利用することができます。

●テンポラル・アンチエイリアスとモーションブラー

メインキャラクターの頭はドレッドヘアになっているため、シネマティックの中で柔らかくけばだった感じを出す必要があります (0:57)。そのためには、テンポラル・アンチエイリアスという新機能が使用されました。この機能は、デモ「Infiltrator」を作成する時にまさに実装されるところでした。テンポラル・アンチエイリアスとは、カメラによる結果を毎フレームジッターさせ (時間的にずらし)、時間経過とともにブレンドされるデータをエッジ検出といっしょにバッファに入れておくことによって、となりのピクセルに溶け込ませるべきピクセルを特定する技法のことです。キャラクターの髪については、ドレッドヘアそれぞれの房から外に向かって飛び出るノイズのあるマスクが生じますが、テンポラル・アンチエイリアスによってそれがブラーされることによって、格段にソフトでリアルな出来栄えが得られることになります (2:41)。

テンポラル・アンチエイリアスはキャラクターに限ったものではありません。シネマティック全体のいたるところで使用されます。テンポラル・アンチエイリアスは、理想的なシネマティック感覚を作り出すための主要な機能の一つなのです。

●カメラのテクニックと屈折の秘訣

クロークシールドは、シーン・キャプチャというアンリアル・エンジン 4 のツールによって作成されました。シーン・キャプチャは、テクスチャに書き出すことができるカメラです。

「Infiltrator」では、シニア・テクニカル・アーティストの Jordan Walker が、キャラクターの背中からカメラを反転させて背後の通路をキャプチャし、それによって得られたテクスチャをキャラクターの前方のアーク状のシートに投影しています (0:51)。

キャプチャされたテクスチャを作成する他にも、Jordan は視点依存の属性をもつ屈折素子 (レンズなど) とともに色合いをレイヤー化させました。さらに、さまざまな強度でシーンの屈折を複数作ることによって、カラーチャンネルそれぞれがエフェクトの屈折素子を強化できるようにし、デジタル感覚を強めました。これによってカラーフリンジ (色ぶち) も伴ったブラー屈折ができ上がりました。

●ペルソナに関する新たな情報

キャラクターのモーションを作ったことがきっかけとなって、新たなペルソナ・アニメーション・パイプラインの開発が進みました。このパイプラインには、ステートを作成するためのノードベースのブループリントとそれらステートどうしのブレンドのためのルールセットが実装されています。これを利用することによって、ソースやゲームまたはユーザーからの入力に基づいて多数のアニメーションを同時にブレンドさせることができます。

ペルソナは、コアなブループリント・システム同様に、プロジェクトのデザインが進化するのにともなって拡張することができます。新たなステートやアニメーション、ブレンド・ルール、その他の動作を必要に応じて好きなだけ簡単に追加、改良することができます。デザイナーやアニメーター、エンジニアは、この機能を使ってシステムを拡張することによって、プロジェクトのデザインの進化にともなって生じる新たなニーズに対応することができるようになります。

●FBX への対応が強化され、より優れたアニメーションに

アンリアル・エンジン 4 では FBX の統合が更新されたため、シニア・FX・アーティストの Francois Antoine は、ロボット型宇宙船が落下する「Infiltrator」のシネマティック (1:54) の全ショットを、環境や骨格メッシュ、カメラモーションを含めて FBX ファイルにエクスポートすることができました。

ショットが Maya にインポートされると、NVIDIA PhysX DCC プラグインによって、ロボットの既存の骨格が、ジョイントでつながれたラグドール・オブジェクトに変換され、衝撃によって分離する部位のために破壊コンストレイントが追加されました。さらにコリジョン・ボディとして使用するロボット全体のための低解像度メッシュが作られました。

最終的に得られる高解像度のメッシュは、ジョイント階層を直接の親とします。アンリアル・エンジン 4 からエクスポートされた実際のカメラによってシミュレーションが実施され、減衰、ジョイント剛性のパラメータ、コンストレイントの強さが調整されるとともに、場と力が追加されました。それによってラグドールのパフォーマンスがアート主導で調整されました。これらのシミュレーションは、さらに、FBX アニメーション・トラックとしてエンジンにインポートされて戻されるとともに、別個のアニメーション・シーケンスとして労働ロボットの骨格メッシュに割り当てられました。その後、アニメーションは、Matinee シネマティック・システムによって正しいタイミングでトリガーされることになりました。

●3D ボリューム・テクスチャによる爆発!

これまで Epic では作られたことがなかった爆発 ― 炎がローリングするようなディテール豊かな爆発 ― を作り出すために、Jordan と Francois は、アンリアル・エンジン 4 のブループリント、マテリアル・エディタ、マテリアル関数が結合することによって生じるパワーをフル活用しました。

「Infiltrator」で表現されている火の玉の爆発は、あらゆる角度から見ることができる、3 次元のアニメーション化されたボリュームとして作られています (2:00)。これはまず、FumeFX プラグインを使用する 3ds Max で作られました。次に、シミュレーションのフレームそれぞれについて、シミュレーションの温度要素の断面が 10 個レンダリングされました。さらに、これらのアニメーション化された各断面は、アニメーション化されたテクスチャシートに作り変えられて、エンジンにインポートされました。

ブループリントとマテリアル関数が使われて、アニメーション化された 10 個の断面それぞれの間が補間されることによって、流体シミュレーションがボリューム・テクスチャに再構成されました。さらに、ボリューム・テクスチャがビューポートで表示されるようにするために、GPU パーティクルの 3D グリッドに割り当てられました。最後に、物理ベースの黒体放射のマテリアル式が使われて、シミュレーションの流体温度から火と煙の色が決定されました。

●被破壊性環境に関する注意事項

Francois はアーティストたちに「失敗するなら早いうちに」とアドバイスしています。シネマティックとアニメーションの部署がおよその進行状況を把握できるようにするために、プレースホルダのシミュレーションをできるだけ速やかに実装することが大切なのです。

残りのショットがほぼ完成されるまで、再シミュレーションの誘惑に負けてはいけません。十分時間をかけて、ジオメトリを分割し、あらかじめリアルな破砕パターンを作成しておくとともに、内側面の法線をスムージングすべきです。モーションブラーは頼りになります。シミュレーションの方向性が得られることでしょう。

破壊あるところ、ホコリと小さなパーティクルはつきものです。したがって、これらをできるだけ早い段階で追加することによって、どのくらいの規模の剛体シミュレーションが実際に必要となるのかを判断すべきです (3:08)。まばらな剛体シミュレーションにパーティクル・システムを満たすことによってメモリを節約しましょう。複数のアニメーション・シーケンスを同一の破砕メッシュに割り当てて、インスタンス化を活用しましょう。

●水の一滴

「Infiltrator」においてでき上がる水の一滴 (1:09) は、ひと続きの複数のメッシュと新たにライティングされた半透明マテリアルを組み合わされたものとして表現され、すべてが Matinee のシネマティックによって制御されます。

パイプの上で最初の水滴が形成され、金属を伝わっていく様子を表現するために、シニア・FX・アーティストの Tim Elek は、パイプのプロファイルに合致した水滴メッシュを作成し、そのピボットをパイプの中心にオフセットしました。さらに、水滴のスケールを Matinee でアニメーション化することによって、それが形成される様子を表しました。流体が膨れ上がり、表面を転がり落ちるイリュージョンを作り出すためには、Matinee を利用してパイプの継ぎ目に沿ってメッシュを回転させ、そのタイミングを、水滴の下にある第二のメッシュ (このメッシュもパイプの形状に合致します) 上でパンニングするマテリアルに合わせました。

形成後にパイプの下側に垂れていく水滴は、実際には第三のメッシュです。このメッシュは、手動でアニメーション化された一連のモーフ・ターゲットのブレンドを利用してリアリティのある外形を作り出します。このテクニックによって、メッシュの各頂点ではディテールに富むアニメーションが実現されることになります。水滴が膨れ上がった状態から滴り落ちる時、モーフ・ターゲットのアニメーションが素早くこの液体をスナップすることによって、別の水滴メッシュを表示させます。この新たに滴り落ちる水滴の位置と形状は、Matinee でアニメーション化されることによって、水滴がシールドに落ちる時に液体に働く重力を表現します。

この水のマテリアルは、各メッシュに固有のものです。そのため、各ショットのカメラアングルとライティングに基づいてブレンディングと屈折を制御することができることになります。水滴が重力の影響によって落下する様子をリアルに表現するためには、モーフ・ターゲットのアニメーションの速度が重要となります。また、リアルタイムの調整やフィードバックさらにマテリアル・パラメータのアニメーションのためには、マテリアル・インスタンス・コンスタント・システムと Matinee のコントロールが利用されます。さらに、このシステムによって、アートディレクションがショットごとにライティングとカラーを素早く調整することもできるようになります。

屈折は、メッシュの端に向かうフレネル減衰によって制御されます。それによって屈折はフォームの中心から外れていき、水滴の端の輪郭が強調されます。パイプ上に集まった水滴の量を強調するためには、同種の屈折マテリアルをもつ、アンリアル・エンジン 4 の新たな遅延デカールが水滴のマテリアルとともに使用されています。

なお、スローモーション技術について学ぶことによって、水滴の輪郭とタイミングにリアリティをもたせることができます。

●機械からスカイラインまで

「Infiltrator」の注目すべきものに、ロボットのための巨大な垂直建造物があります (これは「スクリュー」というニックネームが付いています)。機械についている警報ランプは、機械のさまざまなステートを記述するブループリントをによって作られています。警備兵がシステムをシャットダウンすると、建造物が次第に緊急モードに移行するため赤いランプが点滅し始めます (1:45)。

「Infiltrator」の印象的な反射をご覧になれば、アンリアル・エンジン 4 ではレンダリングとライティングが強化されていることがはっきり分かると思います (0:44)。ワールド全体を一体化するためには、スクリーンスペース・リフレクション (反射) とリフレクション環境が組み合わされて使われます。リフレクションのキャプチャ・ソースが配置されたことによって、ワールドの大部分で望ましい解像度とクオリティが得られることが分かりました。同時に、スクリーンスペース・リフレクションによって、環境内でキャラクターの接地を維持するために必要な動的リフレクションが作り出されるようになることも確認できました。また、スクリーンスペース・リフレクションによって、「Infiltrator」で動いているものすべてが、その周りを正確に反射させることもできるようになります。

最後になりますが、「Infiltrator」のお終いに映し出される都市のショットは、マット・ペインティングのように見えるでしょうが、実際には多数のテクニックを駆使した 3D で作られています (2:44)。そのようにしてこれほど複雑なシーンを表現しているのです。たとえば、空は空間を覆う大きなドームであり、特別に高解像度な日没がブレンドされることによって、空全体の見かけ上の解像度が向上しています。車やその他の小さな光の多くは、光を出してパスに沿って導かれるパーティクル・システムです。シーンの視覚的な奥行き感覚を増すためには、さまざまな雲のレイヤーが使用されています。これらの雲の多くは深度フェーディングのシートです。それらのシートは、サーファスにおける空間的位置を、近くにある他のサーファスと照らし合わせるとともに、オパシティを制御することによって、サーファスのクリッピングに起因するアーティファクトを除去しています。これらのショットにおける残りの環境は、遠方に向かうレイヤーに配置された 3D オブジェクトから構成されています。

●重要な点

デモ「Infiltrator」の制作で、私たちのチームはいくつかの困難に直面しました。時間とマンパワーに関するきつい制約の中で次世代エンジンの有用性を証明しようとしたため、新しいツールと機能を絶えず実装しつつテクニックを改善させていかなければならなかったのです。デモの完成を GDC (ゲーム・デベロッパーズ・カンファレンス) に間に合わせるためには、コンテツを迅速にイテレートして作業を洗練させていくことが不可欠でした。

今後登場する次世代ハードウェアにもたらされる変化に対応するためには、ツールとワークフローが、優れたデザインや驚異的なグラフィック、没入体験と同じくらい重要であることがはっきりしました。このうち一つでも欠けると、その他も成立しなくなります。私たちは、新たな課題を自分たちで設定することによって、成果を上げてきました。「Infiltrator」のために作ることができたものから想像するならば、次世代のゲームが本当に楽しみになります。

私たちの目標は、これから開発されるゲームのために、私たちのチームのみならず他の開発者たちの生産性を向上させることによって、創造的な構想を現実化できるようにすることにあります。
《GameBusiness.jp》

関連ニュース

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら