「Let Them Come: Onslaught」では、キャラクターが数々のモンスターと戦います。

技術ブログ

インタビュー

Let Them Come: Onslaught の血痕と VFX システムを UE5 で最適化

Let Them Come: Onslaught

Niagara

Tuatara Games

インディーズ

ゲーム

ブループリント

tuatara-games-logo.png
Tuatara Games は、バンクーバーを拠点とする世界クラスのアーティスト集団で、ゲームやその他のリアルタイム体験向けの最先端の VFX サービスを提供しています。Tuatara Games は、専門知識を活かし、Epic Games をはじめとする大手ゲーム企業をサポートするだけでなく、マニアに人気のヒット作 Let Them Come をオリジナルとする独自の IP も開発しています。
Unreal Engine コミュニティの皆さん、こんにちは。Tuatara Games のテクニカル アーティスト兼 VFX アーティスト、Alex Underhill です。私は、先日 Unreal Engine 5 で制作したゲーム Let Them Come: Onslaught を PC とコンソール向けにリリースした小規模チームの一員です。 

この SF 弾幕系シューティング ゲームでは、プレイヤーは敵だらけの異星の世界に取り残され、モンスターの大群と終わりなき戦いに挑みます。私たちは、キルごとに敵が画面から消えるのではなく、壮観なビジュアルで戦場に足跡を残すようにしたいと考えていました。ですが、モンスターの大群の規模を考えると、技術的な課題があったため、この課題を解決するために Unreal のシステムで試行錯誤してみる必要がありました。

オリジナルの Let Them Come は Game Maker を使用して開発された作品ですが、Let Them Come: Onslaught では、UE がゲームの目標に最適であると判断し、Unreal Engine に切り替えました。 

Unreal Engine のおかげで、多数の敵を同時に画面に出現させ、さらにたくさんの視覚効果を加えながらも、スムーズなパフォーマンスを実現できました。また、Tuatara Games チームは、VFX スタジオとして活動してきた経験から、VFX のオーサリング ツール、特に Unreal Engine を熟知していました。

課題:血まみれのフロア


Let Them Come: Onslaught’s の VFX における課題は、画面上に常時表示される敵の数と、一度に何体キルできるかという点でした。ゲームのプロトタイプを作成した当初は、敵がバースト ゲームプレイ キューをトリガーし、地面に残された血痕デカールと、プレイヤーへのフィードバックとして飛び散る血をスポーンさせていました。特に武器をアップグレードすると、一度に多数の敵が倒される可能性があることがすぐにわかりました。そのため、カオスを極めたアクションを実現しながら、数がボトルネックにならないように、これらを最適化する必要がありました。

血痕デカールについては、当初は、殺戮の痕跡を残し、プレイヤーが辿った道筋 (そしてプレイヤーが去った後に残されたもの) を示すブレッドクラムの軌跡として配置されました。問題は、これらのデカールが大量にスポーンされることでした。効果を発揮させるためには長時間残しておきたかったのです。つまり、大量のデカールがすぐに積み重なってしまうということでした。また、デカールの重なりの問題にも対処する必要がありました。近距離の多くの敵を倒すと、デカールが互いに重なり合い、頻繁にパフォーマンスの問題が発生していたのです。

フロアに大量の血痕 (そして酸!) のマーカーを生成するために、Niagara を使用して、ワールド空間領域の配列をレンダー ターゲットにレンダリングするシステムを作成しました。この配列は 256 個のエントリの固定長で、ループ処理されます。つまり、256 個のエントリを使い切ると、1 番目のエントリが 257 番目のエントリに更新され、以降も同様の処理が継続されます。この個数はちょうど良い設定だと感じました。その後エントリを再利用するまでに、地面をかなり血みどろの状態にできるからです。

