95 Commits

Author SHA1 Message Date
henrik karlsson
562dc45ab9 [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082288 by henrik karlsson in 5.3 branch]
2023-06-17 18:14:12 -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
cedric caillaud
173be81199 Geometry collection : Expose Damage model property to blueprints
#rb trivial
#preflight none

[CL 25549123 by cedric caillaud in ue5-main branch]
2023-05-19 14:44:02 -04:00
cedric caillaud
538112ae9e Dataflow : add extra outputs to override nodes
- Add IsOverriden and typed Default value
- Expose Geometry collection Overrides map to blueprint
- Change display name of a Overrides map to DataFlow Overrides

[FYI] jack,oakman, gustav.melich
#rb gustav.melich, brice.criswell
#preflight 645bfbbcaa3c584c0bf86746

[CL 25420151 by cedric caillaud in ue5-main branch]
2023-05-10 20:28:16 -04:00
robert millar
d9b4700aa0 Markup up native serializers for object ref archives
#rb none

[CL 25415965 by robert millar in ue5-main branch]
2023-05-10 16:34:18 -04:00
cedric caillaud
2e6a07c611 Dataflow (Submitted on behalf of gustav.melich)
- Added GetFloatOverrideFromAsset, GetIntOverrideFromAsset, GetBoolOverrideFromAsset, GetStringOverrideFromAsset nodes
- Added 'Overrides' property to GC asset
- Added override node invalidation when 'Overrides' property gets changed on the asset
- bug fixes

[FYI] gustav.melich, jack.oakman
#rb Brice.Criswell, Cedric.Caillaud
#preflight 645aecf59f4768296389997d

[CL 25399653 by cedric caillaud in ue5-main branch]
2023-05-10 01:08:51 -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
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
jeremy moore
815fa2643c Add support for setting custom renderer class on geom collection asset or component.
Deprecate oldd ISMPool setting so that it uses UGeometryCollectionISMPoolRenderer which has old behavior.
#preflight 642a3f33c6769c60822ad366
#preflight 642ab6c1d6069e71b17521e7

[CL 24892140 by jeremy moore in ue5-main branch]
2023-04-03 10:06:24 -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
cedric caillaud
02baac011d geometry collection : make scale on removal read write for blueprints
#rb trivial
#preflight none

[CL 24643822 by cedric caillaud in ue5-main branch]
2023-03-14 16:45:20 -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
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
jeremy moore
644ac38dc2 GeometryCollection object can store custom instance data to pass to instances spawned in ISM pools.
Also add a per component custom data which, if present, is added to all ISM pool instances that the component generates.
#preflight 6409444bcf5fe1e28c0e065c

[CL 24571716 by jeremy moore in ue5-main branch]
2023-03-08 23:38:52 -05:00
cedric caillaud
280dc6f9e0 Geometry collection : move rendering and nav updates from TickCOmponent to PostPhysicsUpdate
- also cache RootIndex in Geometry collection asset to avoid scanning through all the transforms each time to find it

#rb benn.gallagher, jimmy.andrews
#preflight 64017a41d249add4a224c288

[CL 24509670 by cedric caillaud in ue5-main branch]
2023-03-03 18:14:55 -05:00
cedric caillaud
eb7934f982 Fix missing headers causing non-unity build errors
#rb none
#preflight none

[CL 24469560 by cedric caillaud in ue5-main branch]
2023-03-01 15:44:13 -05:00
cedric caillaud
0cd0bf63e1 Geometry collection : GC asset now supports AssetUserData
#rb logan.harvell
#preflight 63fee4f6437ce3e7f3d53619

[CL 24469513 by cedric caillaud in ue5-main branch]
2023-03-01 15:43:03 -05:00
cedric caillaud
519c695b42 Destruction builder : set import data on geometry collection assets
#rb none
#preflight 63f9b7631206d91a2b2479bc

[CL 24418000 by cedric caillaud in ue5-main branch]
2023-02-26 07:19:14 -05:00
bryan sefcik
a325a91dd1 Updated the "AutoInstances" meshes to not add to the ISMPool until they are needed.
Deprecated the FSoftObjectPath "StaticMesh" property in FGeometryCollectionAutoInstanceMesh and replaced it with a TObjectPtr<UStaticMesh> Mesh property. This fixes an issue where asserts would fire because we were doing sync loads after the loadscreen.
These changes saved roughly 100MBs in our test level.

#jira
#rb cedric.caillaud
#preflight 63f846e9c35a14198085d30e

[CL 24406749 by bryan sefcik in ue5-main branch]
2023-02-24 15:00:49 -05:00
jeremy moore
6d354ea7d8 #jira UE-177467
Add flag for strip render data on cook to Geometry Collection.
This can be used if we have a non-native rendering replacement such as using ISM pools.
Added p.GeometryCollectionAssetForceStripRenderDataOnCook as a per-project way to force this.
#preflight 63f64517ff5afbbb03b47a1a

[CL 24370976 by jeremy moore in ue5-main branch]
2023-02-22 17:30:06 -05:00
jimmy andrews
24982da9e9 fix mesh paint not updating vertex colors for geometry collection + losing exploded vectors on finishing paint transactions
#rb jeremy.moore
#preflight 63f0437b61378b7ea05d43d1

[CL 24298076 by jimmy andrews in ue5-main branch]
2023-02-18 00:01:10 -05:00
bryan sefcik
aa3b70f03b [Backout] - CL24251176
[FYI] bob.tellez
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL24248607
[FYI] bryan.sefcik
Original CL Desc
-----------------------------------------------------------------
Updated the static mesh property("RootProxy") in UGeometryCollection to be a FGeometryCollectionProxyMeshData which currently contains an array of static meshes.
Deprecated the old RootProxy property in UGeometryCollection. Old data will still work.

#rb cedric.caillaud
#preflight 63ed6ac996073a3e191d8b6d

[CL 24265247 by bryan sefcik in ue5-main branch]
2023-02-16 14:21:21 -05:00
jeremy moore
1cae9c2d97 Move all immutable geometry collection rendering data into the geometry collection asset.
This is built as part of geometry collection DDC contents.
Reworked scene proxy to use this data. Some big changes there:
* Tidied up hit proxy code so that all hit proxy clients use the same path.
* Removing of internal faces are now handled without an additional index buffer by always storing internal faces at the end of a section and providing different section descriptions for including internal faces.
* Dynamic geometry hiding in editor is now done by zeroing transforms instead of rebuilding the index buffer.
#rb cedric.caillaud
#preflight 63edc2e55c7bd278c11efe51

[CL 24261113 by jeremy moore in ue5-main branch]
2023-02-16 12:40:53 -05:00
bob tellez
dbae1e7125 [Backout] - CL24248607
[FYI] bryan.sefcik
Original CL Desc
-----------------------------------------------------------------
Updated the static mesh property("RootProxy") in UGeometryCollection to be a FGeometryCollectionProxyMeshData which currently contains an array of static meshes.
Deprecated the old RootProxy property in UGeometryCollection. Old data will still work.

#rb cedric.caillaud
#preflight 63ed6ac996073a3e191d8b6d

[CL 24253444 by bob tellez in ue5-main branch]
2023-02-16 04:18:45 -05:00