ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
警告の概要
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 をリビルドする必要があります。
HLOD とは
Hierarchical Level of Detail (HLOD) は、遠距離のオブジェクト群を 1 つの結合メッシュにまとめて描画コール・三角形数を削減する仕組みです。World Partition と組み合わせて広大なオープンワールドを実現します。
| 距離 | 表示 | 負荷 |
|---|---|---|
| 近距離 (0-100m) | 個別 Actor / Nanite Mesh | 高品質・高負荷 |
| 中距離 (100-500m) | HLOD Level 0(結合メッシュ) | 中品質・中負荷 |
| 遠距離 (500m-) | HLOD Level 1+ / Imposter | 低品質・低負荷 |
原因
- HLOD 生成後に新しい Actor を追加した
- 既存 Actor の Transform / Mesh を変更した
- Actor を削除した
- HLOD Layer 設定を変えた
- Git 等で別環境から HLOD 未生成のデータを取得した
対処1: Editor から Build HLODs
- レベルを開く(World Partition のレベル)
- メニューから Build → Build HLODs
- ダイアログで Build 範囲を選択(Whole Map / Selected Cells)
- 完了するまで待つ(数分〜数十分、規模次第)
- レベルを保存(Ctrl+S)
対処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
HLOD 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 で作成します。
Streaming Source(プレイヤー周辺をロード)
World Partition はStreaming Source の周囲だけをロードします。HLOD 生成前にこの設定が必要:
// プレイヤーキャラクターに WorldPartitionStreamingSourceComponent を追加
APlayerCharacter::APlayerCharacter()
{
StreamingSource = CreateDefaultSubobject(
TEXT("StreamingSource"));
StreamingSource->TargetGrid = TEXT("MainGrid");
StreamingSource->Priority = EStreamingSourcePriority::High;
}
Nanite と HLOD
Unreal Engine 5 の Nanite は数千万ポリゴンを描画できる仕組みですが、HLOD は依然として必要です:
- Nanite はメッシュごとの描画コールは減らさない → 大量 Actor がある場合 HLOD で結合
- Foliage / Instanced Static Mesh は Nanite 対応しても HLOD でまとめるとカリングが効率化
- 動的ライティングは HLOD 化されたメッシュには適用されない → Lightmass / Lumen 設定要確認
Memory 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)
確認方法
- Window → World Partition → Map Check で HLOD 警告を確認
- Show → Visualize → HLOD Outline で生成済領域を可視化
stat WorldPartitionで実行時のロード状況確認wp.Runtime.ToggleDrawRuntimeHash3Dで 3D 表示
FAQ
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 と 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アノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?