Commit Graph

337 Commits

Author SHA1 Message Date
cedric caillaud
eef8830620 Optimize data marshalling of geometry collectionsbetween PT and GT
- Remove global transforms from the payloads
- Only send data for the transform indices that have been changes ( reducing copy and allocation )
- Do not send any more data from BufferPhysicsResults_External ( removing it from showing in profiling )
- move UpdateRemovalIfNeeded to only be called if the root is broken

#rb benn.gallagher, michael.bao, chris.caulfield
#preflight 6466eba075696d2bd71523ce

[CL 25553363 by cedric caillaud in ue5-main branch]
2023-05-19 17:52:49 -04:00
jimmy andrews
9848393f1d fix crash on fracture due to out of sync geometry collection components: make FGeometryCollectionEdit propagate update info to all components w/ the same rest collection by default
+ add an extra guard so we will ensure instead of crash if we do get into the bad/mismatched state that this bug was causing

#rb cedric.caillaud
#preflight 64655b96063e77985cdfca49

[CL 25521416 by jimmy andrews in ue5-main branch]
2023-05-17 23:53:14 -04:00
michael bao
23217d438a UGeometryCollectionComponent::SetPerParticleCollisionProfileName can now adapt to cases where the number of particles in the rest collection changes at runtime
#rb cedric.caillaud
#preflight 6464f977d62884a78f31712d

[CL 25515011 by michael bao in ue5-main branch]
2023-05-17 16:00:50 -04:00
cedric caillaud
410d10d2be Geometry collection : update socket API to also look for sockets in the root proxies if they are available
[FYI] jack.oakman, jim.vanallen
#rb fernando.coello
#preflight 6463a36122055ced647e63b6

[CL 25509733 by cedric caillaud in ue5-main branch]
2023-05-17 12:34:53 -04:00
vincent robert
50590a6f16 EventRelay is created for break events.
It is allowing to iterate through all events from one function from a blueprint library.
We can also registered to the relay to be able to group or filter events out.
This is allowing to have a better control on the received events according to their component, tags, location, velocity...etc
#rb cedric.caillaud
#preflight 6464269e317ee2d9d1e87782

[CL 25505840 by vincent robert in ue5-main branch]
2023-05-17 09:22:10 -04:00
steven barnett
c4a61b2792 Replicate anchored state of GemoetryCollection's root particle
#rb cedric.caillaud, michael.bao, jon.sourbeer
#preflight https://horde.devtools.epicgames.com/job/6462bca6f760fe87e9134615

[CL 25494843 by steven barnett in ue5-main branch]
2023-05-16 15:24:53 -04:00
cedric caillaud
ebf1ed44e1 Fix bug from CL 25453643 where root component space transform is no longer up to date
#rb logan.harvell
#preflight 6462c59cb87b09aadd44fd96

[CL 25494787 by cedric caillaud in ue5-main branch]
2023-05-16 15:23:28 -04:00
aris theophanidis
6e529f10a2 [Navmesh] Account for bIsDynamicObstacle flag from UNavCollisionBase when exporting UGeometryCollectionComponent.
#rb Frederic.Doll
#preflight skip

[CL 25482695 by aris theophanidis in ue5-main branch]
2023-05-15 19:29:18 -04:00
michael bao
ea85d3b0cb add ability to set collision profile per particle to geometry collections
#preflight 64626002592448f08bc9089c

[CL 25477154 by michael bao in ue5-main branch]
2023-05-15 14:09:57 -04:00
jon sourbeer
2541f5bdaa [REVIEW] [at]cedric.caillaud
#preflight 645ebce72c180971eea3d1e0

Updating the break events to pass along the component.

[CL 25463143 by jon sourbeer in ue5-main branch]
2023-05-12 21:49:46 -04:00
cedric caillaud
d2aa3243ec Geometry collection : optimize passing transform to the custom renderer when the root is not yet broken
- avoid calling CalculateGlobalMatrices in that special case

#rb benn.gallagher, michael.bao
#preflight 645e6a702965f6ea8e023655

[CL 25458585 by cedric caillaud in ue5-main branch]
2023-05-12 16:00:50 -04:00
cedric caillaud
81bb5ab492 Geometry collection optimization : Change GlobalMatrices array of FMatrix to ComponentSpaceTransforms array of FTransform
- This reduces the number of back and forth conversion between FTransform and FMatrix

[FYI] jeremy.moore
#rb benn.gallagher, michael.bao, chris.caulfield, vincent.robert
#preflight 645c9285ea1c7ba4d67d0fbc

[CL 25438640 by cedric caillaud in ue5-main branch]
2023-05-11 19:37:23 -04:00
cedric caillaud
f535dbceb1 Add material based damage model using strain system
#rb michael.bao, jon.sourbeer
#preflight 64558dadd77a82d6a7999438

[CL 25365534 by cedric caillaud in ue5-main branch]
2023-05-06 02:23:36 -04:00
cedric caillaud
2b18c49687 Geometry collection: fix crash when using compiling a blueprint based on a geometry collection actor
- added null check for the event dispatcher when destroying the physics state

#rb trivial
#preflight none

[CL 25340580 by cedric caillaud in ue5-main branch]
2023-05-04 15:22:27 -04:00
cedric caillaud
a9a47fc148 Add ways to get and set the rest transform on a geometry collection
#rb none
#preflight 6452e5800722d4f6a211a0a7

[CL 25329773 by cedric caillaud in ue5-main branch]
2023-05-03 20:27:58 -04:00
cedric caillaud
a01c9f5fef Add physics material option on geometry collection asset
- Add the ability to use density from the assigned material  ( or the overriden ones on the component )
- Add ability to apply default from asset on the component  ( as a button )
- Hide mass and inertia scale implementation details as functions  in physics proxy
- Move density converstion functions to MassProperties chaos headers

#rb chris.caulfield, steven.barnett
#preflight 644ab0f509453df5487025a1

[CL 25221949 by cedric caillaud in ue5-main branch]
2023-04-27 15:40:42 -04:00
cedric caillaud
c322164bfe Geometry collection : Make sure GC custom renderer system is properly handling bHiddenInGame flag for GC component
#rb cody.haskell, jeremy.moore
#preflight 644721c7c632d1e89b76e46f

[CL 25183900 by cedric caillaud in ue5-main branch]
2023-04-25 13:27:53 -04:00
cedric caillaud
4688f7093c Add root breaking event to geometry collection
This bypass the normal event system and allow to detect when the top root cluster gets broken without the need to get notified of the subsequent breaks

#rb michael.bao, chris.caulfield
#preflight 643de17cbf105384662cdab9

[CL 25092603 by cedric caillaud in ue5-main branch]
2023-04-18 15:40:37 -04:00
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