Commit Graph

319 Commits

Author SHA1 Message Date
cedric caillaud
3e0da0eaa7 Geometry collection component : make sure we unregister chaos events if the proxy is destroyed
[FYI] michael.bao
#preflight none
#rb trivial

[CL 25021392 by cedric caillaud in ue5-main branch]
2023-04-13 01:38:18 -04:00
michael bao
e0b23b9da2 fix issue where geometry collection events would not be registered properly after construction script re-registers the component
#rb cedric.caillaud
[FYI] vincent.roberts
#preflight 64372ec30c19befb6cbef335

[CL 25021167 by michael bao in ue5-main branch]
2023-04-13 00:45:32 -04:00
cedric caillaud
035af94e52 Geometry collection : add a property to control at which level position and velocity are corrected for clusters
The smaller the number the more bandwidth will be saved by not sending the position and velocities to the client

#rb benn.gallgher, vincent.robert, michael.bao
#preflight 64371be51f33a0b34a417b7c

[CL 25020009 by cedric caillaud in ue5-main branch]
2023-04-12 20:46:15 -04:00
steven barnett
47da03070f Add UGeometryCollectionComponent::SetDamageThreshold so that we can call RecreatePhysicsState when damage threshold changes.
#preflight https://horde.devtools.epicgames.com/job/64371fa7f12d5de7058ea924
#rb cedric.caillaud

[CL 25019216 by steven barnett in ue5-main branch]
2023-04-12 19:46:27 -04:00
bill henderson
8fd2e899f4 Modular vehicle network physics prediction and resim changes, still work in progress.
#preflight 6436779d0c4277fc0b8929a8
#rb michael.forot

[CL 25004771 by bill henderson in ue5-main branch]
2023-04-12 07:05:22 -04:00
michael bao
d2cb47a721 don't rely on bFirstUpdate in geometry collection replication to determine whether or not to replicate a cluster - use the particle leve instead since that's what we're actually checking for
- using bFirstUpdate is unreliable when GC's are added into cluster unions since cluster unions will disable replication immediately

#rb cedric.caillaud
#preflight 6430a10db4329f6f1a4de7b8

[CL 24974076 by michael bao in ue5-main branch]
2023-04-08 15:05:08 -04:00
cedric caillaud
53e296d985 Geometry collection : fix replication where client may try to remove a particle that still has a grand parent
#rb benn.gallagher, michael.bao, steven.barnett
#preflight 642f5cb8b306e98c633f2bc3

[CL 24962043 by cedric caillaud in ue5-main branch]
2023-04-06 22:46:53 -04:00
jeremy moore
e861e8645f Add support for ISMPool reverse culling flag. This allows us to potentially create two ISM components for left and right handedness if needed.
Add free list for ISMPool ISM component slots so that we can recycle them when the number of instances for a component becomes zero.
#preflight 642f0942427eda562650ef0b

[CL 24957562 by jeremy moore in ue5-main branch]
2023-04-06 17:29:18 -04:00
michael bao
4fe9bbd4f6 properly call FClusterUnionManager::HandleDeferredClusterUnionUpdateProperties after ReleaseClusterParticles call without relying on it getting to the next breaking model
#rb benn.gallagher
#preflight 642ef21d4c3ccbbdf17ea341

[CL 24957034 by michael bao in ue5-main branch]
2023-04-06 17:08:38 -04:00
vincent robert
b424a2a60a Client Crash UGeometryCollectionComponent
#preflight 642d9e7d4d26bcd1eb0e81b6
#rb cedric.caillaud

[CL 24936641 by vincent robert in ue5-main branch]
2023-04-05 17:03:03 -04:00
cedric caillaud
f125045cb1 Geometry collection : add blueprint functions to get initial and current transform of the root node of the collection
[FYI] logan.harvell, Cody.Haskell
#rb none
#preflight 642cee708f078cc703c8d8e9

[CL 24924259 by cedric caillaud in ue5-main branch]
2023-04-05 02:09:40 -04:00
jeremy moore
5a74598a34 Better parameterization of ISM pool components.
Still work to do for recycling components that are empty.
#preflight 642b52164d26bcd1eb357be2

[CL 24906566 by jeremy moore in ue5-main branch]
2023-04-03 23:33:01 -04:00
cedric caillaud
4d062378e6 Geometry collection : add time scalar for removal ( cvar )
#rb none
#preflight none

[CL 24905952 by cedric caillaud in ue5-main branch]
2023-04-03 22:31:08 -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
jeremy moore
13505f9e4e Fix root component not visually updating with Geometry Collection ISMPool renderer.
#preflight 6427404a50546ea336d2f5d0

[CL 24884458 by jeremy moore in ue5-main branch]
2023-04-01 02:38:44 -04:00
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