【UE5】WorldPartitionとHLODレイヤーについて(’24/09/04 追記)
■はじめに
UE5.3とUE5.4ではUIに差異があります。
そのためこの記事ではUE5.4.2を使用しての解説になりますので、ご注意ください。
■概要
新規でWorldPartitionシステムを有効にして生成されたレベルデータですが、生成と同時にHLODレイヤーが二つ一緒に生成されます。これって何だろう?となる人が大半ではないでしょうか?
そこで、これらについて知見を深めていきたいと思います。
■WorldPartitionて何?
WorldPartitionとは何をするシステムなんだ?
それは、簡単にいえばUEで背景を構築する方法が増えたということです。
- パーシスタントレベルを用意しサブレベルを読み込み、サブレベルを担当が編集しデータを管理する(従来)
- 一つのレベルデータを複数人で同時に編集しデータレイヤー1で管理する(WorldPartition)
ほかにストリーミング制御も関係してきますが、上記の内容で理解しておくとよい。
WorldPartitionとは、複数人で一つのデータを管理でき、さらにストリーミングも実装されている状態をはじめから提供してくれるということ。
■HLODレイヤーって何だ!?
新規レベルでWorldPartitionシステム用のレベルを作成し保存するとHLODレイヤーが一緒に保存されます。これはLOD2を制御するものでHは”hierarchy”(階層)という意味です。
HLODは複数のスタティック メッシュ アクタを編成して、遠景の単一のプロキシ メッシュとマテリアルに組み合わせます。この方法により、シーンのレンダリングに必要なアクタ数を減らすことができ、フレームあたりのドローコール数を減らしてパフォーマンスを向上させることができます。
HLODレイヤーとは、カメラから遠くにある複数のアクタをLOD化しグループにしてパフォーマンスを上げることができるということです。
※追加記述(’24/09/049/04 UE5.4.4を使用しています)
ユーザーが任意でHLODレイヤーを生成し、レベルデータに割り当てたい場合は、上図の3つの差し替えを行うことで割り当てることが可能になります。
インデックスの各名前を確認すると割り当てるべきHLODレイヤーの種類がわかりますので、確認してください。
■詳細
- データレイヤーについての記事を別で用意しているので参照してください。
https://3zu4ma.net/?p=178 ↩︎ - Level of Detailの略で、カメラからの距離に応じてモデルのディテールを切り替え、シーンの計算負荷を軽減する方法 ↩︎