ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
World Compositionとは、複数のサブレベルをタイル状に配置して大規模なワールドを構成する、UE4以来の従来手法です。1つのPersistent Level(永続レベル)の下に多数のサブレベルを座標で並べ、プレイヤーとの距離に応じて各レベルを自動的にロード・アンロードすることで、メモリに収まらないほど広いマップを扱えるようにします。Unreal Engine 5では後継のWorld Partitionが推奨されており、World Compositionは旧来の機能として位置づけられています。
| この記事の要点 |
|---|
|
World Compositionとは
World Composition(ワールドコンポジション)は、広大なマップを1つの巨大なレベルとして作るのではなく、エリアごとに分割した多数のサブレベルをタイル状に配置して、全体で1つの大規模ワールドを構成する仕組みです。Unreal Engine 4から提供されてきた従来のオープンワールド向け手法で、UE4世代の大規模マップ制作で広く使われてきました。
基本的な考え方は、空間を格子状の区画に分け、それぞれを独立したレベルファイルとして持つことにあります。プレイヤーが移動すると、近くの区画だけがロードされ、遠くの区画はアンロードされるため、マップ全体をメモリに載せることなく、見かけ上は途切れのない(シームレスな)広大な世界を表現できます。これは、後述するレベルストリーミングの仕組みを大規模ワールド向けに体系化したものと言えます。
UE5以降は後継のWorld Partitionが用意されているため、World Compositionは「UE4から引き継がれた旧来の方式」という位置づけになっています。既存のUE4プロジェクトを移行・保守する場面では今も登場しますが、新規に大規模ワールドを作るうえでの第一候補ではない点を、はじめに押さえておくとよいでしょう。
World Compositionの仕組み
World Compositionは、おおまかに「レベルの構成」と「ストリーミングの制御」という2つの要素で成り立っています。
Persistent Levelと多数のサブレベル
World Compositionでは、起点となるPersistent Level(永続レベル)が1つあり、その下に多数のサブレベルがぶら下がる構成になります。World Compositionを有効にすると、Persistent Levelと同じフォルダ内のレベルが走査され、見つかったレベルがサブレベル(ストリーミング対象)として扱われます。各レベルの位置情報などはレベルファイルのヘッダーに保持されるため、World Compositionはレベル本体をメモリに読み込まなくても全体の配置を把握できます。
各サブレベルには座標(オフセット)が割り当てられ、ワールド内のどの位置に置かれるかが決まります。これによって、サブレベルがタイルのように並び、全体として1枚の広いマップが組み上がります。エディタ上ではこれらのタイルを俯瞰しながら配置を確認・編集できるため、複数人での分担作業もしやすいのが特徴です。
距離ベースのストリーミングとワールド原点シフト
サブレベルのロード・アンロードは、基本的にプレイヤー(ストリーミングの基準となる視点)からの距離に基づいて自動的に行われます。設定した距離より近いタイルがロードされ、遠ざかったタイルはアンロードされる、という距離ベースのストリーミングです。
World Compositionはワールド原点シフト(World Origin Shifting)という機能と組み合わさって動作します。これは、プレイヤーの移動に合わせてワールドの原点をずらすことで、座標値が極端に大きくならないようにする仕組みです。これにより、エンジンに既定として設定されている座標上限の制約を実質的に回避し、それを超える広さのワールドを成立させられます。大規模マップで遠方になるほど座標精度(浮動小数点の精度)が落ちる問題を緩和する役割も担います。
World Compositionの有効化とLevelsウィンドウ
World Compositionを使うには、まず機能を有効にし、続いてレベルを配置・管理するためのウィンドウを使います。具体的な手順や項目名はバージョンによって異なる場合があるため、最終的には使用中のバージョンの公式ドキュメントで確認することをおすすめします。
World Settingsで有効化する
有効化は、メニューの[Window]から[World Settings]を開き、Worldカテゴリ内のEnable World Compositionにチェックを入れて行います。有効にすると、Persistent Levelと同じフォルダ内のサブレベルが走査され、いくつのサブレベルが見つかったかが通知される挙動になっています。
Levelsウィンドウ(World Compositionビュー)
レベルの追加や配置の確認はLevelsウィンドウで行います。World Compositionが有効なときは、Levelsウィンドウ上部のボタンからWorld Composition(ワールドの俯瞰ビュー)を開けるようになっており、ここでタイル状に並んだレベルのレイアウトを視覚的に確認しながら編集できます。タイル状の地形を一括で取り込む[Import Tiled Landscape]や、既存レベルの追加なども、このウィンドウまわりの操作から行います。
Layer(レイヤー)と距離設定
各サブレベルのストリーミング距離は、Layer(レイヤー)という単位でまとめて管理します。レイヤーはストリーミング距離の情報を保持しており、あるレイヤーに割り当てられたレベルは、そのレイヤーのストリーミング距離を継承します。距離を変えたい場合は、目的の距離を持つ新しいレイヤーを作り、対象レベルをそのレイヤーへ割り当てる、という流れが基本になります。
レイヤーは既存のレイヤー名の横にある追加(+)ボタンから新規作成できます。距離ストリーミングを無効にしたレイヤーに割り当てたレベルは、距離による自動ストリーミングの対象から外れ、代わりにBlueprintで明示的にロード・アンロードを制御する形になります。距離で自動制御したいタイルと、イベントやスクリプトのタイミングで制御したいタイルを、レイヤー単位で整理できるイメージです。
| 設定の対象 | 場所・単位 | 主な役割 |
|---|---|---|
| 機能の有効化 | [World Settings] の Enable World Composition | Persistent Level配下のサブレベルをWorld Compositionの管理下に置く。 |
| レベルの配置・確認 | Levels ウィンドウ(World Compositionビュー) | タイル状のレイアウトを俯瞰し、追加・配置・編集を行う。 |
| ストリーミング距離 | Layer(レイヤー) | 距離を保持し、割り当てたレベルが継承する。 |
| 個別制御 | 距離無効レイヤー + Blueprint | 距離による自動制御をやめ、スクリプトでロード/アンロード。 |
UE5ではWorld Partitionが推奨
ここが最も重要な注意点です。Unreal Engine 5では、大規模ワールドの構築手法としてWorld Partitionが推奨されており、World Compositionは非推奨・旧来扱いとなっています。
World Partitionは、ワールドを一様なグリッドに自動分割し、グリッドセル単位でのロード・アンロードを自動で管理する、UE5に組み込まれたストリーミング管理システムです。World Compositionのように手動でサブレベルを切り出して座標配置する必要がなく、1つのレベル上でそのまま広大なワールドを編集できる点が大きく異なります。なお、World CompositionとWorld Partitionは同時に有効化できない関係にあります。
World Compositionは、UE5でも引き続きドキュメントに記載され、既存プロジェクトの保守などのために利用できる状態にありますが、長期的には縮小・置き換えが進む方向とされています。したがって、新規にUE5で大規模ワールドを始めるなら、まずWorld Partitionを検討するのが基本方針です。UE4で作られたWorld CompositionのプロジェクトをUE5へ持ち込む場合は、World Partitionへ移行するための仕組みも用意されていますが、サブレベルの統合・再編成といった手作業を伴うことが多い点には留意してください。
World Partitionとの違い
「手動でタイルを並べるWorld Composition」と「グリッドを自動管理するWorld Partition」は、考え方も運用も大きく異なります。どちらを選ぶべきか、移行はどう進めるべきか、編集ワークフローやチーム作業の違いなど、両者の比較は次の関連記事で詳しく解説しています。
関連記事: World PartitionとWorld Compositionの違い
World Compositionの落とし穴
World Compositionを扱う際、または採用を検討する際に注意したいポイントを整理します。
| 注意したいポイント |
|---|
|
よくある質問(FAQ)
Q. UE5でWorld Compositionはもう使えないのですか?
A. 完全に使えなくなったわけではなく、UE5でも引き続きドキュメントに記載され、利用できる状態にあります。ただし推奨されるのはWorld Partitionで、World Compositionは旧来の機能として扱われています。新規プロジェクトではWorld Partitionを選ぶのが基本です。
Q. World CompositionとWorld Partitionは併用できますか?
A. 同時に有効化することはできません。1つのワールドに対してどちらの方式を使うかを選ぶ形になります。両者の考え方の違いはWorld PartitionとWorld Compositionの違いで解説しています。
Q. World Compositionで距離ではなく任意のタイミングでレベルを出し入れしたい場合は?
A. 距離ストリーミングを無効にしたレイヤーにレベルを割り当て、Blueprintからロード・アンロードを制御します。距離で自動制御するタイルと、スクリプトで制御するタイルをレイヤー単位で分けて管理できます。
Q. UE4で作ったWorld CompositionのマップをUE5でどう扱えばよいですか?
A. そのままWorld Compositionとして保守し続けることもできますが、将来を見据えるならWorld Partitionへの移行を検討するのが一般的です。移行にはサブレベルの統合・再編成などの手作業を伴うことが多いため、規模やスケジュールに応じて計画的に進めるとよいでしょう。具体的な手順は使用中のバージョンの公式ドキュメントで確認してください。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?