- Fix an issue where building a static mesh could change its own DDC key, causing duplicate render data to be cached and built.
- Fix an issue where static mesh DDC could have the Nanite resources stripped differently between Nanite and non-Nanite platforms that share cache.
Nanite builder fix (from Rune.Stubbe):
- Fixed rare builder crash when cluster group has to be split into more than 8 parts
#rb graham.wihlidal
#jira UE-220876, FORT-768796
[FYI] thierry.begin, jonathan.bard, rune.stubbe
[CL 35571580 by jamie hayes in ue5-main branch]
* Stop using Nanite builder to generate the first reductions of fallback LOD, and instead only use Nanite to generate the first LOD, and perform the reductions with the mesh reduction module.
* Split out parts of the Nanite build portion of static mesh to prepare for upcoming changes (Nanite Assemblies) that will require building Nanite meshes with multiple inputs for the same static mesh.
* Re-introduce a Nanite DDC data fix since these changes require version bumps anyway.
#rb brian.karis
#jira UE-207151
[CL 35004573 by jamie hayes in ue5-main branch]
- members of FStaticMeshRayTracingProxy can point to either ray tracing specific mesh data or reuse the rendering LODs (in this initial CL only rendering LODs are supported).
#rb aleksander.netzel
#jira UE-216293
[CL 34054854 by tiago costa in ue5-main branch]
- only create FRayTracingGeometry objects if ray tracing is enabled on static mesh, project and platform.
#rb aleksander.netzel, Kenzo.Terelst
[CL 33969193 by tiago costa in ue5-main branch]
- don't modify DDC key based on cvar since it doesn't impact LOD generation since CL 18820056.
- removed bGenerateCoarseMeshStreamingLODs parameter from a few functions since it isn't used anymore.
#rb brian.karis
#prelight 652516f53a59af0b367fbd0b
[CL 28614902 by tiago costa in ue5-main branch]
[FYI] Alexis.Matte
Original CL Desc
-----------------------------------------------------------------
Make sure Hires mesh number of sections match LOD 0 number of sections.
#jira UE-194416
#rb jeanluc.corenthin
#rnx
[CL 27853575 by alexis matte in ue5-main branch]
Only leaving CL 26157603 reverted since accessing GenerateSource in FDistanceFieldVolumeData::CacheDerivedData is not safe due to async mesh compilation.
#prelight 64948190a26e02126bc0a64f
#rb Krzysztof.Narkowicz
[CL 26206875 by tiago costa in ue5-main branch]
[FYI] tiago.costa
Original CL Desc
-----------------------------------------------------------------
Use FSignedDistanceFieldBuildSectionData when generating distance fields for Nanite meshes.
Context:
- Nanite meshes distance fields are generated using the original mesh data instead of the coarse representation generated by Nanite, however that code path was not checking section data such as blend mode, two sided, etc.
Fix:
- Modified FStaticMeshBuilder::BuildMeshVertexPositions(...) to also output a FStaticMeshSectionArray.
- Updated MeshRepresentation::SetupEmbreeScene(...) to check section flags when using SourceMeshData.IsValid() code path.
#prelight
#rb Krzysztof.Narkowicz
[CL 26174853 by bob tellez in ue5-main branch]
Context:
- Nanite meshes distance fields are generated using the original mesh data instead of the coarse representation generated by Nanite, however that code path was not checking section data such as blend mode, two sided, etc.
Fix:
- Modified FStaticMeshBuilder::BuildMeshVertexPositions(...) to also output a FStaticMeshSectionArray.
- Updated MeshRepresentation::SetupEmbreeScene(...) to check section flags when using SourceMeshData.IsValid() code path.
#prelight
#rb Krzysztof.Narkowicz
[CL 26160411 by tiago costa in ue5-main branch]