UE5 Matrix Awakens 開発 技術トーク1 – 世界の創造

UE5 Matrix Awakens 開発 技術トーク 世界の創造

マトリックスの目覚め:世界の創造|テックトーク|

The Matrix Awakens- Creating a World – Tech Talk – State of Unreal 2022 – YouTube

www.youtube.com/watch?v=xLVJP-o0g28

このテクニカルトークでは、「The Matrix Awakens:Unreal Engine 5 Experience」デモの環境の背後にあるインスピレーションについて学び、Epicの特別プロジェクトチームがUE5を活用してアクションが行われる都市を作成した方法を学びます。トピックには、建物の作成に対するモジュール式の手続き型アプローチの詳細が含まれます。

オープンワールドワークフロー(アクターごとに1つのファイル、データレイヤー、HLOD、レベルインスタンス化); マテリアルとテクスチャリングのlookdevの内訳。UE5グローバルイルミネーションおよびリフレクションシステムであるLumenの改善に関する最新情報。

EpicGamesのSpecialProjectsGroupのシニアテクニカルアーティスト  Votch Levi

これだけのディテールを持つ建物を単一のスタティックメッシュとして作るのはとても大変です.トライアングルの数がとてつもなく多くなってしまのです

また トライアングルの数はNaniteで対応できますが単一のスタティックメッシュでは建物のバリエーションに限界があります

建物を作るのに必要なモジュールを定義し始めました

1つのレベル内のモジュールはすべてまったく同じ高さになります

しかし 実は同じように見えるモジュールでも幅が何フィートも違うものが多いのです

どの建物も統一したグリッドに合うベースモジュールサイズを持っていませんでした

できる限り倍幅のモジュールを作ったりしました

ディテールの多様性とサイズと形状の不一致があるからこそこれらの参考建物がおもしろく見えるのだと思いました

Creating Modules

ビルディングスタイルのモジュール形状を全て定義したら専用のモジュールテンプレートジェネレーターを使って各モジュールのプロキシバージョンを作成しました。

また、テンプレートジェネレータではモジュール名、バリエーション、フロア寸法などモジュールの追加メタデータを定義することもできるようにしました。

全てのモジュールテンプレートは建物を再現するために必要な全てのモジュールを表すビルディングキットにまとめられています。

このテンプレートを起点に各ビルディングスタイルを作成し、プロシージャルビルディングのプロトタイピングを始めました

Mayaでテンプレートモジュールを元にハイモデルを作りました

テンプレートは必ずしもモジュールのバウンディングボックスを表しているとは限りません。

モジュールの寸法はテンプレートモジュールから得た寸法を使用しています

多くの建物には何百ものテンプレートモジュールと何百もの高解像度モジュールがあります。アセットの統一とチームが困らないようにカスタムインポータを開発してビルディングモジュールのバッチインポートをしました。

必要なフォルダ構造の作成および各モジュールのマテリアルインスタンスの作成と割当を行いました。

このツールの詳細についてはビルディングルックデベロップメントの講演をご覧下さい。

合計で 2,333個のユニークな高解像度メッシュ

2,558個のユニークなテクスチャおよび5,707個のユニークなマテリアルインスタンスを組み合わせた24棟のユニークな建物を作成しました。膨大なデータです

そして そのすべてを整理しておく方法が必要でした

これは すべてのビルディングモジュールを整理するための場所でモジュールのジオメトリやルックデベロップメントを確認しすべてのピースがどのようにフィットして建物が作られるか確認する簡単な方法です

Module Description

Corner Modules

Shape Grammer についてはプロシージャルテクニックの講演をご覧ください

ピボットはモジュールの左側壁面の前方先端エッジに合わせて配置することにしました壁にピボットを合わせることで壁面のどこが壁なのか 常に把握できます.

しかし その分 課題も出てきました

また 奥まった入口や後ろに下がった壁など前向きの壁がないモジュールについては幻の壁があったはずのところにピボットを配置しました

Creating Biomes

Packed Blueprint で作成

Open World

Alembicファイルには 建物 道路コリジョンオブジェクトを作成するために必要な点情報とプロシージャルに生成されたジオメトリのみが含まれているためPBCと呼んでいます

Rule Processorを使用して都市をスポーンします

サブレベルや複雑なロジックが不要になります

データレイヤーは共通のラベルでコンテンツをグループ化する方法

インスタンス数は855万

World Partitionはメイングリッド(128m)とHLOD0(256m)で構成

HLOD1は常にロード

ストリーミングレシピ – ワールドセットアップとHLOD

青色で示されているHLOD0は128mから768mまでのグリッド範囲です

データレイヤーに関してHLOD0をロードします

赤色で示されているHLOD1は768mを越えて表示されており常にメモリにロードされていますHLOD1はセル内のすべてのスタティックメッシュを1つのNaniteメッシュに統合します

HLOD0と同様メイングリッドが変更された場合HLOD1の再生成が必要となります

手作業で作られた建物もプロシージャルに生成された建物もすべてInstanced Static Mesh(ISM)のコンポーネントを使って作られています

これにより 都市内のアクタ数が減りストリーミングのパフォーマンスが向上しました

ISMコンポーネント内でモジュールと一緒にインスタンス化されます

Rule Processor

Rule Processor はAlembicファイル経由でポイントデータをインポートするためのツールセットです

高速に動作する

このポイントデータは任意のソースから得られます

このプロジェクトではAlembicポイントデータをHoudiniとUnreal EngineからもエクスポートしてRule Processorで使用するようにしました

各ポイントに対してアクタを1つ生成することや複雑になることもあります

ポイントが上部ビルディングモジュールの場合ビルディングデータレイヤーに割り当てコリジョンを無効にしてウィンドウプリミティブデータを設定すること

生成されたアクタを記録し古いアクタを自動的に整理します

また Rule Processorはメタデータのキー値を検索し、そのデータをアクタに属性オーバーライドとして適用することができます

これはメッシュデカールやコリジョンオブジェクトなど特定のニーズがあるアクタを設定するのに便利でした

インテリアウィンドウの設定に必要なメタデータもプロシージャルに生成し

インスタンス単位のプリミティブデータとしてアクタに設定しました

都市がスポーンされゲームプレイの準備が整いました

UDIMテクスチャをインポートしバーチャルテクスチャとして保存します

Dual-depth relief textures. The combined use of front and back depth… – Download Scientific Diagram

PPT – Real-Time Relief Mapping on Arbitrary Polygonal Surfaces PowerPoint Presentation – ID-6893445

コメントを残す

メールアドレスが公開されることはありません。

Next Post

UE5で最初のゲーム| テックトーク

木 4月 7 , 2022
UE5で最初のゲーム| テックトーク (1:23:36)