- Strip geometry attributes from the collection when using the collection as a simulation viewer.
- Use the transferred bounds on the minimal asset for rendering bounds.
- Minor clean to expose user controllable cache only state to the GeometryCollectionObject
#jira UE-113611
#rb Brett.Miller
[FYI] Graham.Whlidal
#lockdown nick.whiting
#ROBOMERGE-OWNER: Benn.Gallagher
#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 16052869 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
#ROBOMERGE-CONFLICT from-shelf
[CL 16060655 by Benn Gallagher in ue5-main branch]
Added fence in GC to make sure the renderer is done with the Nanite resource before deleting it
#rb graham.wihlidal
#ROBOMERGE-SOURCE: CL 15786206 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)
[CL 15790745 by rune stubbe in ue5-main branch]
-- Implemented Delete Branch command.
-- Fixed bug in Exploded Value that created problems when ISMCs are present on the GeometryCollectionActor
-- Fixed but in can execute which was failing when an ISMC is attached to the actor
-- Reset correct eliminates exemplars
#jira none
#rb brice.criswell
#ROBOMERGE-SOURCE: CL 15486072 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15486118 by brett miller in ue5-main branch]
Common mistakes:
a) TRACE_CPUPROFILER_EVENT_SCOPE("Foo") or TRACE_CPUPROFILER_EVENT_SCOPE("FClass::Foo")
--> results in a timer named "Foo" or "FClass::Foo" (the quotes will be included in the name)
b) TRACE_CPUPROFILER_EVENT_SCOPE(TEXT("Foo"))
--> results in a timer named L"Foo" (L and quotes will be included in the name)
c) TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(TEXT("Other Foo")) or TRACE_CPUPROFILER_EVENT_SCOPE_TEXT("Foo")
--> Slow! It will use dynamic string matching that adds an unnecessary overhead.
Correct usage:
TRACE_CPUPROFILER_EVENT_SCOPE(Foo)
TRACE_CPUPROFILER_EVENT_SCOPE(FClass::Foo)
TRACE_CPUPROFILER_EVENT_SCOPE_STR("Other Foo") // when timer name has spaces
TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*Foo.ToString()) // only if a dynamic name is really needed
#rb Catalin.Dragoiu
#fyi Marc.Audy, Krzysztof.Narkowicz, Rune.Stubbe, Michal.Valient
[CL 15134822 by ionut matasaru in ue5-main branch]
The Nanite builder now accepts a set of meshes that will be built into a single resource with a hierarchy root for each input mesh.
Updated runtime code to use this feature for Geometry collection.
Each GC now takes up just a single root page.
Changed geometry collection serialization so Nanite data is now transient similar to how it is transient in RenderData for StaticMesh.
Added bogus serialization functions for parsing and throwing away the old Nanite data, so we don't crash when parsing old files.
#rb brian.karis, graham.wihlidal
[CL 14828108 by Rune Stubbe in ue5-main branch]
Nanite always generates LZ compressed data. All platforms share the same DDC key. Platforms that support hardware LZ decompress during platform-specific serialization.
Added LZ hardware decompression to platform properties and target platform.
#fyi Brian.Karis
#rb Graham.Wihlidal
[CL 14277717 by Rune Stubbe in ue5-main branch]
Fixed tangents not being derived resulting in no welding for mip0 of Nanite
Ignore bHasColor from mesh desc and check if any non-white.
Misc clean up
#rb rune.stubbe
[CL 14223322 by Brian Karis in ue5-main branch]
-Fixed issue where Nanite data would disappear because of serialization issues.
-Fixed issue where Nanite data would be deserialized twice on load.
-Added assert to Nanite streaming to make sure RootPages are valid.
#rb Graham.Wihlidal
[CL 14212566 by Rune Stubbe in ue5-main branch]