ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
この記事の要点
- レベル(Level)は、Unreal Engine 5(以下UE5)でゲームやシミュレーションの「舞台(マップ)」を構成する単位で、ディスク上では拡張子.umapのアセットとして保存されます。
- 1つのワールドは、常に読み込まれるPersistent Level(永続レベル)と、必要に応じて読み込まれる複数のSub Level(サブレベル)で構成できます。
- 広大なマップを扱う場合は、領域ごとに自動でロード/アンロードを管理するWorld Partitionを利用する設計が一般的です。
- この記事はレベルの入口(目次)です。テンプレート選択・レベルの切替や移動・ブループリント連携といった具体的な操作は、下記の各カテゴリから個別記事へ進めます。
1レベル(Level)とは
UE5におけるレベルとは、地形やアクター(配置オブジェクト)、ライティング、サウンド、各種設定などをひとまとめにした「ゲームの舞台(マップ)」のことです。プレイヤーが実際に動き回る空間そのものであり、ゲームのシーンを構成する基本的な単位として扱われます。
レベルはプロジェクト内でアセットとして管理され、ディスク上では拡張子.umapのファイルとして保存されます。エディタでは、コンテンツブラウザに表示されるこのアセットを開くことで、対象のレベルを編集できます。
Persistent Level と Sub Level
UE5では、実行時に展開されるゲーム空間全体をワールド(World)と呼びます。1つのワールドは、複数のレベルを組み合わせて構成することができ、その役割は大きく次の2種類に分かれます。
| 種類 | 役割の概要 |
|---|---|
| Persistent Level(永続レベル) | ワールドの土台となる、常に読み込まれているレベル。サブレベルの読み込み・管理の起点になります。 |
| Sub Level(サブレベル) | 永続レベルにひもづく形で配置される追加のレベル。エリアや要素ごとに分割し、必要なタイミングで読み込み・解放する運用が可能です。 |
レベルを分割しておくと、シーンの一部分だけを動的に読み込めるようになり、メモリ使用量の管理や、複数人での分担作業がしやすくなる場合があります。必要なサブレベルだけを読み込む仕組みは、一般にレベルストリーミングと呼ばれます。
World Partition
広大なマップを扱う場合は、ワールドを格子状の領域に分割し、プレイヤーの位置などに応じて各領域を自動的に読み込み・解放するWorld Partitionという仕組みを利用できます。手作業でサブレベルを切り分ける従来の方式に対し、World Partitionは大規模な空間の管理を自動化する目的で用意されています。オープンワールド向けのテンプレートでは、この仕組みが初期状態で有効になっていることがあります。
どの方式が適しているかは、扱うマップの規模やプロジェクトの方針によって異なります。小規模な単一シーンであれば単一のレベルで十分な場合もあり、必ずしも分割が必要とは限りません。
2レベルの基本操作
レベルを扱ううえで土台となる、作成・表示・保存といった基本操作の考え方は次のとおりです。具体的な手順や設定は、扱うUE5のバージョンや環境によって異なる場合があります。
| 操作 | 概要 |
|---|---|
| レベルを作成する | 新規レベルを作成する際は、空のレベルや既定のテンプレートから選んで作成します。テンプレートによって初期状態に含まれる要素が異なります。 |
| レベルを開く | コンテンツブラウザから対象の.umapアセットを開くことで、そのレベルを編集対象として読み込みます。 |
| レベルを保存する | 編集した内容は、対象のレベルアセットとして保存します。複数のレベルを組み合わせている場合は、関連するレベルをまとめて保存できます。 |
これらの操作を起点として、テンプレートの使い分けやレベルの切り替え、ブループリントとの連携といった応用へと広げていけます。以降のカテゴリでは、目的別に個別記事へリンクします。
3レベルの基本・テンプレート
新規レベルを作成するときに選ぶテンプレートは、初期状態に含まれる要素や前提となる構成が異なります。プロジェクトの規模や方針に応じた選び方を、次の記事で確認できます。
4レベルの切替・移動
ゲームの進行に合わせて表示するレベルを切り替えたり、アクターが属するレベルを変更したりする操作は、シーン構成やストリーミングの設計に関わります。エディタ上での編集と、実行時の動的な変更の両面を扱う記事をまとめました。
| 記事 | 扱う内容の概要 |
|---|---|
| レベルを移動する方法 | 表示するレベルを別のレベルへ切り替える操作の考え方。 |
| エディタ上でインスタンスが属するサブレベルを変更する方法 | エディタ作業時に、配置済みインスタンスの所属サブレベルを変更する操作。 |
| 動的にインスタンスが属するレベルを変更する方法 | 実行時に、インスタンスが属するレベルを動的に変更する操作。 |
5レベルとブループリント連携
ブループリントから現在のレベルを判定したり、レベル側の変数へアクセスしたり、レベルごとに設定を切り替えたりする操作は、ゲームロジックとレベル構成を結びつけるうえで役立ちます。目的別に次の記事へ進めます。
| 記事 | 扱う内容の概要 |
|---|---|
| Blueprintで現在開いているレベルが特定のレベルであるか調べる方法 | いま開いているレベルが目的のレベルかどうかを判定する考え方。 |
| とあるアクタから現在開いているレベルの変数にアクセスする方法 | アクタ側から、現在のレベルが持つ変数へアクセスする操作。 |
| レベルごとにゲームモードを変更する方法 | レベル単位で適用するゲームモードを切り替える設定。 |
6プロジェクト・起動設定
レベルそのものの編集だけでなく、プロジェクトを開いた直後やゲーム起動時に最初に表示されるレベルを指定する設定もあります。プロジェクト全体に関わる入口の設定を扱う記事です。
7よくある質問(FAQ)
Q. Persistent Level と Sub Level は何が違いますか。
A. Persistent Level(永続レベル)はワールドの土台として常に読み込まれているレベルで、サブレベルの管理の起点になります。一方のSub Level(サブレベル)は、その永続レベルにひもづけて追加されるレベルで、エリアや要素ごとに分割し、必要に応じて読み込み・解放する運用ができます。詳しい切り替えや所属変更の操作は、本記事の「レベルの切替・移動」カテゴリの各記事を参照してください。
Q. レベルを分割すると、必ずパフォーマンスが良くなりますか。
A. 一概には言えません。レベルやサブレベルの分割は、必要な範囲だけを読み込むことでメモリ使用量を管理しやすくする手段ですが、効果はマップの規模や読み込みの設計、対象環境などの条件によって変わります。小規模なシーンでは単一のレベルで十分な場合もあります。プロジェクトの要件に合わせて、分割の要否やWorld Partitionの利用を検討するとよいでしょう。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Spring Framework 記事一覧31件|DI・設定・例外の対処 2026-09-07 07:45:13
- Laravel 記事一覧55件|環境構築・ルーティング・DB・エラー対処 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Javaの定数 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- hostnameコマンドの使い方|Windows・Linux・macOSでホスト名確認 2026-09-07 07:45:13
- NetBeansでTomcatを起動する手順|サーバ登録・ポート・トラブル対処 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Oracle DROP USERでユーザー削除|CASCADE・接続中ユーザーの対処 2026-09-07 07:45:13
- SQLとは|DDL・DMLとリレーショナルデータベース操作の基本 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?