---
title: WorldPartition2024
tags:  #ue5 #uemconnect  
author: [エピック ゲームズ ジャパン](https://convert.docswell.com/user/EpicGamesJapan)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/V7P61P42J8.jpg?width=480
description: Unreal Engine 5で導入された広大なワールドを作成するための機能であるWorldPartitionのこれまでとこれからを解説いたします。 Unreal Engine Meetup Connect - ゲーム開発編 - Vol.1 の中での講演資料になります。  2024/9/26 SubWorldPartitionについて追記し、いくつかのページも併せて調整しました。  アーカイブ動画： https://www.youtube.com/live/nzKB5sCBCnk?si=ujPx55_yqWyLhjZC  イベントページ： https://leon-gameworks.connpass.com/event/305752/
published: March 05, 24
canonical: https://convert.docswell.com/s/EpicGamesJapan/57VP8J-2024-03-04-235031
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/V7P61P42J8.jpg)

World Partition 2024
Senior Software Engineer, Developer Relations
Takashi Suzuki
2024 Epic Games Japan


# Page. 2

![Page Image](https://bcdn.docswell.com/page/2JV3Y2XXEQ.jpg)

アンケート :
ワールドパーティションははじめて？


# Page. 3

![Page Image](https://bcdn.docswell.com/page/5EG39RVR7L.jpg)

アンケート :
ワールドパーティションははじめて？
そうだよ！
ちがうよ！
初耳だよ！
名前は聞いたことある
様子見してる！
プロだよ！
まだ慌てる時間じゃない
使ってるよ！


# Page. 4

![Page Image](https://bcdn.docswell.com/page/4JQ5WV6Y7P.jpg)

WorldPartition のおさらい
WorldPartitionCell
目次
DataLayer
LevelInstance
HLOD


# Page. 5

![Page Image](https://bcdn.docswell.com/page/K749KM4ZE1.jpg)

WorldPartition のおさらい
WorldPartitionCell
目次
DataLayer
LevelInstance
HLOD


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LJ1KX84D7G.jpg)

単一レベル構成
パーシスタントレベル


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GJWDNZX872.jpg)

サブレベルワークフロー
パーシスタントレベル
背景サブレベル
敵セットアップサブレベル
VFX&amp;ライトサブレベル


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4EZG3169J3.jpg)

サブレベルワークフロー
パーシスタントレベル
リ
スト
ング
ミ
ー


# Page. 9

![Page Image](https://bcdn.docswell.com/page/Y76YXL2DEV.jpg)

オープンワールド
パーシスタントレベル


# Page. 10

![Page Image](https://bcdn.docswell.com/page/G75GX12874.jpg)

そこでワールドパーティション の登場
ワールドの自動分割
同時編集
シームレスな体験
広大なワールドを自動的に 分割
多くの開発者が同時に編集
ストリーミングでメモリを
有効活用


# Page. 11

![Page Image](https://bcdn.docswell.com/page/9J2YX14VJR.jpg)

Data
Layer
Level
Instance
ワールドパーティション
のツール群
World Partition
OFPA
PCG
HLOD


# Page. 12

![Page Image](https://bcdn.docswell.com/page/DEYG8ZMQEM.jpg)

Data
Layer
ワールドパーティション
Level
Instance
●
●
●
ワールド分割機能
エディタ上では単一のレベル
PIE開始時/クック時に分割し
ストリーミングレベルに変換
○ セルと呼ばれる
World Partition
OFPA
PCG
HLOD


# Page. 13

![Page Image](https://bcdn.docswell.com/page/VJNGQ3W278.jpg)

Data
Layer
Level
Instance
データレイヤー
World Partition
●
●
OFPA
エディタ上でのフィルタ
条件付ストリーミング
PCG
HLOD


# Page. 14

![Page Image](https://bcdn.docswell.com/page/YE9WD9XDE3.jpg)

Data
Layer
HLOD
●
●
●
遠景の解決
自動で入れ替え
最適化メッシュ の自動作成
Level
Instance
World Partition
OFPA
PCG
HLOD


# Page. 15

![Page Image](https://bcdn.docswell.com/page/GE8N39257D.jpg)

Data
Layer
Level
Instance
レベルインスタンス
World Partition
●
●
OFPA
編集の効率化
再利用性
PCG
HLOD


# Page. 16

![Page Image](https://bcdn.docswell.com/page/LELPVW237R.jpg)

Data
Layer
One file per actor
●
●
●
レベルの同時編集
1アクターに1ファイル
別名 ExternalActors
Level
Instance
World Partition
OFPA
PCG
HLOD


# Page. 17

![Page Image](https://bcdn.docswell.com/page/4JM4G98M7W.jpg)

Data
Layer
PCGフレームワーク
Level
Instance
World Partition
●
●
OFPA
ビジュアルスクリプティング
アクターの自動配置
PCG
HLOD
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


# Page. 18

![Page Image](https://bcdn.docswell.com/page/PJRWZG5L79.jpg)

WorldPartition のおさらい
WorldPartitionCell
目次
DataLayer
LevelInstance
HLOD


# Page. 19

![Page Image](https://bcdn.docswell.com/page/PEXP9XX67X.jpg)

ワールドパーティション
対応レベルの作り方
●
●
テンプレートから作成
コマンドレットから変換
○ WP -&gt; 非WP は不可


# Page. 20

![Page Image](https://bcdn.docswell.com/page/3EKDPWWGJD.jpg)

ワールドパーティション
対応レベル？
●
●
WorldPartitionEditorWindow
UWorld 内にUWorldPartition オブ
ジェクトがあるかどうか


# Page. 21

![Page Image](https://bcdn.docswell.com/page/L73RX115J5.jpg)

ワールド分割
●
2Dセル
●
アクター振り分け
○
●
スライスされるわけではない
距離ベースのストリーミング


# Page. 22

![Page Image](https://bcdn.docswell.com/page/87DY2XXY7G.jpg)

範囲内のセルを
自動的にストリーミング
HLOD(遠景描画)の非表示
wp.Runtime.HLOD 0


# Page. 23

![Page Image](https://bcdn.docswell.com/page/VJP61PP2E8.jpg)

分割設定設定
●
World Settings &gt; Runtime
Settings &gt; Grids
○
Cell Size
○
Loading Range
○
Priority


# Page. 24

![Page Image](https://bcdn.docswell.com/page/2EV3Y22X7Q.jpg)

WorldPartitionStreamingSource
●
●
追加のロード範囲設定
ファストトラベルなどの実現
Cellの状態を2Dオーバーレイ表示
wp.Runtime.ToggleDrawRuntimeHash2D


# Page. 25

![Page Image](https://bcdn.docswell.com/page/57G39RRRJL.jpg)

WorldPartitionStreamingSource
●
コンポーネントをアクターに追加


# Page. 26

![Page Image](https://bcdn.docswell.com/page/4EQ5WVVYJP.jpg)

PlayerController も
ストリーミングソース
●
●
●
Enable Streaming Source
○ ストリーミングソースとして扱うか
Radius / Loading Range Scale
○ 動的なローディング距離指定など
角度指定
○ 後方はロードしない設定など


# Page. 27

![Page Image](https://bcdn.docswell.com/page/KJ49KMMZ71.jpg)

ロードが終わっていることを
判定するには？


# Page. 28

![Page Image](https://bcdn.docswell.com/page/LE1KX88DJG.jpg)

グリッドレベルと
プロモーション


# Page. 29

![Page Image](https://bcdn.docswell.com/page/GEWDNZZ8J2.jpg)

グリッドレベルと
プロモーション


# Page. 30

![Page Image](https://bcdn.docswell.com/page/47ZG3119E3.jpg)

●
●
●
グリッドレベル
○ 段階的に拡大するセル
プロモーション
○ どのセルにも割り当てられなかった
アクターをより上位のグリッドレベル
に割り当てること
なにがおこるか
○ 一部のアクターがなかなかストリー
ムアウトしない
○ 巨大なHLOD(遠景メッシュ)をビルド
してしまう


# Page. 31

![Page Image](https://bcdn.docswell.com/page/YJ6YXLLD7V.jpg)

グリッドレベルと
プロモーション
|- [+] Content of Cell P_WP2024_MainGrid_L0_X-5_Y-7 (F47H2XTYZ035L2RKY7EHF6O91)
|
|- Actor Count: 1
|
|Actor Path: /Game/P_WP2024.P_WP2024:PersistentLevel.LandscapeStreamingProxy_01GUB102XB9UEU82Z06W44ZQE_31_3_1_0
|
|Actor Package: /Game/__ExternalActors__/P_WP2024/0/OK/ALIMNX4D4ZDGRKFP2OK6H1
|
|- Actor Instance Guid: 483F551A4C6D95CC33F675A5A57AB8C3
[+] Content of Grid Level 1
|- [+] Content of Cell P_WP2024_MainGrid_L1_X-1_Y0 (DEVU3A5QBBJBDRNMMU78AJXIL)
|
|- Actor Count: 1
|
|Actor Path: /Game/P_WP2024.P_WP2024:PersistentLevel.BPP_PLA_Building1_C_UAID_E04F43E67239C7CF01_1281111980
|
|Actor Package: /Game/__ExternalActors__/P_WP2024/0/3P/N9MUW0BERHD6Q349I84V22
|
|- Actor Instance Guid: D02D8B2843A788249367B9B2F5C59058
[+] Content of Grid Level 2
[+] Content of Grid Level 3
/Saved/Logs/WorldPartition/*.log
[+] Content of Grid Level 4
[+] Content of Grid Level 5


# Page. 32

![Page Image](https://bcdn.docswell.com/page/GJ5GX118J4.jpg)

グリッド分割設定
~5.2
CVar による設定
【注意】
UseAlignedGridLevels=true
PlaceSmallActorsUsingLocation=fasle
が設定されていると
アクターがどのセルにも入らない問題
が出やすくなります。
wp.Runtime.RuntimeSpatialHashUseAlignedGridLevels=false
wp.Runtime.RuntimeSpatialHashSnapNonAlignedGridLevelsToLowerLevels=false
wp.Runtime.RuntimeSpatialHashPlaceSmallActorsUsingLocation=true
wp.Runtime.RuntimeSpatialHashPlacePartitionActorsUsingLocation=true


# Page. 33

![Page Image](https://bcdn.docswell.com/page/9E2YX11VER.jpg)

グリッド分割設定
WorldSettings 内設定
5.3~


# Page. 34

![Page Image](https://bcdn.docswell.com/page/D7YG8ZZQ7M.jpg)

カスタムハッシュと
3Dハッシュ
5.4


# Page. 35

![Page Image](https://bcdn.docswell.com/page/VENGQ332J8.jpg)

ミニマップ
●
World Partition Editor ウィンドウ
●
矩形選択した範囲をロード
●
次回起動時にロード範囲を復元


# Page. 36

![Page Image](https://bcdn.docswell.com/page/Y79WD99D73.jpg)

ミニマップ
LocationVolume
●
Convert Selected Region(s) To
Actor(s)
で作成する
●
選択範囲をアクター化
○
●
チームで共有できる
ミニマップに常に表示される


# Page. 37

![Page Image](https://bcdn.docswell.com/page/G78N3995JD.jpg)

BugIt
●
カメラの位置をクリップボードに出力
●
コンソールコマンドとして実行するカメ
ラを移動し、周辺を自動でロードする
●
Wikiなどに纏めておくと便利かも
●
PIE実行中はスクリーンショット込みで
保存される
○
コンソールコマンド
BugIt [コメント]


# Page. 38

![Page Image](https://bcdn.docswell.com/page/L7LPVWW3JR.jpg)

ワールドサイズと
ミニマップ
●
ロード範囲を視認できない
●
ビルドしてもミニマップが表示されない
●
ミニマップのビルドが異常に長くなる


# Page. 39

![Page Image](https://bcdn.docswell.com/page/4EM4G99MJW.jpg)

ワールドサイズと
ミニマップ
●
天球や遠景などの行動範囲を
上回るような大きさのアクタは
IsSpatiallyLoadedを外す
○
常にロードされるように
●
一つのWPLevelの離れた位置に複数
のエリアを置いたりすると
ミニマップが機能しなくなる
可能性があることに注意
●
World Settings &gt;
Enable Streaming : OFF
が設定されている時も同じ状態になる
ので注意


# Page. 40

![Page Image](https://bcdn.docswell.com/page/PERWZGGLJ9.jpg)

複数グリッド
(SubWorldPartition)


# Page. 41

![Page Image](https://bcdn.docswell.com/page/P7XP9XQ6JX.jpg)

複数グリッド
(SubWorldPartition)


# Page. 42

![Page Image](https://bcdn.docswell.com/page/37KDPW9GED.jpg)

複数グリッド
●
●
●
Runtime Partitions配列
○ 個別のLoadingRange
アクター毎にRuntimeGridを指定
○ LevelInstanceActor
用途
○ 街エリアは高密度、
フィールドは低密度など


# Page. 43

![Page Image](https://bcdn.docswell.com/page/LJ3RX1W5E5.jpg)

Sub World Partition 5.4
それぞれのGrid設定やHLODを尊重する
ランタイム生成用 のレベルインスタンス
●
LevelInstanceActor
○ LevelBehavior : Standalone
●
SubWP level
○ EnableStreaming : On
○ グリッド設定
○ HLODを作成しておく
スタンドアローンレベルインスタンスをレベルエディタ上に表示
wp.Editor.DisableLevelInstanceEditorPartialLoading 1
高密度セルのSubWP


# Page. 44

![Page Image](https://bcdn.docswell.com/page/8JDY2XKYJG.jpg)

Level Streaming
5.3
Persistence Plugin
ワールドパーティションセル内の
アクターのプロパティを保存 &amp;復元
通常、セルがアンロードされると状態も失われる


# Page. 45

![Page Image](https://bcdn.docswell.com/page/VEP61PK278.jpg)



# Page. 46

![Page Image](https://bcdn.docswell.com/page/27V3Y2VXJQ.jpg)

対象プロパティは iniで設定
詳しくは次ページで
シリアライズに対応
対象プロパティの任意の保存と復元
Level Streaming
Persistence Plugin
bool SerializeTo(TArray&lt;uint8&gt;&amp; OutPayload);
bool InitializeFrom(const TArray&lt;uint8&gt;&amp; InPayload);
公開プロパティへの任意の設定取得
bool TrySetPropertyValue( ObjectPath, Value );
実装詳細
ULevelStreamingPersistenceManagerを参照
参考しながらプロジェクトに則したものを自作するのもオス
スメ


# Page. 47

![Page Image](https://bcdn.docswell.com/page/5JG39RLREL.jpg)

Level Streaming Persistence Plugin - ini
設定
;;; DefaultEngine.ini
[/Script/LevelStreamingPersistence.LevelStreamingPersistenceSettings]
; Private Properties
+Properties=(Path=&quot;/Script/Engine.TextRenderComponent:Text&quot;)
+Properties=(Path=&quot;/Script/Engine.TextRenderComponent:TextRenderColor&quot;)
+Properties=(Path=&quot;/Game/NewFeatures/BP_TimeCounter.BP_TimeCounter_C:SummedTime&quot;)
; Public Properties (Setter/Getterでアクセス可能)
+Properties=(Path=&quot;/Script/Engine.Actor:bCanBeDamaged&quot;,bIsPublic=True)


# Page. 48

![Page Image](https://bcdn.docswell.com/page/47Q5WVYYEP.jpg)

OFPA は1アクター 1ファイルで保存
アクター単位で編集ロック
OFPA (One File Per Actor) の
ハッシュ名
保存位置
アクターは_ExternalActors_フォルダ以下に
ハッシュ名 で保存され、
コンテンツブラウザーには表示されません
！ トラブル！
このファイルが実際にどのアクターを指しているのかは
ハッシュ名だけでは分からない


# Page. 49

![Page Image](https://bcdn.docswell.com/page/KE49KMWZJ1.jpg)



# Page. 50

![Page Image](https://bcdn.docswell.com/page/L71KX8YDEG.jpg)



# Page. 51

![Page Image](https://bcdn.docswell.com/page/G7WDNZG8E2.jpg)

WorldPartition のおさらい
WorldPartitionCell
目次
DataLayer
LevelInstance
HLOD


# Page. 52

![Page Image](https://bcdn.docswell.com/page/4JZG31L973.jpg)

DataLayer
●
レベルストリーミングに対するフィル
タとして機能
●
旧来のサブレベルワークフローでの
サブレベル に近いイメージ


# Page. 53

![Page Image](https://bcdn.docswell.com/page/YE6YXLWDJV.jpg)

RuntimeDataLayer と EditorDataLayer
用途
クック時
サブレベルワークフローで
対応する機能
Runtime Data Layer
ロード管理
そのまま残る
Streaming method : Blueprint
のサブレベル
Editor Data Layer
エディタ上の
編集対象のフィルタなど
省かれる
Streaming method : Always Loaded
のサブレベル


# Page. 54

![Page Image](https://bcdn.docswell.com/page/GE5GX1M8E4.jpg)

複数のDataLayer に割り当て


# Page. 55

![Page Image](https://bcdn.docswell.com/page/972YX19V7R.jpg)

DataLayer の演算
●
一つのアクターは複数の
データレイヤーに割り当て可能
●
属しているいずれかの
データレイヤーに連動する
(OR動作)


# Page. 56

![Page Image](https://bcdn.docswell.com/page/DJYG8Z4QJM.jpg)

DataLayer 演算設定 5.4
●
●
WorldSettings
○ レベル毎の設定
And設定
○ 全てのデータレイヤーが
有効になったらOn


# Page. 57

![Page Image](https://bcdn.docswell.com/page/V7NGQ3Y2E8.jpg)

WorldPartition のおさらい
WorldPartitionCell
目次
DataLayer
LevelInstance
HLOD


# Page. 58

![Page Image](https://bcdn.docswell.com/page/YJ9WD9PDJ3.jpg)

Prefab
たとえば建物単位でアクターをまとめるなどプレハブとして
レベルを扱える
アセットとしてはレベルを直接扱う
スナップショット
レベルインスタンスの入れ子構造
インライン編集
Level Instance
配置されているLevelInstanceを直接編集
Ctrl + E
分解
レベルインスタンスを任意に分解
レベルの一部を別レベルに移動する
一括設定
内部のアクターに設定を一括適用できる
●
HLOD
●
RuntimeGrid
●
DataLayer


# Page. 59

![Page Image](https://bcdn.docswell.com/page/GJ8N39D5ED.jpg)

Level Instance の作り方


# Page. 60

![Page Image](https://bcdn.docswell.com/page/LJLPVWM3ER.jpg)

Level Instance の配置と編集モード


# Page. 61

![Page Image](https://bcdn.docswell.com/page/47M4G9YMEW.jpg)

Level Instance への
アクターの追加
アクタ エディタ コンテキスト
https://docs.unrealengine.com/5.3/ja/actor-editor-context-in-unreal-engine/


# Page. 62

![Page Image](https://bcdn.docswell.com/page/P7RWZG9LE9.jpg)

Level Instance と Packed Level Actor
用途
対象
コンポーネント
アセット
ランタイム
Level Instance
編集効率
無制限
ULevel
クック時に分解されて
パーシスタントレベルに埋め込
まれる
Packed Level Actor
最適化
(ISM or HISM化)
制限
(StaticMeshなど)
ULevelを内包したブ
ループリント
HISMを持った1アクターと
して扱われる


# Page. 63

![Page Image](https://bcdn.docswell.com/page/PJXP9X36EX.jpg)

Level Instance Actor Filter 5.3
バリエーション配置


# Page. 64

![Page Image](https://bcdn.docswell.com/page/3JKDPWYG7D.jpg)

Level Instance Actor Filter


# Page. 65

![Page Image](https://bcdn.docswell.com/page/LE3RX19575.jpg)



# Page. 66

![Page Image](https://bcdn.docswell.com/page/8EDY2XGYEG.jpg)



# Page. 67

![Page Image](https://bcdn.docswell.com/page/V7P61P32J8.jpg)

Steaming Mode
●
●
ランタイムで動的にレベルをロードする
○ LoadLevelInstanceと同じ動作
クック時の「埋め込み」はされない
LevelInstanceActorのLevelStreamingモードと動的レベルインスタンス生成
https://qiita.com/EGJ-Takashi_Suzuki/items/91c5ff9570b583a8a0fb


# Page. 68

![Page Image](https://bcdn.docswell.com/page/2JV3Y24XEQ.jpg)

Steaming Mode
●
5.4
アクターの詳細パネルで設定可能に


# Page. 69

![Page Image](https://bcdn.docswell.com/page/5EG39R1R7L.jpg)

LevelInstance 内の
アクターをプロパティとして参照
設定できない問題


# Page. 70

![Page Image](https://bcdn.docswell.com/page/4JQ5WVDY7P.jpg)

EditorPath : レベルインスタンス内アクターへの参照
;;; DefaultEngine.ini
[SystemSettings]
EditorPaths.Enabled=1
5.4


# Page. 71

![Page Image](https://bcdn.docswell.com/page/K749KMZZE1.jpg)

レベルインスタンス
プロパティオーバーライド
5.5~
Forward looking @ Unreal Engine Public Roadmap
https://portal.productboard.com/epicgames/1-unreal-engine-public-roadmap/tabs/94-forward-looking


# Page. 72

![Page Image](https://bcdn.docswell.com/page/LJ1KX8RD7G.jpg)

WorldPartition のおさらい
WorldPartitionCell
目次
DataLayer
LevelInstance
HLOD


# Page. 73

![Page Image](https://bcdn.docswell.com/page/GJWDNZ1872.jpg)

HLOD


# Page. 74

![Page Image](https://bcdn.docswell.com/page/4EZG31P9J3.jpg)

セルを一つのアクターにまとめる
不要なアセットを除き、表示に関わるコンポーネントだけを
集積して一つのアクターを作る
HLOD
セルストリーミングアウトで表示
セルが範囲外になると代わりに
HLODActorが表示される
作成のためにビルドが必要
HLODは静的に事前にビルドする


# Page. 75

![Page Image](https://bcdn.docswell.com/page/Y76YXLMDEV.jpg)

HLODLayer
●
●
LayerType
IsSpatially Loaded
○ Cell Size
○ Loading Range
○ Parent Layer


# Page. 76

![Page Image](https://bcdn.docswell.com/page/G75GX1Z874.jpg)

HLOD LayerType の表
内容
ビルド時間
効果
Instanced
セル内のメッシュをまとめて
InstancedStaticMeshにする
速い
表示メッシュのみになる
複数のISMで構成
末端のLODで表示
Merged
一つのStaticMeshにまとめる
比較的速い
(頂点数に依存)
1コンポーネント
合成マテリアル
Simplified
一つのStaticMeshにまとめて
さらにリダクション する
遅い
頂点数の削減
Approximate
ボクセル化 して近似メッシュを
作成する
遅い
近似化


# Page. 77

![Page Image](https://bcdn.docswell.com/page/9J2YX1RVJR.jpg)

LayerType の見た目の比較


# Page. 78

![Page Image](https://bcdn.docswell.com/page/DEYG8ZDQEM.jpg)

Instanced


# Page. 79

![Page Image](https://bcdn.docswell.com/page/VJNGQ36278.jpg)

Merged


# Page. 80

![Page Image](https://bcdn.docswell.com/page/YE9WD9LDE3.jpg)

Simplified


# Page. 81

![Page Image](https://bcdn.docswell.com/page/GE8N39X57D.jpg)

Approximate


# Page. 82

![Page Image](https://bcdn.docswell.com/page/LELPVW837R.jpg)

階層HLOD
●
●
Is Spatially Loaded : true
○ Cell Size / Loading Range
○ Parent Layer
■ 次のHLODLayerを指定
Far Field
○ HLOD1以降
○
https://docs.unrealengine.com/5.3/ja/lumen-technic
al-details-in-unreal-engine/#%E3%83%95%E3%82
%A1%E3%83%BC%E3%83%95%E3%82%A3%E3%
83%BC%E3%83%AB%E3%83%89


# Page. 83

![Page Image](https://bcdn.docswell.com/page/4JM4G96M7W.jpg)

アクター毎の設定
●
●
●
●
HLOD Layer
○ 個別にHLODを設定する
Include Component(Actor) in HLOD
○ HLODに含めるかどうか
HLOD Batching Policy
○ Instancingを強制する
Exclude from HLOD Levels
○ 特定のレベルのHLODから除外する
かどうか


# Page. 84

![Page Image](https://bcdn.docswell.com/page/PJRWZGPL79.jpg)

HLOD 作成時の消費メモリ


# Page. 85

![Page Image](https://bcdn.docswell.com/page/PEXP9XN67X.jpg)

25600 uu grid
12800 uu grid
6400 uu grid
HLOD作成時
最大消費メモリ
約40GB
約17GB
約9GB
HLOD作成時間
1:54
2:05
2:43


# Page. 86

![Page Image](https://bcdn.docswell.com/page/3EKDPWNGJD.jpg)

エディタでの確認方法
~5.
3


# Page. 87

![Page Image](https://bcdn.docswell.com/page/L73RX1V5J5.jpg)

待望の
レベルビューポートでの HLOD 確認
5.4


# Page. 88

![Page Image](https://bcdn.docswell.com/page/87DY2X8Y7G.jpg)

まとめ


# Page. 89

![Page Image](https://bcdn.docswell.com/page/VJP61P82E8.jpg)

静的ライティング不可
現時点では静的ライティングに非対応
5.5以降のどこかで対応予定
ListenServer モデル使用時のサーバー負荷
ワールドパーティションの
制限
サーバーは全プレイヤー分のWPセルをロードしなければ
ならない
セルのストリーミングの細かなコントロール
データレイヤーでの管理を推奨
部分ソースコントロール同期非推奨
例えばフォルダ以下などだけをソースコントロールで同期
するなどは推奨されません
基本的にContent以下全体を全更新＆全サブミット しま
す


# Page. 90

![Page Image](https://bcdn.docswell.com/page/2EV3Y2NX7Q.jpg)

オープンワールド
広い世界をつくるならWPで！
動的ライティングだけで問題ないか確認しておく
World Partition を使うべきプ
ロジェクト
大規模開発
レベルを操作する開発者が多いなら
OFPAはロックの競合を大幅に低減
HLOD を使いたいプロジェクト
HLODはWPのセルに対して作成する


# Page. 91

![Page Image](https://bcdn.docswell.com/page/57G39RKRJL.jpg)

プロジェクトによる
要求するアクターの密度や移動速度、読み込み距離を念
頭に置く必要がある
セルサイズが大きくなると
結局CellSize はいくつにする
べき？
読み込み距離範囲外のアクターが増えメモリ使用量は増
加する傾向
ストリーミングの機会が減少
個々のストリーミング処理時間は増加
HLODビルドのメモリ消費量が増加
セルサイズが小さくなると
プロモーションが起こる可能性が増加(要確認)
走査するセルの数が増大してオーバーヘッドに
調整方針
LoadingRange以下の大き目のセルサイズを設定して動
作動作確認を行い問題点がでたら小さくしていく
ストリーミングプロファイル機能
LevelStreaming.Profiling.StartAutomatically 1


# Page. 92

![Page Image](https://bcdn.docswell.com/page/4EQ5WVNYJP.jpg)

まとめ
●
●
●
WPによって大きなワールドを効率よく作れるように
○ ストリーミング
○ HLOD
○ OFPA
○ PCG
サブレベルワークフローを代替する機能
○ DataLayer
○ LevelInstance
5.4で様々な問題が解決
○ HLOD in Editor
○ 3D hash
○ プロモーション問題


# Page. 93

![Page Image](https://bcdn.docswell.com/page/KJ49KMGZ71.jpg)

Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2【CEDEC 2021】
https://www.docswell.com/s/EpicGamesJapan/KDJ34K-UE4_CEDEC2021_UE5EA_Part2
UE5.1 アップデート ~ World Buliding/ Core ~
https://www.docswell.com/s/EpicGamesJapan/53P8EK-UE5_1_World%20Buliding_Core


# Page. 94

![Page Image](https://bcdn.docswell.com/page/LE1KX8DDJG.jpg)

https://dev.epicgames.com/community/learning/knowledge-base/r6wl/unreal-engi
ne-world-building-guide


# Page. 95

![Page Image](https://bcdn.docswell.com/page/GEWDNZY8J2.jpg)

Thank you!
— Epic Games Japan
2024


