ModelingTools: Add option to Weld Tool to try to resolve T-junctions. Add feedback to report back the initial and final number of open boundary edges.
#rb jimmy.andrews
#preflight 62a260e48b67b148f2600dd8
[CL 20585253 by Ryan Schmidt in ue5-main branch]
GeometryCore: Add bClearExisting option to FDynamicMeshAttributeSet::EnableMatchingAttributes(). Default true is old behavior. New behavior, when false, is to preserve existing attribute set counts/values. Also now copying group and weight layer names if not set.
ModelingTools: CombineMeshesTool now uses EnableMatchingAttributes instead of only explicitly matching UV layers, so group and weight layers are copied properly to duplicates
MeshConversion: DynamicMeshToMeshDescription now generates unique names in ConvertPolygroupLayers and ConvertWeightLayers. Previously if multiple attribs had the same name (eg NAME_None), output MeshDescription would only have a single attrib w/ that name
#rb david.hill
#preflight 62a116439a3e81e904dde76f
[CL 20570919 by Ryan Schmidt in ue5-main branch]
Add FAsyncTaskExecuterWithProgressCancel to allow the progress to be reported back to the calling thread
Implement initial usage in Voronoi fracture, using an FSlowTask to handle the progress bar and cancel button UI
#rb semion.piskarev
#preflight 629a68d8d204bca667d2e578
[CL 20516367 by Jimmy Andrews in ue5-main branch]
all the voxels in a block far from the mesh surface should share the same state (inside or outside) for water-tight meshes, but the counting method used for sign assignment may produce odd results for non water-tight meshes where the block may have both inside and outside elements. this change accounts for that behavior.
#preflight 629528bc91004dd61c9d6b00
#rb Tyson.Brochu
[CL 20438913 by David Hill in ue5-main branch]
1. Actually use the SpatialLevels argument
2. Only allow early stopping at level boundaries, so the priority ordering can properly sort points at the same spatial level. Fixes points being spatially clumped when early stopping is enabled.
3. Stop referring to some of the importance weights as "curvature" (we often weight by things other than curvature)
4. Expose OffsetResFactor to allow more control of how clumpy the distribution is (value was hardcoded at 4, but I think 1 or 2 tends to space things better)
#rb david.hill
#preflight 628fb6d48c23e52ef0fbec28
[CL 20381323 by Jimmy Andrews in ue5-main branch]
Should be faster in most practical cases, though can be slower if an inserted edge must cross a lot of existing edges.
#rb rinat.abdrashitov
#preflight 62845c74ac1a933d478fcc0b
[CL 20261922 by Jimmy Andrews in ue5-main branch]
Benchmark configuration:
- Test scene with 4 meshes: a mossy stone nanite mesh, a beach ball, a ball with an emissive blue cross and a hut mesh
- Target mesh: 11.8k triangles mesh, created by voxel wrapping the meshes in the test scene elements
- 4096x4096 output texture with 16x multisampling baking BaseColor, Emissive, PackedMRS and Normal maps
- 4096x4096 photo capture resolution
Unreal Insights reports the following times for the Bake call:
- Before this change: 2 mins 45 seconds
- After this change: 55.9 seconds
Aside: (Unaffected by this change) In both cases the photo capture, which is done on the game thread, took about 1 min
#jira none
#rb
#rnx
#preflight 627e64e01748fbc85bb24a42
[CL 20221383 by matija kecman in ue5-main branch]