Commit Graph

304 Commits

Author SHA1 Message Date
jeremy moore
9114575fd0 Add back bAutoAssignISMPool to GeometryComponent.
#preflight 64271d5438075fa13f5bff61

[CL 24876940 by jeremy moore in ue5-main branch]
2023-03-31 15:30:41 -04:00
jeremy moore
4f424c08a5 Move geometry collection ISM Pool management code into custom renderer object.
Allows us to have different rendering strategies for geometry collection.
#preflight 64260c6b9621ba9cb46bf178

[CL 24868103 by jeremy moore in ue5-main branch]
2023-03-31 02:58:27 -04:00
sebastien lussier
ca273183ff World Partition - HLOD: Added UGeometryCollectionComponent HLOD support
* Added CreateProxyComponents() method which creates static mesh component(s) from the collection proxy meshes
* Override IsHLODRelevant()
#rb jeanfrancois.dube
#preflight skip

[CL 24820137 by sebastien lussier in ue5-main branch]
2023-03-28 11:45:57 -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
kenzo terelst
857a7c0207 - Use ISMComponent events on instance removed and index reallocated in the ISMPool to handle both ISM & HISM reordering on remove instances (Remove vs SwapRemove differences)
- Re-enable HISM by default for GeometryCollection proxy and leaf rendering

#rnx
#rb Cedric.Caillaud
#preflight 6419ff1e42618c85c40b6975

[CL 24740869 by kenzo terelst in ue5-main branch]
2023-03-21 17:54:35 -04:00
cedric caillaud
e9335d64b4 Fix issue where updaterep data is called with a callback and the physics proxy is null
- make sure UpdateRepData checks for the physics proxy  being valid

#rb trivial
#preflight 6418920442618c85c49728a8

[CL 24724501 by cedric caillaud in ue5-main branch]
2023-03-20 17:35:49 -04:00
robomerge
33685af739 Geometry collection : fix issue where removal may not work properly
- Reorganize the UpdateRemovalIfNeeded method in a way that avoid the optimizer to break the runtime logic and stop the non-scale case logic block from running properly
  this seems to be coming from the condition around 1.0-GetDecay() been optimized out to get rid of the subtraction but it's not clear exactly why that fails yet
- Fixed a static analysis warning where compoaring the same variable in an ensure

#rb benn.gallagher, vincent.robert
#preflight 6414920d1c44ff98b972f41f

[CL 24702027 by robomerge in ue5-main branch]
2023-03-18 01:39:50 -04:00
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