Meshes built from Interchange have uninitialized bounds

UStaticMesh has a member TUniquePtr<class FStaticMeshRenderData> RenderData,

and FStaticMeshRenderData has a member FBoxSphereBounds Bound.

UStaticMesh class has a UProperty named doFastBuild.

So, bellow is the part of the UstaticMesh structure

  • UStaticMesh
    • uint doFastBuild
    • FStaticMeshRenderData RenderData
      • FBoxSphereBounds Bounds

doFastBuild is set to true only when a mesh is built from FChaosVDGeometryBuilder and UInterchangeStaticMeshFactory classes.

When this attribute is set to true, the cached data of UStaticMesh instance has uninitialized `RenderData->Bounds`.

And this gives error messages in the mesh SDF generation.

When a UStaticMesh instance is built with doFastBuild set to true, `RenderData->Bounds` is set by copying the bounds of LOD 0's Bounds.

https://github.com/EpicGames/UnrealEngine/blob/5.6/Engine/Source/Runtime/Engine/Private/StaticMesh.cpp#L8467

However, its render data cache is saved without initializing `RenderData->Bounds`.

https://github.com/EpicGames/UnrealEngine/blob/5.6/Engine/Source/Runtime/Engine/Private/StaticMesh.cpp#L4042-L4070

My pull request to fix the issue.

https://github.com/EpicGames/UnrealEngine/pull/13746/files