Commit Graph

124 Commits

Author SHA1 Message Date
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
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
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
bryan sefcik
93b6bde4c9 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 24253387 by bryan sefcik in ue5-main branch]
2023-02-16 04:16:21 -05:00
cedric caillaud
bb4d124241 Geometry collection : fix warning when cooking GC with p.Chaos.GC.EnableCollisionParticles set to 0
- use skip attribute method instead of post copy remove attribute one

#rb benn.gallagher
#preflight none

[CL 24205978 by cedric caillaud in ue5-main branch]
2023-02-14 01:21:20 -05:00
cedric caillaud
90ae3d5dff geometry collection : add cvar to enable/disable collision particles on geometry collection
#rb benn.gallagher, brice.criswell, vincent.robert
#preflight

[CL 24138252 by cedric caillaud in ue5-main branch]
2023-02-11 13:04:49 -05:00
jimmy andrews
92852cf5b1 rework how internal faces are tracked and assigned materials in geometry collections:
- add explicit tracking of internal surfaces in fracture geometry, and remove concept of 'internal-only' materials in odd-numbered slots.
- add tooling to set internal materials, and to set default internal materials to be assigned on fracture
- add option to preserve internal face data via odd material numbers in ToMesh tool + option to re-import these ToMesh outputs w/ internal material IDs set

#rb cedric.caillaud
#rb david.hill
#preflight 63e66867de74ffbae51e5dc7
#jira UE-165320

[CL 24136970 by jimmy andrews in ue5-main branch]
2023-02-11 12:37:57 -05:00
cedric caillaud
3c0e88d76b Geometry collection : fix warning when cooking with strip on cook enabled ( non-nanite code path )
#rb none
#preflight 63e1c8f014326f9a4096c097

[CL 24045279 by cedric caillaud in ue5-main branch]
2023-02-07 00:30:09 -05:00
jimmy andrews
000eda2356 move geometry collection bone selected material out of the user-exposed materials array for new geometry collections
#rb cedric.caillaud
#preflight 63e131114d25c400b7119455

[CL 24040296 by jimmy andrews in ue5-main branch]
2023-02-06 18:02:08 -05:00
cedric caillaud
1a2086a540 Geometry collection : fix code to support removal of geometry, vertex and face groups when nott using nanite ( to properly support StripOnCook for ISMPool )
- Better support for bounds computation using transform bounding box attribute ( this code path can now use ISPC )
- make sure that using ISMPool is equivalent to having visible geometry in the TickComponent method

#rb benn.gallagher
#preflight 63dcc0fcc2257e56f4919a6a

[CL 24009697 by cedric caillaud in ue5-main branch]
2023-02-04 00:32:04 -05:00
cedric caillaud
bfe2716bf7 Chaos : fix SetEnableNanite to not call CreateNaniteData outisde of the editor builds
#rb none
#preflight none

[CL 23961645 by cedric caillaud in ue5-main branch]
2023-02-01 19:44:59 -05:00
cedric caillaud
113cf52b89 Chaos : fix function being only built for Editor
#rb trivial
#preflight none

[CL 23961598 by cedric caillaud in ue5-main branch]
2023-02-01 19:43:43 -05:00
cedric caillaud
e449c8aa62 Geometry Collection , add setter on EnableNanite UProperty
#rb trivial
#preflight none

[CL 23961546 by cedric caillaud in ue5-main branch]
2023-02-01 19:41:36 -05:00
jimmy andrews
829a30210c rework how UVs are accessed in geometry collection: make each UV layer a separate attribute, so it is impossible to have an inconsistent number of UVs per vertex, and we do not allocate so many small arrays. Provide a variety of helper functions to make the transition as easy as possible.
#rb cedric.caillaud
#rb brice.criswell
#preflight 63d074be976daa618cdcd957

[CL 23844522 by jimmy andrews in ue5-main branch]
2023-01-25 01:36:28 -05:00
cedric caillaud
123ee3f107 Geometry collection : when reseting a geometry collection from another, make sure to only recreate convex hulls if necessary
#rb none
#preflight 63cf34c2ef20a5272ddee37b

[CL 23826389 by cedric caillaud in ue5-main branch]
2023-01-23 21:44:00 -05:00
cedric caillaud
d4a7d1e29b Remove dataflow from cook builds
#rb brice.criswell
#preflight 6398e11935203bc7aa8a2f4f

[CL 23500216 by cedric caillaud in ue5-main branch]
2022-12-13 18:29:19 -05:00