- Context: Nanite support is automatically enabled on all meshes so want to expose quality controls and hide controls to enable/disable Nanite support.
- Expose Nanite quality settings in Static Mesh Editor.
- Hide Nanite menu in Content Browser / Static Mesh Actions.
- Hide option to enable Nanite in FBX import options.
#preflight 63fd3bd3f43e53f6812f8067
#rb aleksander.netzel
[CL 24437086 by tiago costa in ue5-main branch]
This is an enum to say which target to reduce to for the fallback. It makes the default "Auto" which gives us more ability to change the default heuristic without needing to change uproperty defaults.
Along with this added r.Nanite.Builder.FallbackTriangleThreshold. Any mesh with source triangle count less than this threshold uses the source triangles directly for the fallback.
#rb graham.wihlidal
#lockdown marc.audy
#preflight 63f0041b1d71bcd26225228c
[CL 24330590 by brian karis in ue5-main branch]
Changed Nanite visualization mode values from bits to consecutive numbers.
Removed temporary debug cvars r.Nanite.Streaming.Debug.TrimLockRegion and r.Nanite.Streaming.Debug.PersistPageUploadBuffer
Streamer now updates of cluster leaf flags using a custom shader that preserves the other flags, so we can now support multipe cluster flags.
Moved streaming shaders to separate files.
Format updates:
-Leaf flag subdivided into 3 different flags.
--Root leaf: Clusters that are leaves when only the root data is loaded. Needed for RootData visualization.
--Streaming leaf: Clusters that are leaves with the current streaming cut. Previous leaf semantics.
--Full leaf: Clusters that are leaves when everything is fully streamed in. Useful for VSM cache invalidation heuristics.
-Added root group flag for identifying groups that are fully inside the streaming cut (needed for RootData visualization).
-Added hierarchy depth to pages. Useful for bounding number of passes for multipass culling.
#rb graham.wihlidal
#fyi brian.karis, jamie.hayes
#preflight 63f36aed81646f1f249f2c76
[CL 24312697 by Rune Stubbe in ue5-main branch]
Displacement map array added to UStaticMesh Nanite settings.
UI is still a bit WIP
#rb graham.wihlidal
#preflight 638a9e83cb3b754183a01555
[CL 23381627 by Brian Karis in ue5-main branch]
- Skeletal mesh is now import using the skeletalmesh compile system to make sure all properties are locked and will stall another thread trying to access them.
---- This fix multiple crash if a viewer display the skeletal mesh and use some properties.
- Remove animation pipeline ensure(no skeleton) if we import with force static mesh and there is some translated animation node
- Fix crash when importing static mesh and the get mesh payload return an empty mesh description
- Reimport of skeletalmesh is not calling anymore postedit change if we reimport with interchange, interchange will call it in a post edit step.
---- This fix multiple crash if a viewer display the bones of the re-import skeletal mesh.
General:
- Reimport handler now have a reimport async version so the caller can control if a reimport is done asynchronously or synchronously
#jira UE-166986
#rb danny.couture , jeanluc.corenthin
#rnx
#lockdown jeanmichel.dignard
#preflight 634f61fdec03b54e9cdfe0bf
[CL 22634973 by alexis matte in ue5-main branch]
This aims to preserve the surface area during simplification. If area is lost, open boundary edges of the mesh are dilated to compensate. This is useful for foliage that tends to thin out in the distance if not enabled.
Also include misc fixes:
Collapses that completely remove disjoint triangles have an error of the area of what was removed.
Would not alias 0 and -0 verts due to binary comparison.
#rb graham.wihlidal
#preflight 63349e32141f314ed601978d
#ushell-cherrypick of 22229630 by Brian.Karis
#preflight 6334c401f418a1071a35b4a4
[CL 22260505 by graham wihlidal in ue5-main branch]
- Static mesh editor LOD number not updated when importing custom LOD asynchronously
- Static mesh reimport LOD with new file need to dirty the ddc key
- Gltf translator must set a valid local transform on the root scene node
#jira none
#rnx
#rb jeanmichel.dignard
#preflight 632a800afc7f1efbdf781075
[CL 22113972 by alexis matte in ue5-main branch]
- If a static mesh is detected to use Nanite or a project is configured to use Virtual Shadow Maps and SM6 is not in the project settings, show a warning that SM6 needs to be enabled.
- Both cases only warn if the project was already configured to use a D3D platform.
- Added a UI option for enabling Nanite in project settings.
#jira UE-162011
#rb mihnea.balta
#preflight 6324cabf5f55ba280e1fb164
[CL 22064124 by christopher waters in ue5-main branch]