Commit Graph

147 Commits

Author SHA1 Message Date
matt peters
d96bd0db63 GeometryCollection Indeterminism: Fix crash due to not calling ValidateSizeSpecificDataDefaults when it is saved; the validation done during serialize is needed in some cases.
Crash repro instructions: create a new worldpartition level, add cube, create a level instance from that cube.
#rnx
#rb matt.peters
#rbself Fixing build break

[CL 30293351 by matt peters in ue5-main branch]
2023-12-13 10:30:16 -05:00
matt peters
944e81486e GeometryCollection Indeterminism: Prevent ValidateSizeSpecificDataDefaults from being called on the default GeometryCollection object when it is serialized. Validate only needs to be called when loading and calling it other times (e.g. ObjectCollector archives) can incorrectly trigger it on the default object. If the default object has ValidateSizeSpecificDataDefaults, then it will afterwards change the save serialization of instances that have SizeSpecificData equal to the default values constructed by ValidateSizeSpecificDataDefaults.
#jira UE-202374
#rnx
#rb cedric.caillaud

[CL 30274488 by matt peters in ue5-main branch]
2023-12-12 15:31:22 -05:00
jeremy moore
1850f5c0e5 [Backout] - CL28697429
[FYI] bob.tellez
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL28695704
[FYI] Jeremy.Moore
Original CL Desc
-----------------------------------------------------------------
Store transform remap array for AutoInstanceMeshes in the geometry collection object.
This allows it to be calculated and stored once, for reference by multiple component instances.

[CL 28699292 by jeremy moore in ue5-main branch]
2023-10-11 23:17:16 -04:00
bob tellez
d776ae3ea2 [Backout] - CL28695704
[FYI] Jeremy.Moore
Original CL Desc
-----------------------------------------------------------------
Store transform remap array for AutoInstanceMeshes in the geometry collection object.
This allows it to be calculated and stored once, for reference by multiple component instances.

[CL 28697464 by bob tellez in ue5-main branch]
2023-10-11 21:57:26 -04:00
jeremy moore
5fc0e30c40 Store transform remap array for AutoInstanceMeshes in the geometry collection object.
This allows it to be calculated and stored once, for reference by multiple component instances.

[CL 28695736 by jeremy moore in ue5-main branch]
2023-10-11 20:57:17 -04:00
cedric caillaud
06fe2a2f03 fix comment as per review
#rb trivial

[CL 28686640 by cedric caillaud in ue5-main branch]
2023-10-11 18:11:54 -04:00
cedric caillaud
919458fb26 Make sure auto instance meshes array does not contain duplicates when generating geometry collection from Dataflow
- Add a SetAutoInstanceMeshes method to geometry collection asset that rem,ove duplicates and re-assign the auto instance indices as well as consolidating per instance primitive data
- call this method when setting the array when creating the asset in the geometry collection terminal node

#rb jeremy.moore

[CL 28686547 by cedric caillaud in ue5-main branch]
2023-10-11 18:10:36 -04:00
cedric caillaud
86dd65778d Compute component space transform optimization
Store breadth first order indices for transform on the rest collection

#rb benn.gallagher, vincent.robert, brice.criswell
[FYI] jeremy.moore

[CL 27652487 by cedric caillaud in ue5-main branch]
2023-09-06 17:00:17 -04:00
louisphilippe seguin
36c722f3c4 Fix wrong printf parameters in checkf & ensuremsgf found in engine code
#rb Fabian.Giesen, Kirill.Zorin
#rnx

[CL 27519547 by louisphilippe seguin in ue5-main branch]
2023-08-31 08:56:30 -04:00
cedric caillaud
61000b99b1 Add damage modifier to physics material and an option in Geometry Collection asset to opt for it
#rb steven.barnett

[CL 26918152 by cedric caillaud in ue5-main branch]
2023-08-08 11:31:47 -04:00
michael forot
6e4094da3e Chaos implicit object ref counted ptr + union simple shapes (WIP)
#rb chris.caulfield

[CL 26722951 by michael forot in ue5-main branch]
2023-07-31 17:46:47 -04:00
michael bao
5e026e9749 fix nullptr access on PhysicsMaterial instead of PhysicsMaterialForDensity in caching/computing mass/density in the geometry collection
[FYI] cedric.caillaud

[CL 26689621 by michael bao in ue5-main branch]
2023-07-28 17:50:05 -04:00
cedric caillaud
c7fa6954f0 Fix mass calculation for geometry collections when overriding materials on the component
#rb michael.bao, steven.barnett

[CL 26679228 by cedric caillaud in ue5-main branch]
2023-07-28 13:39:56 -04:00
robomerge
2e34b6a655 Make geometry collection convert vertex colors to sRGB when converting from FLinearColor to the render buffer FColor for new geometry collections.
For old geometry collections, keep the old behavior so that vertex colors are not changed unexpectedly on existing assets.  Add a bool on the UGeometryCollection asset object to let user control whether the conversion is performed.

