☁️

UE5.2/5.3でのLidarPointCloudプラグインのエラー対応法

2023/10/17に公開

この記事で解説すること

UE5.2/5.3にて点群ファイル周りで下記のエラーに遭遇しました。
これらの対応方法について記録しておきます。

UE5.3でのエラー

点群ファイルをコンテンツブラウザに取り込んでパッケージングすると、エラーが発生してパッケージングに失敗する

発生したエラー

UATHelper: パッケージ化 (Windows): LogWindows: Error: appError called: Assertion failed: DataResource.SerialSize == DataResource.RawSize [File:D:\build\++UE5\Sync\Engine\Source\Developer\IoStoreUtilities\Private\PackageStoreOptimizer.cpp] [Line: 559]
UATHelper: パッケージ化 (Windows): Compressed bulk data is not supported in cooked builds

UE5.2でのエラー

点群をマップ上に配置してパッケージングもしくはエディタを再起動すると、点群の形が崩れる
(下記画像のように、Actorの原点や軸に点が集約されてしまう)

余談ですが、このエラーはコンテンツブラウザに配置した点群に対してのみ発生し、PC内の点群ファイルをランタイムロードした際には発生しませんでした。

対処方法

それぞれのバージョンでの対応策を記載します。

UE5.3のエラー対処法

プロジェクト設定(Project Settings)>パッケージング(Packaging)>Ioストアを使用(Use Io Store)
のチェックをオフにする

参考情報:
Packaging a pointcloud does not work "Compressed bulk data is not supported in cooked builds" - Development / Platform & Builds - Epic Developer Community Forums

UE5.2のエラー対処法

この現象はUnreal Engineのバグになります。(UE5.3で修正されました)

バグチケット:
Unreal Engine Issues and Bug Tracker (UE-177243)

UE5.2では、上記バグのFix Commitの内容を自プロジェクトに取り込むことで解決しました。

  1. (C++プロジェクトでない場合は新規に適当なC++クラスをUEエディタから作成してC++プロジェクトに変換しておく)
  2. エンジン内のLidarPointCloudプラグイン(デフォルト設定だとC:\Program Files\Epic Games\UE_5.2\Engine\Plugins\Enterprise\LidarPointCloudにあるはず)をフォルダまるごとコピーして、自プロジェクトの\Plugins\Enterprise\LidarPointCloudに貼り付ける
  3. Fix Commitと同じ修正を2でコピペした自プロジェクト内のLidarPointCloudプラグインに対して実施する(LidarPointCloudOctree.hとLidarPointCloudOctree.cppを修正する)
  4. Visual Studioでビルドもしくは自プロジェクトの\Plugins\Enterprise\LidarPointCloudフォルダ内のBinariesとIntermediateフォルダを削除してUEエディタを起動→ビルドさせる
  5. パッケージング時にエラーが発生した場合は、UE5.3の対処法と同様に「Ioストアを使用(Use Io Store)」のチェックをオフにする

Discussion