はじめに
レベルをライティングビルドするときに以下の内容のエラーが発生してしまったのでこの記事ではこのエラーの対処法をメモしておきます。
<None> === Lightmass crashed: === Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Programs\UnrealLightmass\Private\Lighting\LightingSystem.cpp] [Line: 1458] Static lighting thread exception: Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\GenericPlatform\GenericPlatformMemory.cpp] [Line: 241] Ran out of memory allocating 3486253888 bytes with alignment 16. Last error msg: ページング ファイルが小さすぎるため、この操作を完了できません。. 0x00007fffb1c5b864 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb1435745 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb14504b3 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb14ba78f UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb14bc519 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007ff7196fb0b0 UnrealLightmass.exe!TArray<Lightmass::FGatheredLightMapSample,TSizedDefaultAllocator<32> >::ResizeTo() [] 0x00007ff7196df59d UnrealLightmass.exe!Lightmass::FGatheredLightMapData2D::FGatheredLightMapData2D() [] 0x00007ff7196f8c1d UnrealLightmass.exe!Lightmass::FStaticLightingSystem::ProcessTextureMapping() [] 0x00007ff7196dda92 UnrealLightmass.exe!Lightmass::FStaticLightingSystem::ThreadLoop() [] 0x00007ff7196d8886 UnrealLightmass.exe!Lightmass::FMappingProcessingThreadRunnable::Run() [] 0x00007fffb19657fe UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb195dd50 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007ff8e367257d KERNEL32.DLL!UnknownFunction [] 0x00007ff8e390aa58 ntdll.dll!UnknownFunction [] 0x00007fffb1435745 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb14504b3 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb14ba78f UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb14bc519 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007ff7196fb0b0 UnrealLightmass.exe!TArray<Lightmass::FGatheredLightMapSample,TSizedDefaultAllocator<32> >::ResizeTo() [] 0x00007ff7196df59d UnrealLightmass.exe!Lightmass::FGatheredLightMapData2D::FGatheredLightMapData2D() [] 0x00007ff7196f8c1d UnrealLightmass.exe!Lightmass::FStaticLightingSystem::ProcessTextureMapping() [] 0x00007ff7196dda92 UnrealLightmass.exe!Lightmass::FStaticLightingSystem::ThreadLoop() [] 0x00007ff7196d8886 UnrealLightmass.exe!Lightmass::FMappingProcessingThreadRunnable::Run() [] 0x00007fffb19657fe UnrealLightmass-Core.dll!UnknownFunction [] 0x00007fffb195dd50 UnrealLightmass-Core.dll!UnknownFunction [] 0x00007ff8e367257d KERNEL32.DLL!UnknownFunction [] 0x00007ff8e390aa58 ntdll.dll!UnknownFunction [] 0x00007ff719709fa0 UnrealLightmass.exe!DispatchCheckVerify<void,<lambda_5eec4f0fb0b836f5e3b32f7363c22d84>,FLogCategoryLogLightmass,wchar_t [38],wchar_t const *>() [] 0x00007ff7196cbb75 UnrealLightmass.exe!Lightmass::FStaticLightingSystem::MultithreadProcess() [] 0x00007ff719699403 UnrealLightmass.exe!Lightmass::FStaticLightingSystem::FStaticLightingSystem() [] 0x00007ff719649f5d UnrealLightmass.exe!Lightmass::BuildStaticLighting() [] 0x00007ff71966f461 UnrealLightmass.exe!Lightmass::LightmassMain() [] 0x00007ff719690e37 UnrealLightmass.exe!main() [] 0x00007ff7196ff11c UnrealLightmass.exe!__scrt_common_main_seh() [] 0x00007ff8e367257d KERNEL32.DLL!UnknownFunction [] 0x00007ff8e390aa58 ntdll.dll!UnknownFunction []
エラー文の中をよく読んでみると「Ran out of memory allocating 3486253888 bytes with alignment 16. 」書かれています。
これを日本語すると「アライメント16で3486253888バイトを割り当てたところ、メモリ不足になりました。」となります。(DeepL より)
要するに「ライティングビルドしようとしたけどメモリが足りないよ!」と言っているということですね。
対処法
対処法はいくつかありますが、ここでは主に3つ紹介します。
ライトマップ密度を修正する
まずはレベル上のスタティックメッシュのライトマップ密度を修正するという対処法です。
レベルエディタのビューポートの表示を「Lightmap Density」に変更するとライトマップ密度を視覚的に確認できますが、この表示でレベル全体が緑色になっている状態が適切かなと思います。(諸説あり)
このスタティックメッシュのライトマップ密度の修正方法は主に2つあります。
まず1つ目はレベル上のスタティックメッシュアクタごとに修正する方法です。
レベルエディタのアウトライナーでスタティックメッシュを選択し、「Details > Lighting > Overridden Light Map Resolution」の値を下げるだけです。

2つ目はそのスタティックメッシュアセットごとに修正する方法です。
そのスタティックメッシュアセットをダブルクリックしてスタティックメッシュエディタを開いて「Details > General Settings > Light Map Resolution」の値を下げるだけです。

ライティングビルドの品質を下げる
次はライティングビルドの品質を下げるという対処法です。
こちらも方法は非常に簡単で「Build > Lighting Quality」を「Preview」などに変更するだけです。
この画像の選択肢の並び方の通り、Production、High、Medium、Preview の順でライティングビルドの品質が下がっていきます。

PCのメモリを増設する
最終手段はPCのメモリを増設しましょう!