#rb brice.criswell

[CL 25934820 by robomerge in ue5-main branch]
2023-06-12 15:24:20 -04:00
graham wihlidal
f44e4131c5 Changed Nanite::FResources member on static mesh render to an abstracted TPimplPtr<> to fully decouple NaniteResources.h from StaticMeshResources.h, avoiding costly full engine rebuilds whenever we iterate on Nanite, and provide us a mechanism going forward to move more of our API private.
#rb brian.karis, rune.stubbe
#fyi christopher.waters, juan.canada, yuriy.odonnell, henrik.karlsson
#preflight 6470360127390642751d5d60

[CL 25638055 by graham wihlidal in ue5-main branch]
2023-05-26 00:55:23 -04:00
cedric caillaud
f535dbceb1 Add material based damage model using strain system
#rb michael.bao, jon.sourbeer
#preflight 64558dadd77a82d6a7999438

[CL 25365534 by cedric caillaud in ue5-main branch]
2023-05-06 02:23:36 -04:00
cedric caillaud
7deb463ff3 Fix non-unity compilation issue
#rb none
#preflight none

[CL 25224083 by cedric caillaud in ue5-main branch]
2023-04-27 17:31:13 -04:00
cedric caillaud
a01c9f5fef Add physics material option on geometry collection asset
- Add the ability to use density from the assigned material  ( or the overriden ones on the component )
- Add ability to apply default from asset on the component  ( as a button )
- Hide mass and inertia scale implementation details as functions  in physics proxy
- Move density converstion functions to MassProperties chaos headers

#rb chris.caulfield, steven.barnett
#preflight 644ab0f509453df5487025a1

[CL 25221949 by cedric caillaud in ue5-main branch]
2023-04-27 15:40:42 -04:00
jimmy andrews
89bf9e542b support exporting contact areas from proximity tool to connection graph for use in physics
+ change connection graph representation to be an array of graph edges, rather than a TSet per transform of connected transforms, and add associated data migration

#rb cedric.caillaud
#preflight 643d717ddb681113a4aad68d

[CL 25072442 by jimmy andrews in ue5-main branch]
2023-04-17 15:22:06 -04:00
cedric caillaud
33825d2516 Geometry collection : fix issue where exploded vectors would remain in the collection uninitialized after executing a dataflow causing global matrices to have NaNs translations and potentially causing bounds computation to generate bogus results
- Implemented the inherited Reset method overrides for FTransformCOllection and FGeometryCollection
- Fixed a bug when resizing a birtarray based managed array
- Geometry collection asset ResetFrom method now calls Reset on the FGeometryCollection object
- Added an optional check for Nans for global matrices

#rb jeremy.moore, brice.criswell
#preflight 64223c8bc42c7fd1cbb77c34

[CL 24814607 by cedric caillaud in ue5-main branch]
2023-03-27 23:42:56 -04:00
cedric caillaud
d26d360663 Add support for custom primitive data for geomtetry collection
#rb jeremy.moore
#preflight 6421e051c42c7fd1cb99a33d

[CL 24811720 by cedric caillaud in ue5-main branch]
2023-03-27 18:52:40 -04:00
cedric caillaud
1d819cbbb9 Fix issues with regenerating geometry collection using the destruction builder script
- Fixed broken rendering in thumbnail after re-exporting a geometry collection a different layout / number of transforms
- Loaded components ( including the one in blueprints ) are now properly updated when the geometry collection asset is updated
- Fixed the thumbnail renderer crashing after re-exporting an asset and opening its editor
- Added check for size of arrays passed to the geometry group based bounds calculation

#rb none
#preflight 64115af170639dfc94a497b5

[CL 24656950 by cedric caillaud in ue5-main branch]
2023-03-15 12:59:39 -04:00
matt breindel
219568ba36 New GeometryCollection helpers for getting allocation info.
[REVIEW] [at]*chris.caulfield
#preflight 640b84c3c41a0a2a77b91fcd

[CL 24601861 by matt breindel in ue5-main branch]
2023-03-10 20:20:40 -05:00
cedric caillaud
cab44d85eb Fix static analysis error related to 24596576
#rb trivial
#preflight none

[CL 24601498 by cedric caillaud in ue5-main branch]
2023-03-10 20:05:22 -05:00
cedric caillaud
411a3d5a09 Geometry collection : optimize scale on remove feature
- Add oiptions on the GC asset to disable scale on remove, saving transform computation
- Remove the "UniformScale" attribute on the dynamic collection ( saving a FTransform per piece per compoinent )
- Move update of transform from decay from CalculateGlobalMatrices to the post physics update callback
- Make better use of the collection decay facade throughout the remove on sleep and remove on break code

#rb brice.criswell, benn.gallagher, matt.breindel
#preflight 640a9b767e654e2e655b335a

[CL 24601490 by cedric caillaud in ue5-main branch]
2023-03-10 20:05:11 -05:00