24K Views
April 30, 24
スライド概要
Epic Games Conference SAPPRO での講演資料になります。UE5でワールドを構築するためのツールやワークフローについてその一部を紹介しています。
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
World Building 入門 Senior Software Engineer, Developer Relations Takashi Suzuki 2024 Epic Games Japan
ワールドパーティション 目次 ワールド構築ツール ランドスケープ フォリッジ ウォーター PCG
ワールドパーティション 目次 ワールド構築ツール ランドスケープ フォリッジ ウォーター PCG
ワールドパーティション = 世界の分割
ワールドパーティション = 世界を自動でいい感じに分割
Data Layer Level Instance ワールドパーティション のツール群 World Partition OFPA PCG HLOD
ワールドパーティション ワークフロー 簡単にシームレスで広大なワールドを作る新しい方法
今までのワークフローは?
サブレベル ワークフロー
ワールドパーティション VS サブレベル
ワールドパーティションワークフローと サブレベルワークフロー ワールドパーティション ワークフロー サブレベル ワークフロー エリア分割 ワールドパーティションで自動分割 サブレベルで手動分割 多人数編集 One File Per Actor アクター単位のロック サブレベル単位のロック レベルエディタでアクターを フィルタする Editor Data Layer サブレベル メソッド : Always Loaded ランタイムでのロード管理 Runtime Data Layer サブレベル メソッド : Blueprint ライティング 動的ライティング 動的ライティング 静的ライティング
ワールドパーティションワークフローと サブレベルワークフロー ワールドパーティション ワークフロー サブレベル ワークフロー エリア分割 ワールドパーティションで自動分割 サブレベルで手動分割 多人数編集 One File Per Actor アクター単位のロック サブレベル単位のロック レベルエディタでアクターを フィルタする Editor Data Layer サブレベル メソッド : Always Loaded ランタイムでのロード管理 Runtime Data Layer サブレベル メソッド : Blueprint ライティング 動的ライティング 動的ライティング 静的ライティング
サブレベルワークフロー サブレベル ● ● ● エリア分割分サブレベルが並ぶ エディタ上でアクターを割り当て
サブレベルワークフロー サブレベルを制御 ● ● ALevelStreamingVolume LoadStreamLevel
ワールドパーティションワークフロー ワールド分割 ● エディタ上では分割されていない ● 2Dセル ● 自動アクター振り分け ○ ● スライスされるわけではない 距離ベースのストリーミング
ワールドパーティションワークフロー 範囲内のセル(分割エリア)を 自動ストリーミング HLOD(遠景描画)の非表示 wp.Runtime.HLOD 0
ワールドパーティションワークフロー ミニマップ ● World Partition Editor ウィンドウ ● 矩形選択した範囲を読み込む ● 次回起動時に読み込み範囲を復元 ● ミニマップは手動で更新 ● ワールド全体の広さに注意 ○ IsSpaciallyLoaded
ワールドパーティションワークフロー 分割設定設定 ● ● ● WorldSettings > RuntimeSettings > Grids ○ Cell Size ○ Loading Range 大きなセルサイズ ○ セルの読み込みレスポンスの低下 ○ HLODビルド時のメモリ消費増 小さなセルサイズ ○ 走査対象のセルの増加
ワールドパーティションワークフロー WorldPartitionStreamingSource ● ● ● 追加のロード範囲設定 ファストトラベルなどの実現 ロード完了のチェックAPI セルの状態を 2Dオーバーレイ表示 wp.Runtime.ToggleDrawRuntimeHash2D
ワールドパーティションワークフローと サブレベルワークフロー ワールドパーティション ワークフロー サブレベル ワークフロー エリア分割 ワールドパーティションで自動分割 サブレベルで手動分割 多人数編集 One File Per Actor アクター単位のロック サブレベル単位のロック レベルエディタでアクターを フィルタする Editor Data Layer サブレベル メソッド : Always Loaded ランタイムでのロード管理 Runtime Data Layer サブレベル メソッド : Blueprint ライティング 動的ライティング 動的ライティング 静的ライティング
サブレベルワークフロー パーシスタントレベル サブレベル毎のロック サブレベル サブレベル サブレベル
ワールドパーティションワークフロー パーシスタントレベル OFPA
ワールドパーティションワークフロー パッケージビルド パーシスタントレベル パーシスタントレベル クック ストリーミングセル ストリーミングセル ストリーミングセル ストリーミングセル ストリーミングセル ストリーミングセル ストリーミングセル
ワールドパーティションワークフローと サブレベルワークフロー ワールドパーティション ワークフロー サブレベル ワークフロー エリア分割 ワールドパーティションで自動分割 サブレベルで手動分割 多人数編集 One File Per Actor アクター単位のロック サブレベル単位のロック レベルエディタでアクターを フィルタする Editor Data Layer サブレベル メソッド : Always Loaded ランタイムでのロード管理 Runtime Data Layer サブレベル メソッド : Blueprint ライティング 動的ライティング 動的ライティング 静的ライティング
ワールドパーティションワークフロー エディターデータレイヤー ● ● ● ● ● 編集しないアクターをフィルタ 初期ロード状態を指定可能 DataLayerはアセット 登録方法 ○ アクターをデータレイヤーに 登録 ○ アクターのプロパティに データレイヤーを追加 ランタイムではなかったことに
ワールドパーティションワークフロー ランタイムデータレイヤー ● ● ● 手動読み込み制御 空間分割のあとにさらにデータレイ ヤーで分割 編集のフィルターとしても利用可
ワールドパーティションワークフローと サブレベルワークフロー ワールドパーティション ワークフロー サブレベル ワークフロー エリア分割 ワールドパーティションで自動分割 サブレベルで手動分割 多人数編集 One File Per Actor アクター単位のロック サブレベル単位のロック レベルエディタでアクターを フィルタする Editor Data Layer サブレベル メソッド : Always Loaded ランタイムでのロード管理 Runtime Data Layer サブレベル メソッド : Blueprint ライティング 動的ライティング 動的ライティング 静的ライティング
サブレベルワークフロー 静的ライティング ● ● ● Static/StationallyLight ライティングを事前ベイク ○ CPU Lightmass ■ Swarmによる分散ビルド ○ GPU Lightmass ■ レイトレ対応GPU必須 ■ インタラクティブベイク ■ Lumen : Off VolumetricLightMap ○ 動的メッシュ向け
ワールドパーティションワークフロー 動的ライティング ● ● 動的ライトとスクリーンスペース技法を 組み合わせ Lumen リアルタイムGI ○ ソフトウェア or ハードウェアレイト レーシング
ワールドパーティションワークフロー WPでの静的ライティング ● 将来のバージョンで対応予定
ワールドパーティションワークフロー レベルインスタンス ● ● ● ● 別のレベルを1アクターとして レベルに配置する仕組み インライン編集機能 配置後に分解 PackedLevelActor ○ Staticmeshなどに限定 ○ 自動インスタンス化
ワールドパーティションワークフロー HLOD ● ● 遠景描画用軽量メッシュ 自動制御
ワールドパーティションワークフロー ワールドパーティション スライドリンク World Partition 2024 | docswell https://www.docswell.com/s/EpicGamesJapan/ZQ8QY7-2023-12-22-105649
ワールドパーティションワークフロー ワールドパーティションまとめ ● ● ● ● サブレベルワークフローで実現していたことはほとんど実現可能 静的ライティングには現時点では非対応なことに注意 バージョンアップの度に大きく改善 UE5.4 ○ HLODをエディタ上で確認 ○ レベルインスタンス内のアクターを参照できるように ○ 3D分割対応
ワールドパーティション 目次 ワールド構築ツール ランドスケープ フォリッジ ウォーター PCG
ワールド構築ツール ランドスケープ ● ● インエディタ編集 ○ スカルプト ○ 浸食 ○ ノイズ ○ 斜面 ○ 編集範囲のマスク 外部ハイトマップのインポート ○ Houdini ○ World machine ○ などなど
ワールド構築ツール ランドスケープレイヤー ● インポートしたデータに追加加工
ワールド構築ツール スプライン ● ● スプラインメッシュの配置 ランドスケープの自動追従
ワールド構築ツール ランドスケープ ブループリントブラシ ● ハイトマップを直接加工する ランドマスを使用して世界を構築する | UnrealEngine (日本語字幕) https://www.youtube.com/watch?v=GwJiN8LLnQI
ワールド構築ツール ランドスケープパッチ ● ● ● Landscape Patch プラグイン ULandscapeCircleHeightPatch コンポーネントの高さに合わせてランド スケープを加工する
ワールド構築ツール ランドスケープグラス ● ● ペイント情報から草木を自動配置 ランドスケープマテリアルの Landscape Grass Outputノードによっ て自動処理 Grass のクイックスタート | UnrealEngine (日本語字幕) https://www.youtube.com/watch?v=GwJiN8LLnQI
ワールドパーティション 目次 ワールド構築ツール ランドスケープ フォリッジ ウォーター PCG
ワールド構築ツール フォリッジ ● ● 草木の配置 ペイント風の操作 フォリッジ モード | docs.unrealengine.com https://docs.unrealengine.com/5.0/ja/foliage-mode-in-unreal-engine/
ワールド構築ツール プロシージャルフォリッジ ● ボリュームでの草木の配置 Procedural Foliage ツール| docs.unrealengine.com https://docs.unrealengine.com/5.0/ja/procedural-foliage-tool-in-unreal-engine/
ワールドパーティション 目次 ワールド構築ツール ランドスケープ フォリッジ ウォーター PCG
ワールド構築ツール ウォーター ● ● Water プラグイン ○ WaterBodyOcean ○ WaterBodyRiver ○ WaterBodyLake ○ WaterBodyCustom ○ など Water extra プラグイン ○ テストマップ Water システム | docs.unrealengine.com https://docs.unrealengine.com/5.3/ja/water-system-in-unreal-engine/
WorldPartition 目次 WorldBuildingTools Landscape Foliage Water PCG
ワールド構築ツール PCGフレームワーク ● ● ● ● ● メッシュやアクターの配置 ノードベース 非破壊編集 エンジン組み込み 5.4でベータステータスに 来年のGDC後に プロダクションレディへ
ワールド構築ツール PCGフレームワーク スライドリンク Unreal Engine 5で極める!プロシージャル技術 https://www.docswell.com/s/EpicGamesJapan/ZQ8QY7-2023-12-22-105649 UnrealEngine5 ElectricDreams環境サンプルにみるプロシージャル生成テクニック https://www.docswell.com/s/EpicGamesJapan/5VVJXV-UE5_CEDEC2023_ElectricDreams
ワールド構築ツール ワールド構築ツールまとめ ● ● ● ● ランドスケープをはじめ様々なツールをエンジン内にご用意 弊社タイトルで使われている機能 これからはプロシージャル生成の時代 各ツールはワールドパーティションに対応済み
Thank you! — Epic Games Japan 2024