Also fixes an issue where the streaming manager was not being deleted when the landscape subsystem is deinitialized, potentially leading to a memory leak.
#rb jonathan.bard
#jira UE-218229
[CL 35113021 by chris tchou in ue5-main branch]
Here we just reset the flag post-garbage collection to ensure streaming requests aren't lost
#rb jonathan.bard
#jira UE-214866
[CL 34140073 by chris tchou in ue5-main branch]
* Added tooltip when the widget is collapsed to help the user understand what it's about without having to expand it
* Show the number of affected landscape actors even in the "dirty actors" case to help the user assess how much "out-of-date" the overall landscape is
Misc:
* Dirty actors are now handled part of out-of-date landscape proxy flags
* Optimized update by gathering all out-of-date flags at once (~33% of what it used to cost)
#rb luc.eygasier
#tests editor
[CL 32926879 by jonathan bard in ue5-main branch]
This widget will host warnings or messages with the ability to automate actions for the user.
Current actionable messages:
* Invalid Landscape grassmaps, with associated rebuild action
* Invalid Landscape physical materials, with associated rebuild action
* Invalid Landscape nanite meshes with associated rebuild action
* Invalid grassmaps, physical materials, nanite meshes will be agregated to only one message if multiple rebuild are necessary
* Landscape proxy packages needs to be updated, with associated mark dirty action
#jira UE-204527
#rb Jonathan.Bard
[CL 32224398 by luc eygasier in ue5-main branch]
This widget will host warnings or messages with the ability to automate actions for the user.
Current actionable messages:
* Invalid Landscape grassmaps, with associated rebuild action
* Invalid Landscape physical materials, with associated rebuild action
* Invalid Landscape nanite meshes with associated rebuild action
* Invalid grassmaps, physical materials, nanite meshes will be agregated to only one message if multiple rebuild are necessary
* Landscape proxy packages needs to be updated, with associated mark dirty action
#jira UE-204527
#rb chris.tchou, jonathan.bard
[CL 32190792 by luc eygasier in ue5-main branch]
Also added the number of grass exclusion volumes to `stat foliage` since the exclusion volumes can really hit performance negatively right now.
#rb jonathan.bard
#tests PIE, Win64 Client
#rnx
[CL 30485258 by emanuel masciarelli in ue5-main branch]
- Use the correct landscape material on every platform.
- Use pooled render targets for render and readback, instead of UObject based render targets that may be deallocated by GC.
- Added an optional async fetch stage controlled by a cvar and disabled by default.
- Incorporated the check for zero into the grassmap readback copy to reduce the time spent in fetch.
- Small optimization on Populated components.
- Runtime grass is disabled by default, controlled by cvar.
- Converted editable opt-in to hidden opt-out on landscape proxy settings.
#rb jonathan.bard
[CL 30190260 by chris tchou in ue5-main branch]
Intended to save disk space and runtime memory, at the cost of generating grass density maps at runtime.
Enabled per platform via cvar "grass.GrassMap.UseRuntimeGeneration" (disabled by default), and enabled per landscape via the "bUseRuntimeGrassMapGeneration" object property (also disabled by default). Both must be enabled at cook time for disk and memory savings.
Original review in Main: https://p4-swarm.epicgames.net/reviews/29027747
#rb jonathan.bard
#tests console testers tested grass in cooked builds on all platforms, I ran and profiled game projects in editor and cooked standalone, and tested grass editing in game projects in editor
[CL 29539554 by chris tchou in ue5-main branch]