Commit Graph

291 Commits

Author SHA1 Message Date
jeremy moore
4af0cb0770 Added ISM pool debug component.
Currently allows ISM selection and some debug bounds/stats.
#preflight 64090c8ca92b27de3c553c5c

[CL 24571870 by jeremy moore in ue5-main branch]
2023-03-09 00:00:20 -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
steven barnett
b7e1143582 Add InitialRootIndex to simulation parameters to make it accessible on physics thread
#rb cedric.caillaud
#preflight 24534058

[CL 24546560 by steven barnett in ue5-main branch]
2023-03-07 15:16:22 -05:00
vincent robert
37b60655c2 Add MaxSimulatedLevel in Geometry Collection that allows not to create particles from the input level and the beyond.
#jira UE-176884
#rb cedric.caillaud
#preflight 64066b7b3206d45d2037fbf0

[CL 24534469 by vincent robert in ue5-main branch]
2023-03-06 19:44:34 -05:00
cedric caillaud
825f58716e Geometry collection : Only enable primary tick function when removal features are need ( after the root breaks )
- Set the Tick function to be disabled at start
- Disabled the auto activate that was automatically enabling the primary tick function
- Enable the tick function post physics update after the root is broken

#rb benn.gallagher, brice.criswell, michael.bao
#preflight  6403abc63206d45d20937121

[CL 24525790 by cedric caillaud in ue5-main branch]
2023-03-06 13:20:46 -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
michael bao
5dd78dc19d geometry collections should not attempt to replicate parent particles that are a part of cluster unions
#rb cedric.caillaud
#preflight 64015434d249add4a2171ef7

[CL 24504271 by michael bao in ue5-main branch]
2023-03-03 14:18:06 -05:00
michael forot
564045d020 [Backout] - CL24489307
[FYI] nat.parkinson
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL24480805 to resolve compile error
[FYI] Michael.Forot
Original CL Desc
-----------------------------------------------------------------
Network physics for vehicles

#rb bill.henderson
#preflight 63ff6e32f43e53f68127e521

[CL 24499687 by michael forot in ue5-main branch]
2023-03-03 11:22:01 -05:00
michael bao
9ba4763739 add function to get body ID on the component given a raw GT particle
#rb cedric.caillaud
#preflight 64014005d249add4a20f46e5

[CL 24494806 by michael bao in ue5-main branch]
2023-03-02 21:57:29 -05:00
nat parkinson
98d04ec328 [Backout] - CL24480805 to resolve compile error
[FYI] Michael.Forot
Original CL Desc
-----------------------------------------------------------------
Network physics for vehicles

#rb bill.henderson
#preflight 63ff6e32f43e53f68127e521

[CL 24493661 by nat parkinson in ue5-main branch]
2023-03-02 20:26:46 -05:00
cedric caillaud
1869b8fa9c Geometry collection : move GC to use ISM ( instead of HISm ) when using ISM Pool to temporarily fix an issue that breaks root proxy mesh visibility logic
#rb michael.bao, jeremy.moore, kenzo.terelst
#preflight 64000abe30633435f866dd2e

[CL 24485610 by cedric caillaud in ue5-main branch]
2023-03-02 13:06:14 -05:00
michael forot
0fa9892ced Network physics for vehicles
#rb bill.henderson
#preflight 63ff6e32f43e53f68127e521

[CL 24484224 by michael forot in ue5-main branch]
2023-03-02 12:12:37 -05:00
cedric caillaud
fb2a37ccd0 Attempt to fix cook warning related to event dispatcher in Geometry collection
- made the event dispatcher a transient property
- allocate the object using NewObject instead of CreateDefaultSubobject since it is a runtime only object

#rb benn.gallagher, Ben.Zeigler, dan.oconnor
#preflight 63fda3b2f43e53f6815c2b27

[CL 24454388 by cedric caillaud in ue5-main branch]
2023-02-28 18:22:56 -05:00
cedric caillaud
5f3b8f7b47 Geometry collection : replication : make server authoritative particles unbreakable by the client
- added unbreakable flag to clustered particles SOA
- packed InternalCluster , Anchored and Unbrekable booleans in a flag structure using bit fields ( saved a bool per particle )
- non authoritative particles are now unbreakable on the client until they replicate

#rb chris.caulfield, michael.bao, benn.gallagher
#preflight 63f94dd9a134e0b059dd9910

[CL 24437720 by cedric caillaud in ue5-main branch]
2023-02-27 22:00:29 -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
cedric caillaud
50efd38db8 Geometry collection: make removal random generated timer values consistent between client and server
- make bone colors unique per component based on number of bones
- remove dependency to PhysXUserdata

#rb none
#preflight 63f86cbcdd78dd50f6541cca

[CL 24406423 by cedric caillaud in ue5-main branch]
2023-02-24 14:43:53 -05:00
jimmy andrews
77374553ae remove legacy guard against having 0 materials on geometry collection components
#rb devon.penney
#preflight 63f5c6d77064074bd874e702

[CL 24371929 by jimmy andrews in ue5-main branch]
2023-02-22 17:59:05 -05:00
michael bao
dc08abbd84 ensure that the OnComponentPhysicsStateChanged gets called properly for geometry collections
#rb cedric.caillaud
#preflight 63f008a73c1eb56f05e9cd21

[CL 24327550 by michael bao in ue5-main branch]
2023-02-20 17:08:39 -05:00
jimmy andrews
6d9fd9b6de make the fracture mode 'explode amount' slider's exploded vectors affect the rendered bone transforms for geometry collections
#rb cedric.caillaud
#preflight 63f0421a81646f1f24c3d6f6

[CL 24298073 by jimmy andrews in ue5-main branch]
2023-02-18 00:01:05 -05:00
jimmy andrews
5f26fce1c5 fracture mode rendering changes: rebuild render data rather than marking the component dirty for UVs and material updates, and change 'check' to 'ensure' for invalid exploded view vectors
#rb jeremy.moore
#preflight 63f0014ae832ea950aa8cee0

[CL 24296753 by jimmy andrews in ue5-main branch]
2023-02-17 22:12:23 -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
cedric caillaud
84e0a41fe9 Geometry collection : make sure Resttransform are in sync with RestCollection to avoid scrambled assets in previews
#rb trivial
#preflight none

[CL 24253436 by cedric caillaud in ue5-main branch]
2023-02-16 04:18:27 -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