戻る
フォートナイトの Re:Imagine London - UEFN でロンドンをリアルに表現する
フォートナイト チーム
Re:Imagine London (島のコード:1442-4257-4418) は、有名な Zaha Hadid Architects (ZHA) と Epic Games がロンドンの象徴的な地域を正確に再現するために行ったコラボレーションです。フォートナイトのプレイヤーは、島内に独自のユニークな建築物をデザインする活動に参加できるよう招待されます。
このプロジェクトには、以下の複数の重要な目標がありました。
Unreal Engine での経験をすでに持つ ZHA は、このプロジェクトで重要な役割を果たしました。建築物をデザインするだけでなく、ゲームプレイも制作し、現実世界の建築や建設のコンセプトを統合したのです。ZHA と Epic は、Unreal Engine のエキスパートである Accucities ともコラボレーションし、Accucities によって極めて正確なロンドンのモデルが UEFN で実現され、ゲーム内のプレイ可能な領域が制作されました。
Re:Imagine London 制作の裏側の詳細については、The B1M YouTube チャンネルのこちらの動画を参照してください。
プレイヤーが探索できる領域は、セントポール大聖堂、テート・モダン美術館、シェイクスピアのグローブ座など象徴的なランドマークが特徴となっています。ロンドンのプレイ可能な領域内には、4 つの建築区域があります。
プレイヤーがボクセルを配置することで建築物の形状やカテゴリを定義する一方で、新しいシステムによってリアルな構造物が自動的に生成されます。ZHA はモジュール式のピースをデザインし、それらが互いに組み合わせられるルールを設定することで、単一のボクセルよりもはるかに大きな建築物の制作を可能にしました。
プレイヤーが発射ボタンを押すと、「建築ゾーン」内かどうかをまずはチェックし、レイキャストを実行することで向いているボクセルの面を判定します。該当する場合は、新しいボクセルがその位置に追加されます。
どちらの手法についても、チームで大規模なモジュラー式の建築物小道具セット (合計 330 点) を作成し、Verse によってランタイム時にスポーンするようにしました。コードは決定論的であり、必要に応じて小道具を削除およびスポーンすることのみが行われます。
これらの手法の機能の概要を以下に示します。
形状文法は、各ルールがボックスの形式を取り、以降のルールに 1 つ以上のサブボックスを生成する単純なルールで構成されます。たとえば、ルールによって高いボックスを 1 つ分のボクセルの高さの「フロア」にスライスすると同時に、別のルールによってルールに角を追加したり、ウォールを追加したりすることができます。ある特別なルールは、ボックスのサイズおよび位置に小道具をスポーンさせます。
各ルールは別々の Verse クラスとして定義され、コード内でアセンブルされて「ツリー」になります。このアプローチによって新規ルールの作成、さまざまなアイデアの実験、各種類の建築物への特有のスタイルの割り当てがシンプルになります。以下の画像で示すように、さまざまなルールを適用することで、同じボクセル セットでもさまざまな結果が生まれます。
ルールでは、公園のボクセルや住居のボクセルなど、特定の組み合わせのボクセルが一緒に配置された場合に、「アップグレードされた」ピースを選択することもできます。
この実装では、タイルのセットが使用され、チームは互いに隣接可能なタイルを指定します。「ラベル」が各エッジに適用され、ラベルが一致する場合にのみタイルを配置できます。アルゴリズムによってグリッド上の場所が選択され、可能な選択肢がランダムに選択 (または「破壊」) され、他の場所の可能な選択肢にその選択結果が反映されます。
このプロセスは、領域全体が生成されるまで継続します。
この機能は、通常は非表示のボックスをスポーンし、ムービー シーケンスの仕掛けを使用してマテリアル パラメータ コレクションを制御することで実装されます。さらに、そのマテリアル パラメータ コレクションはマテリアルのオパシティを調整します。[Instigator Only (発信者のみ)] オプションを使用すると、この表示を独立して制御できます。つまり、これを有効にしたプレイヤーにしか影響は発生せず、他のプレイヤーに影響は及びません。
島では、プレイヤーのインゲームのレベルや、完了したクエスト、アンロックしたピースなどの情報を保存できます。これらはすべて、Verse の持続性の機能によって実現されています!
都市をリアルなものにするため、次のようなさまざまな手法を採用しています。
データ レイヤーを使用すると、街灯のオンとオフを簡単に切り替えられます。さらに、マテリアル パラメータ コレクションでは、夜間の特定のマテリアル (窓など) の明るさを調整できます。
Re:Imagine London での探索と制作を楽しんでいただき、未来の島のアイデアにつながれば幸いです!
このプロジェクトには、以下の複数の重要な目標がありました。
- Unreal Editor for Fortnite (UEFN) 内での新しいタイプのゲームプレイのデモを行う。
- Verse やその他の UEFN の機能の限界を押し上げ、あらゆる可能性をテストおよび改善する。
- フォートナイトが幅広いオーディエンスを対象とし、魅力的な方法でどのような革新的アイデアを導入できるかを示す。
- 経験豊かな Unreal Engine ユーザーがその専門知識を UEFN にどのように適用できるかを模索する。
- 最も重要なこととして、未来の都市をさらに歩きやすく、活気に満ち、緑があふれ、持続的なものにするビジョンへとつながるアイデアをプレイヤーに提供する。
Unreal Engine での経験をすでに持つ ZHA は、このプロジェクトで重要な役割を果たしました。建築物をデザインするだけでなく、ゲームプレイも制作し、現実世界の建築や建設のコンセプトを統合したのです。ZHA と Epic は、Unreal Engine のエキスパートである Accucities ともコラボレーションし、Accucities によって極めて正確なロンドンのモデルが UEFN で実現され、ゲーム内のプレイ可能な領域が制作されました。
Re:Imagine London 制作の裏側の詳細については、The B1M YouTube チャンネルのこちらの動画を参照してください。
新たな種類の建築物
Re:Imagine London が紹介するのは、Verse で作成された完全に新しい建築システムです。プレイヤーは 6 種類の異なる建築物 (歩道、構造物、公園、商業施設、オフィス、住居) から選択し、建築区域内にボクセルを配置することでデザインします。プレイヤーが探索できる領域は、セントポール大聖堂、テート・モダン美術館、シェイクスピアのグローブ座など象徴的なランドマークが特徴となっています。ロンドンのプレイ可能な領域内には、4 つの建築区域があります。
プレイヤーがボクセルを配置することで建築物の形状やカテゴリを定義する一方で、新しいシステムによってリアルな構造物が自動的に生成されます。ZHA はモジュール式のピースをデザインし、それらが互いに組み合わせられるルールを設定することで、単一のボクセルよりもはるかに大きな建築物の制作を可能にしました。
ボクセル グリッドとレイキャスト
Re:Imagine London の中核となるのは、各建築区域の「セル」による 3D グリッドです。これには存在する建築物のボクセルの種類に関する情報が格納されます (該当する場合)。「任意」の参照による配列を使用すると、これを Verse で実装することは簡単です。さらに、単純なレイキャスト ルーチンで開始位置と方向を取得し、占有されているセルに遭遇するまでグリッドを進みます。入力の処理
島は入力トリガーの仕掛けを使用して発射 (ボクセルを追加)、エイム (ボクセルを削除)、次の/前のアイテム (カテゴリの変更)、ツルハシ (カスタム メニューを開く) などのコントロールに対応します。プレイヤーが発射ボタンを押すと、「建築ゾーン」内かどうかをまずはチェックし、レイキャストを実行することで向いているボクセルの面を判定します。該当する場合は、新しいボクセルがその位置に追加されます。
Verse でのプロシージャル生成
Re:Imagine London では、Verse の 2 種類のプロシージャル生成である形状文法と波動関数崩壊を実装しています。形状文法は 3D の建築物 (構造物、商業施設、オフィス、住居) に適用されます。一方、波動関数崩壊は、2D の「フラットな」領域 (歩道、公園) に使用されます。どちらの手法についても、チームで大規模なモジュラー式の建築物小道具セット (合計 330 点) を作成し、Verse によってランタイム時にスポーンするようにしました。コードは決定論的であり、必要に応じて小道具を削除およびスポーンすることのみが行われます。
これらの手法の機能の概要を以下に示します。
形状文法
最初に、形状文法を適用するため、各カテゴリのすべてのボクセルが「分解」され、より大きな凸型ボックスになります。形状文法は、各ルールがボックスの形式を取り、以降のルールに 1 つ以上のサブボックスを生成する単純なルールで構成されます。たとえば、ルールによって高いボックスを 1 つ分のボクセルの高さの「フロア」にスライスすると同時に、別のルールによってルールに角を追加したり、ウォールを追加したりすることができます。ある特別なルールは、ボックスのサイズおよび位置に小道具をスポーンさせます。
各ルールは別々の Verse クラスとして定義され、コード内でアセンブルされて「ツリー」になります。このアプローチによって新規ルールの作成、さまざまなアイデアの実験、各種類の建築物への特有のスタイルの割り当てがシンプルになります。以下の画像で示すように、さまざまなルールを適用することで、同じボクセル セットでもさまざまな結果が生まれます。
ルールでは、公園のボクセルや住居のボクセルなど、特定の組み合わせのボクセルが一緒に配置された場合に、「アップグレードされた」ピースを選択することもできます。
波動関数崩壊
波動関数崩壊 (WFC) は、ルールに基づいてランダムに領域を生成する手法であり、ピース同士の組み合わせを決定します。この手法については、State of Unreal 2022 の講演、「The Matrix Awakens: Generating a World」でディスカッションを行いました。この実装では、タイルのセットが使用され、チームは互いに隣接可能なタイルを指定します。「ラベル」が各エッジに適用され、ラベルが一致する場合にのみタイルを配置できます。アルゴリズムによってグリッド上の場所が選択され、可能な選択肢がランダムに選択 (または「破壊」) され、他の場所の可能な選択肢にその選択結果が反映されます。
このプロセスは、領域全体が生成されるまで継続します。
表示モード
配置したボクセルを視覚化しやすいように、プレイヤーは色付けされたボックスを建築区域にオーバーレイする表示モードを切り替えることができます。この機能は、通常は非表示のボックスをスポーンし、ムービー シーケンスの仕掛けを使用してマテリアル パラメータ コレクションを制御することで実装されます。さらに、そのマテリアル パラメータ コレクションはマテリアルのオパシティを調整します。[Instigator Only (発信者のみ)] オプションを使用すると、この表示を独立して制御できます。つまり、これを有効にしたプレイヤーにしか影響は発生せず、他のプレイヤーに影響は及びません。
建築物を保存する
プレイヤーは、Verse の持続性機能を活用することで、複数のセッションにわたって建築物の作業を行い、作成内容をフレンドと共有できます。構築したボクセルはテキスト文字列に変換し、配列に保存し、後からリロードできます。島では、プレイヤーのインゲームのレベルや、完了したクエスト、アンロックしたピースなどの情報を保存できます。これらはすべて、Verse の持続性の機能によって実現されています!
歩行者
都市をリアルなものにするため、次のようなさまざまな手法を採用しています。
- シーケンサー
- 都市全体で歩行者、車、自転車、ボート、列車などにアニメーションを付けるために使用されています。
- スタティックメッシュ
- 静止している歩行者や事前定義されたパスに従う歩行者の場合、スケルタルメッシュ アニメーションの代わりに頂点アニメーション マテリアルを使用するスタティックメッシュが使用されます。このアプローチは、全体が GPU で実行されるため、より効率的です。この手法の詳細については、「頂点アニメーションの概要」を参照してください。
- NPC スポナーの仕掛け
- 建築区域内の歩行者については、カスタムの Verse 動作とともに NPC スポナーの仕掛けを使用しました。これらの NPC は、公園や歩道の領域を移動し、領域の開発が進むにつれてさらに動的にスポーンします。NPC は、MetaHuman スケルトンおよび設定された移動アニメーションを使用します。
プロシージャルな音楽
プレイヤーが制作を進めるにつれて進化するプロシージャルな音楽システムを実装するため、Patchwork を使用しました。区域での建築が進行するにしたがって、音楽は徐々に動的なものになります。作曲された 3 つのレイヤーがフュージョン パッチにインポートされ、これがさらに Patchwork 楽器プレーヤーにロードされ、Song Synchronizer のトラックで MIDI によってトリガーされます。建築物の密度に基づき、スピーカーはフェード アップおよびフェード ダウンします。日中と夜間
日中と夜間の両方の都市を表現するため、カスタムの昼/夜サイクルを実装しました。Verse を使用した経時的なライティング パラメータの調整やトリガーの変更のためにシーケンサーを使用しました。データ レイヤーを使用すると、街灯のオンとオフを簡単に切り替えられます。さらに、マテリアル パラメータ コレクションでは、夜間の特定のマテリアル (窓など) の明るさを調整できます。
Re:Imagine London での探索と制作を楽しんでいただき、未来の島のアイデアにつながれば幸いです!