ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
この記事の要点
- Unreal Engine 5 の World Partition + HLOD 環境で表示される警告
- 原因: シーン変更後に HLOD(Hierarchical Level of Detail)が再生成されていない
- 対処: メニューから Build → Build HLODs を実行 → 保存
- コマンドラインなら
WorldPartitionBuilderCommandletを使用 - Nanite + HLOD の組み合わせ、Streaming Source、Memory Budget も併せて確認
1警告の概要
Unreal Engine 5 の World Partition 機能を使ったレベルを開いたとき、出力ログやマップチェックに次のような警告が表示されます:
LogWorldPartition: Warning: Found 23 stale HLOD actors. HLODs need to be rebuilt.
LogWorldPartition: Please run "Build > Build HLODs" or use the WorldPartitionBuilderCommandlet.
MapCheck: 古い HLOD アクタを検出しました。HLOD をリビルドする必要があります。
2HLOD とは
Hierarchical Level of Detail (HLOD) は、遠距離のオブジェクト群を 1 つの結合メッシュにまとめて描画コール・三角形数を削減する仕組みです。World Partition と組み合わせて広大なオープンワールドを実現します。
| 距離 | 表示 | 負荷 |
|---|---|---|
| 近距離 (0-100m) | 個別 Actor / Nanite Mesh | 高品質・高負荷 |
| 中距離 (100-500m) | HLOD Level 0(結合メッシュ) | 中品質・中負荷 |
| 遠距離 (500m-) | HLOD Level 1+ / Imposter | 低品質・低負荷 |
3原因
- HLOD 生成後に新しい Actor を追加した
- 既存 Actor の Transform / Mesh を変更した
- Actor を削除した
- HLOD Layer 設定を変えた
- Git 等で別環境から HLOD 未生成のデータを取得した
4対処1: Editor から Build HLODs
- レベルを開く(World Partition のレベル)
- メニューから Build → Build HLODs
- ダイアログで Build 範囲を選択(Whole Map / Selected Cells)
- 完了するまで待つ(数分〜数十分、規模次第)
- レベルを保存(Ctrl+S)
5対処2: コマンドラインで Build
大規模マップは Editor がフリーズしがちなので、コマンドライン Commandlet が推奨:
# Windows
"C:\Program Files\Epic Games\UE_5.3\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" ^
"C:\Path\To\MyProject\MyProject.uproject" ^
-run=WorldPartitionBuilderCommandlet ^
/Game/Maps/MyOpenWorld ^
-Builder=WorldPartitionHLODsBuilder ^
-AllowCommandletRendering ^
-unattended
# Linux / Mac
./UnrealEditor-Cmd \
/path/to/MyProject.uproject \
-run=WorldPartitionBuilderCommandlet \
/Game/Maps/MyOpenWorld \
-Builder=WorldPartitionHLODsBuilder \
-AllowCommandletRendering
6HLOD Layer の設定
各 Actor は HLOD Layer プロパティを持ち、どのレイヤーに属するかで生成方法が決まります:
HLOD Layers(典型例):
HLODLayer_Mesh ← 通常メッシュ (StaticMesh を結合)
→ Source: StaticMesh
→ Algorithm: Mesh Merge
→ Loading Range: 25600 (256m)
HLODLayer_Instancing ← 大量配置 (Foliage / Grass)
→ Source: ISM (Instanced Static Mesh)
→ Algorithm: Instancing
→ Loading Range: 51200 (512m)
HLODLayer_Imposter ← 遠景ビルボード
→ Source: StaticMesh
→ Algorithm: Imposter
→ Loading Range: 102400 (1024m)
Content Browser で右クリック → Miscellaneous → HLOD Layer で作成します。
7Streaming Source(プレイヤー周辺をロード)
World Partition はStreaming Source の周囲だけをロードします。HLOD 生成前にこの設定が必要:
// プレイヤーキャラクターに WorldPartitionStreamingSourceComponent を追加
APlayerCharacter::APlayerCharacter()
{
StreamingSource = CreateDefaultSubobject<UWorldPartitionStreamingSourceComponent>(
TEXT("StreamingSource"));
StreamingSource->TargetGrid = TEXT("MainGrid");
StreamingSource->Priority = EStreamingSourcePriority::High;
}
8Nanite と HLOD
Unreal Engine 5 の Nanite は数千万ポリゴンを描画できる仕組みですが、HLOD は依然として必要です:
- Nanite はメッシュごとの描画コールは減らさない → 大量 Actor がある場合 HLOD で結合
- Foliage / Instanced Static Mesh は Nanite 対応しても HLOD でまとめるとカリングが効率化
- 動的ライティングは HLOD 化されたメッシュには適用されない → Lightmass / Lumen 設定要確認
9Memory Budget の設定
Project Settings → World Partition
Streaming Performance:
Editor Streaming Disabled: false
Server Streaming Out Enabled: true
Memory Budget MB: 4096 ← 一度にロードするセルの合計上限
Runtime Hash:
Grid Cell Size: 25600 (256m × 256m)
Loading Range: 51200 (512m)
10確認方法
- Window → World Partition → Map Check で HLOD 警告を確認
- Show → Visualize → HLOD Outline で生成済領域を可視化
stat WorldPartitionで実行時のロード状況確認wp.Runtime.ToggleDrawRuntimeHash3Dで 3D 表示
11FAQ
Q: Build HLODs に何時間もかかる
A: 大規模マップは仕方ない。コマンドライン Commandlet で夜間バッチとして実行することを推奨。
Q: ビルド後も警告が消えない
A: 別のレベルが古い HLOD を持っている可能性。すべての World Partition レベルでビルド実行が必要。
Q: Git でチームと HLOD データを共有すべきか
A: HLOD は巨大なファイルになるので Git LFS が必須。または CI で毎回再生成する運用も多い。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- SetInputMode_UIOnlyは、'PlayerController'ターゲットとして有効なプレイヤーコントローラーを想定しています
- 無限ループが検出されました
- ~は表示されるブループリント(BlueprintReadOnlyまたはBlueprintReadWrite)ではありません。これは将来のリリースでエラーとなるため、マークアップを修正するかアクセスを停止してください。
- 古いHLODアクタを検出、HLODをリビルドする必要があります
- ブループリントランタイム エラー: "プロパティ ~ の読み取りを試行するためのアクセスはありません"
- 「AI Move To」が「Aborted」で失敗
- 「AI Move To」が「Blocked」で失敗
人気ページ
- 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
コメントを削除してもよろしいでしょうか?