Commit Graph

296 Commits

Author SHA1 Message Date
cedric caillaud
a6feae4762 Geometry collection : ISM Pool warning because of the mesh group has not been created yet by the GC
[FYI] chris.caulfield
#rb none
#preflight none

[CL 24679081 by cedric caillaud in ue5-main branch]
2023-03-16 16:49:47 -04:00
cedric caillaud
bd0029a344 geometry collection : fix scale on removal not using the scale matrix properly ( was causing a crash because of resulting optimizations )
- make sure to handle the case where inner radius attriute has been stripped out

#rb benn.gallagher
#preflight 64122eea290c6e5d778a2864

[CL 24665410 by cedric caillaud in ue5-main branch]
2023-03-15 19:45:00 -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
michael bao
d32777373c introduce a new FPhysicsObjectId alias to add some type clarity to the various functions on the IPhysicsComponent that deal with this id
[FYI] cedric.caillaud
#preflight 640f527f28026468d94594f8

[CL 24621833 by michael bao in ue5-main branch]
2023-03-13 17:11:51 -04: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
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