67.

UE5のWorld PartitionとWorld Compositionの違い|大規模ワールド手法の比較

編集

UE5のWorld PartitionWorld Compositionの最大の違いは、ワールドの分割と読み込み(ストリーミング)を「自動」で行うか「手動」で行うかという点にあります。World CompositionはUE4以来の旧来手法で、開発者が複数のサブレベルをタイル状に手動で配置・管理します。一方、World PartitionはUE5で導入された新方式で、単一のレベルをエンジンが自動的にグリッド状に分割し、プレイヤーの位置に応じて必要な範囲だけを自動ストリーミングします。2026年時点のUE5では、World Partitionが標準かつ推奨の手法であり、World Compositionは非推奨(deprecated)扱いとなっています。

この記事の要点
  • World Compositionは、UE4以来の大規模ワールド手法で、サブレベルをタイル状に並べて手動でストリーミングを設定する旧来の方式です。
  • World Partitionは、UE5で導入された新方式で、単一のレベルを自動的にグリッド(セル)へ分割し、距離ベースで自動ストリーミングします。
  • UE5ではWorld Partitionが標準・推奨であり、World Compositionは非推奨(deprecated)として位置づけられています。
  • 両者は同一ワールド内で混在させて使うことはできません。新規プロジェクトはWorld Partitionの利用が推奨されます。
  • World CompositionからWorld Partitionへの移行は可能ですが、自動化ツールに加えて手作業が必要になる場合があります。

World Compositionとは(UE4以来の旧来手法)

World Compositionは、UE4の時代から提供されてきた、大規模なオープンワールドを構築するためのワールド管理手法です。広大なマップを1つのレベルにまとめるのではなく、エリアごとに区切った複数のサブレベル(ストリーミングレベル)を用意し、それらをワールド上のグリッド座標に沿ってタイル状に並べることで全体のワールドを構成します。

各サブレベルはワールド内での位置(タイル座標)を持ち、プレイヤーの位置に応じて読み込み・破棄(ストリーミング)されます。どのタイルを、どの距離で読み込むか、複数解像度のLOD(簡易表示)をどう設定するかといった調整は、開発者が手動で行う前提になっています。この仕組みにより、UE4当時としては広いワールドを扱えましたが、サブレベルの分割や配置、ストリーミング距離の設計などを人手で管理する必要があり、運用の負担が比較的大きい手法でした。

World Compositionは複数人での共同作業にも課題があります。サブレベル単位でファイルが分かれているため、同じサブレベルを複数人が同時に編集すると競合(コンフリクト)が起きやすく、エリアの区切り方を後から変更しにくいという特性があります。

World Partitionとは(UE5の新方式)

World Partitionは、UE5で新たに導入されたワールド管理の仕組みです。World Compositionのようにサブレベルを手動で分割・配置するのではなく、単一の永続レベル(Persistent Level)にワールド全体を格納し、その空間をエンジンが自動的にグリッド状のセルへ分割します。

実行時には、プレイヤーなどの「ストリーミングソース」からの距離に基づいて、必要なセルだけが自動的に読み込まれ、不要になったセルは自動的に破棄されます。開発者は基本的に、アクター(オブジェクト)をワールド上に配置し、グリッドのセルサイズなどを設定するだけで済み、どのタイミングで何を読み込むかを手動でトリガー設計する必要がほとんどありません。これにより、World Compositionで必要だった手動ストリーミング管理の負担が大きく軽減されます。

World Partitionは、関連するいくつかの機能と組み合わせて使われます。代表的なものは次のとおりです。

● One File Per Actor(OFPA)

各アクターを個別のファイルとして保存する仕組みです。レベルファイル全体をチェックアウトせずにアクター単位で編集できるため、複数人が同じワールドの異なる場所を同時に編集しても競合が起きにくくなります。

● Data Layers(データレイヤー)

同じワールド上のアクターを論理的なレイヤーに分けて管理する機能です。たとえば同一エリアの状態違い(破壊前・破壊後など)や、特定条件でのみ読み込みたい要素を整理するのに利用できます。

● HLOD(階層的LOD)

遠景用に簡略化した表示を自動生成し、ストリーミングで読み込まれていない遠方のセルを低負荷で見せるための仕組みです。

World PartitionとWorld Compositionの違い(比較表)

両者の主な違いを整理すると次のようになります。

項目 World Composition World Partition
主な対象バージョン UE4以来の旧来手法(UE5でも一応動作) UE5で導入された新方式
分割の単位 複数のサブレベル(タイル) 単一レベルを自動分割したグリッドセル
分割・配置の方法 開発者が手動で作成・配置 エンジンが自動的にグリッド分割
ストリーミング 手動設定が中心 距離ベースで自動
共同編集のしやすさ サブレベル単位で競合が起きやすい OFPAによりアクター単位で競合しにくい
UE5での位置づけ 非推奨(旧来手法) 標準・推奨

