RuntimePartitionLHGridのHLOD設定

RuntimePartitionLHGridのHLOD設定の補足解説

Last Edited Time: June 6, 2025 4:34 PM

RuntimePartitionLHGridはWorldPartitionRuntimeHashSetと共にUE5.4に追加されたワールド分割方式です。
LHはLooseHierarchicalの略でセルの境界を柔軟に調整することで以前の分割方式に合った境界の問題や意図せぬプロモーションの問題を解決しています。
しかしHLODの設定方法が少々変更されており混乱を生む可能性があります。本トピックではHLODの設定方法について補足解説します。

RuntimePartitionLHGridをセットアップする

RuntimePartitionLHGridを利用するにはWorldSettingsのWorldPartitionSetupに設定が必要です。

HLODの設定

  • MainGrid
    • CellSize 12800, 2 HLOD Layers
      • MainGrid_HLOD0 (default HLOD layer)
      • MainGrid_HLOD0_Merged
      • MainGrid_HLOD1
    • 一部のアクターはHLOD0にMergedを設定します
  • Landscape グリッド
    • CellSize 25200, Single HLOD Layer
      • Landscape_HLOD0
    • ランドスケープアクターには RuntimeGrid:Landscape と HLODLayer:HL_Landscape_Instancing を設定する
  • SmallGrid グリッド
    • CellSize 6400, Single HLOD Layer, SpatiallyLoaded
      • SmallGrid_HLOD0
    • 少し遠くでも見えてほしいの小物アクターには RuntimeGrid:SmallProps と HLODLayer::HL_SmallProps_Instancing を設定する

HLODLayerを準備する

他の分割方式と同じようにHLODLayerアセットを利用します。ただし一部の設定は参照されず後述のHLODSetupsを参照するように変更されていることに注意してください。

アクターはHLODLayerへの振り分けの際に、設定されているHLODLayerを自身が属しているRuntimeGridのHLODSetupsから検索しその設定を適用します。

今回はレベルの設定に合わせて5つのHLODLayerを作成します。

1.MainGrid_HLOD0

2. MainGrid_HLOD0_Merged

3.MainGrid_HLOD1

4.Landscape_HLOD0

HLODは常に表示可能にしたいのでIsSpatiallyLoadedにはチェックを付けません

5.SmallGrid_HLOD0

IsSpatiallyLoadedにチェックを入れて、ParentLayerを空にします

HLODSetupsの設定

レベルの設定に合わせてHLODSetupsを設定します。

MainGridの設定

HLODSetups配列を追加し、Index0にMainGrid_HLOD0とMainGrid_HLOD0_Mergedを、Index1にMainGrid_HLOD1を設定します
さらにIndex0にはIsSpatiallyLoadedにチェックを入れます
セルサイズは12800でローディングレンジも適切に設定します。

Landscapeグリッドの設定

HLODSetupsは1段でIsSpatiallyLoadedのチェックは外したままです

SmallGridグリッドの設定

HLODSetuposは1段でIsSpatiallyLoadedのチェックを入れます。IsSpatiallyLoadedのチェックはHLODLayerアセットの設定も併せて設定してください

設定は以上です。メニューからBuild > BuildHLOD を選択してHLODをビルドしてください。

Tips

  • アクターがどのランタイムグリッドに属していたとしてもHLODLayer設定が空の場合にはDefaultHLODLayerが適用されます
    アクターにデフォルト以外のHLODLayerに割り当てるにはかならずアクター毎の設定が必要になります
  • 各グリッドのHLODSetupにはDefaultHLODLayerを追加しておく必要があります
  • HLODSetupの名前はユニークにする必要があります
  • HLOD振り分けの際に自身が属しているRuntimeGridのHLODSetupsにHLODLayerが見つからない場合には以下の様なエラーが出力されます
    RuntimeGridとHLODLayerの組み合わせが適切か確認してください
    image 11
  • Landscape用のセルサイズはランドスケーププロキシのサイズと等しい設定にすることをお勧めします
  • 複数段のHLODLayer設定時、CellSizeを全て統一することで素直なHLODの切り替え動作が得られます
  • HLOD作成時間やメモリの節約、ランタイムのパフォーマンス改善のためにHLODに含める必要のない小さなアクターは積極的にInclude (Actor|Component) in HLOD のチェックを外してください
  • 小さすぎるセルサイズ設定はHLOD作成時間を増加させランタイムのパフォーマンスも低下させます
  • WorldPartitionのCell振り分けの詳細は Saved/Logs/WorldPartition/ フォルダ内のログで確認できます
1 Like