現在は、敵が倒されると、デカールをスポーンするのではなく、敵自身のデータ (位置、半径、マテリアル タイプ) を、ワールド内に永続的に存在する「Splat Manager」ブループリント アクタに送信しています。 
最終的に歪んだマスクが、リアルな血みどろの状態を表現します。
Courtesy of Tuatara Games
このマネージャーはデータをグローバル Niagara システムに送信し、システムは Grid2D データ インターフェースを使用して、HLSL (ハイレベル シェーディング ランゲージ) でこれらの領域をグローバル レンダー ターゲット マスクに書き込みます。このシステムは大部分が、Terrible Posture Games のテクニカル ディレクター、Chris Zuko 氏の作業に基づいて構築されています。レンダー ターゲットには、それぞれの血だまりまでの距離を入力します。距離範囲は、入射半径によって定義されます。これらの距離はすべて組み合わせられ、1 つの一貫したマスクが作成されます。
「Let Them Come: Onslaught」の戦闘シーンの血だまりマスク。
Courtesy of Tuatara Games
このマスクは、複数のレイヤー (血のレイヤー 1 つと、酸のレイヤー 1 つを含む) で構成されており、環境サーフェス シェーダーでサンプリングすることで、必要な場所に血だまりのレイヤーを適用できます。 

このマネージャーは、現在レンダリングされている領域のワールド空間における原点の位置と、その領域のワールド空間単位サイズを追跡します。これらの変数は、Material & Niagara Parameter コレクション内で更新され、コンテンツに公開されます。

血だまりのマスクは、ワールド内の必要な位置に座標を自動的にマッピングする複数のマテリアル関数として公開されました。アーティストは、座標の再作成について気にかけることなく、0.0 ~ 1.0 のウェイト値だけでサーフェス エフェクトを操作することができました。ほとんどのサーフェスでは、入力された距離マップを基にワールド空間のノイズ サンプルをいくつか実行し、形状を歪ませて環境に自然に溶け込むようにしています。
血だまりも環境に自然に溶け込んでいます。
Courtesy of Tuatara Games
最終的に歪んだマスクは、サーフェス シェーダー内のマテリアル属性をブレンドするために使用され、血みどろで残酷なビジュアルを実現します。
「Let Them Come: Onslaught」の戦闘シーンにおける血だまりの半径。
Courtesy of Tuatara Games

飛び散る血の FX


最適化におけるもう 1 つの重要な焦点は、特に敵の死の際に生成されるパーティクル システムの量を削減することでした。デカールの量の問題と同様に、画面上の死亡時の爆発の量も問題でした。この場合、オーバードローの問題というよりは、スポーンされ、管理される Niagara システムの数が問題でした。

プロジェクト中に Unreal Engine 5.3 にアップグレードしましたが、その主な目的は、Niagara データ チャンネルを利用することでした。VFX とゲームプレイ キューを少しリファクタリングすることで、すべての飛び散る血イベントをデータ チャンネル経由で単一の Niagara システムに送信できるようになりました。その結果、毎回新しい Niagara システムをスポーンするのではなく、正しい場所で飛び散る血を再生できるようになりました。これは血溜まりの場合と非常によく似た仕組みです。敵が死亡すると、イベントの場所やサイズ/強度など、自身の情報がワールド内の管理システムに送信され、その情報が Niagara データ チャンネルに送信されます。

死亡時の FX の「流血なし」バージョンを実装する段階になったとき、このアプローチによって処理がシンプルになりました。流血なしバージョンのエフェクトは流血バージョンと並行して実装され、ゲーム オプションに応じて切り替えられました。

死亡エフェクト用の Niagara データ チャンネル パスでは、特定のエンティティ向けにカスタムの死亡エフェクトを実装したかったため、すべての死亡エフェクトを 100% カバーしているわけではありません。このパスは死亡エフェクトの約 80 ~ 90% をカバーしながら、必要に応じて拡張してカスタマイズすることもできます。

その結果、プレイヤーは生き残るために戦い抜いた惨状を目にすることができ、戦場はパフォーマンスに影響を与えることなく、プレイヤーの勝利を記憶に留めることができます。Let The Come: Onslaught のリリースされた今、ぜひご自身でこれらの効果を実際に体験していただければ幸いです。

Unreal Engine でゲームを開発してみませんか?

Unreal Engine を使用すると、開発上の制限があるとすれば、それはチーム規模でなくデベロッパーの野心です。UE5 が、あらゆる規模のチームに、大手スタジオのタイトルに匹敵する洗練されたビジュアルを備えた、傑出したゲームを生み出す力を与えている方法をご覧ください。
詳細を見る

業界の最新イノベーションの情報と無料アセットのお知らせを入手しましょう。

情報を提供することにより、Epic Games Store からのお知らせ、アンケート、特別オファーの受信に同意したものとみなされます。 プライバシーポリシー