UE5ではWorld Partitionが標準・推奨

2026年時点のUE5では、大規模ワールドの構築手法としてWorld Partitionが標準であり、Epic Gamesも推奨しています。新規にレベルを作成すると、既定でWorld Partitionが有効になった状態で扱える設計になっており、ドキュメントやサンプルもWorld Partitionを前提とした内容が中心です。

一方のWorld Compositionは、UE5でも引き続き読み込み・利用できる場合がありますが、非推奨(deprecated)として位置づけられています。World Compositionで作成されたプロジェクトをUE5で開くと、World Partitionへの変換を促す案内が表示されることがあります。長期的にはWorld Partitionへの一本化が進む方向にあるため、これから新しく大規模ワールドを作る場合は、World Partitionを選ぶのが基本方針となります。

移行について

既存のWorld CompositionプロジェクトをWorld Partitionへ移行することは可能です。UE5には移行を支援するツール(One File Per Actorへの変換ツールなど)が用意されており、最初のステップを自動化できます。ただし、サブレベルの構成をWorld Partitionのセルレイアウトに置き換える作業など、すべてが自動で完結するわけではなく、手作業による調整が必要になる場合があります。移行を検討する際は、対象プロジェクトの規模やサブレベル構成に応じて、事前に検証用の複製で動作を確認することをおすすめします。具体的な移行手順や対応状況は、利用しているUE5のバージョンによって異なるため、公式ドキュメントでの確認を推奨します。

落とし穴・注意点

注意点 内容
混在はできない 同一ワールド内でWorld PartitionとWorld Compositionを併用することはできません。どちらの方式でワールドを管理するかを決めたうえで構築します。
新規はWorld Partition推奨 これから作る大規模ワールドは、特別な理由がない限りWorld Partitionを選ぶのが基本です。World Compositionを新規採用する利点はほとんどありません。
World Compositionは旧来・非推奨 World CompositionはUE5でも動く場合がありますが非推奨です。既存資産を活かす目的でなければ、無理に使い続ける必要はありません。
自動でも設計は必要 World Partitionが自動ストリーミングを行うとはいえ、グリッドのセルサイズやアクターの読み込み設定が不適切だと、メモリ消費やパフォーマンスに影響します。規模に応じた調整は引き続き重要です。

よくある質問(FAQ)

Q. UE5ではWorld Compositionはもう使えないのですか?

A. UE5でもWorld Compositionで作られたワールドを読み込んで利用できる場合がありますが、非推奨(deprecated)の扱いです。プロジェクトを開いた際にWorld Partitionへの変換を促す案内が表示されることもあります。これから新規に作るのであれば、World Partitionを選ぶのが基本です。利用中のバージョンでの正確なサポート状況は公式ドキュメントで確認することをおすすめします。

Q. World Partitionとレベルストリーミング(手動のサブレベル運用)は別物ですか?

A. World Partitionは「単一レベルを自動でグリッド分割し、距離ベースで自動ストリーミングする」仕組みです。一方、サブレベルを手動で用意して読み込み・破棄を制御する従来型のレベルストリーミングは、用途に応じてUE5でも引き続き利用できます。World Compositionは、この手動運用を大規模ワールド向けにタイル状の枠組みで提供していた旧来手法、と整理すると分かりやすいでしょう。

Q. 小規模なマップでもWorld Partitionを使うべきですか?

A. World Partitionは大規模ワールドの自動ストリーミングを主目的とした仕組みです。比較的小さなマップでも利用できますが、規模が小さい場合は自動分割の恩恵が限定的なこともあります。プロジェクトの規模やチーム体制(共同編集の頻度など)を踏まえて選択するとよいでしょう。判断に迷う場合は、利用バージョンの公式ガイドラインを確認することを推奨します。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. 床の上に乗ったらイベントを発生させる方法
  2. OverlapAllDynamicとOverlapAllの違い
  3. タイトル画面を作る方法
  4. サードパーソンテンプレートでのキャラクター表示の仕組みと非表示にする方法
  5. ボタンに文字を記載する方法
  6. Event ActorBeginOverlapとOn Component Begin Overlapの違い
  7. キャラクターに特定のオブジェクトとの当たり判定を付ける
  8. 特定のオブジェクトに触れたとき、キャラクターが倒れるようにする
  9. 動いているオブジェクトに静止しているキャラクターが当たり判定を持たない原因と解決方法
  10. 「On Component Hit」に「Cast To ~」で複数のクラスを指定する方法
  11. Blenderファイルをインポートする方法
  12. 鏡を作成する方法
  13. レベルブループリントでキャラクターの出現を設定する方法
  14. サードパーソンテンプレートにおけるキャラクター出現の定義
  15. アイテムに近づいたらボタンを押してイベントを発火させる方法
  16. 画面の中央にメッセージを表示する方法
  17. どこからでも呼び出せるカスタムイベントを作成する方法
  18. カスタムイベントに引数を追加する方法
  19. 「Get Overlapping Actors」から特定のクラスの場合のみ処理を実行する方法
  20. オブジェクトに近づいている間だけメッセージを表示する方法
  21. PCの画面を操作するUIを作る方法
  22. コンテンツブラウザに画像を追加する方法
  23. SetInputMode_UIOnlyを取り消す方法
  24. 特定の画像の上にマウスカーソルを置いたら手マークにする方法
  25. オブジェクトがアウトライナーで選択できない原因と解決策
  26. PlayerStartを作成する方法
  27. メニュー画面を作成して開く方法
  28. 「Esc」キーを押してメニュー画面を開く方法
  29. イベントの「On Clicked」と「On Pressed」の違い
  30. 「Set Input Mode」の種類と使い方
  31. 「Set Game Paused」の使い方と詳細解説
  32. Motion Matchingとは?
  33. 「GameMode」と「GameModeBase」の違い
  34. マップに配置したTargetPointを取得する方法
  35. TargetPointにタグをつけて取得する方法
  36. Spawnしたインスタンスがイベントを実行する方法
  37. 特定の時間ごとに処理を実行する方法
  38. 数値をランダムで出力する方法
  39. ThirdPersonテンプレートでキャラクターの移動を歩くように変更する方法
  40. MaxWalkSpeedを変更する方法
  41. しゃがむ動作を導入する方法
  42. キャラクターのアニメーションを設定する方法
  43. 導入済みのプラグインを確認する方法
  44. Motion Matchingの導入と必要なプラグイン
  45. プレイヤーを非表示にする方法
  46. カメラを傾ける角度を制限させる方法
  47. 配列からランダムに重ならない要素を特定の数取得する方法
  48. カメラの映す画面に文字やエフェクトを付ける方法
  49. キャラクターやメッシュを非表示にした際にカメラが移動しなくなる問題の解決方法
  50. プライマリーデータアセットを活用する方法
  51. プレイヤーのHPといった変数を定義する最適な場所
  52. カメラに映った画面をスクリーンショットとして保存する方法
  53. ゲーム内のカメラ映像を保存して再表示する方法
  54. HighResShot を使って高解像度の画像を保存する方法(UE5)
  55. HighResShotで保存した画像のファイル名を取得する方法
  56. SceneCapture2DとFrameGrabberの画像保存方法の比較
  57. SceneCapture2Dを使用して画像を保存・取得する方法
  58. HighResShotとTake High Res Screenshotの違い
  59. ゲーム終了ボタンを作成する方法
  60. 「Save Game To Slot」の戻り値がfalseになる問題の解決方法
  61. 画面上にメッセージを指定された時間表示させる方法
  62. シェーダコンパイル時間を短縮する方法
  63. 「Take High Res Screenshot」実行時に「シェーダをコンパイル」に長時間待たされる問題とその解決策
  64. データベースを活用する方法
  65. UE5.5がインストールされた環境にUE5.4を追加で導入する方法
  66. World PartitionとWorld Compositionの違い
  67. オープンワールドテンプレートとは?
  68. ポーンをスポーンさせても視点を切り替えない方法
  69. キャラクター同士がすり抜けてしまう問題の解決方法
  70. キャラクターの外見を動的に変更
  71. World Partitionでインスタンスが「アンロード済み」になる問題
  72. データ アセットとデータ テーブルの違い
  73. コンポーネントイベントグラフ内で親クラスの変数にアクセスする方
  74. エディターのソースコードの自動保存の頻度を高める方法
  75. SpawnActorでSpawn Transform Rotationが反映されない理由
  76. ミニマップを表示しポーンの位置を反映する方法
  77. RInterp ToとVInterp Toの違い
  78. 毎秒実行するイベントの定義方法
  79. Niagara のエフェクトにコリジョンを持たせる方法
  80. 「Overlap」と「Hit」の違い
  81. OverlapはあるがHitがない原因
  82. Overlapした位置の座標を取得する方法
  83. ブループリントでレベル間のパラメータを受け渡す方法

最近更新/作成されたページ