178 Commits

Author SHA1 Message Date
henrik karlsson
2b09e81ebe [Engine]
* Changed type dllexport to method/staticvar dll export. Various changes for code that upgrade script get wrong

[CL 26082078 by henrik karlsson in 5.3 branch]
2023-06-17 16:59:11 -04:00
vincent robert
0912835bba In the Geometry Collection Component the async tick had to block Game Thread and Physics Thread to apply the replicate data. Now all the replication code is copied and executed on the Physics thread. This allow not to block both thread at the same time.
#rb cedric.caillaud

[CL 26061003 by vincent robert in 5.3 branch]
2023-06-16 13:49:45 -04:00
vincent robert
1dbafd35dd AncientGame fails to compile, Fix breaking API
FBreakChaosEvent was created in Engine to replaced FChaosBreakEvent event which was in CHAOSSOLVER_API and so no accessible in Engine for circular dependency issue. But in order to backward compatibility with blueprint delegate, and code the only easy way was to keep the same name. This CL is changing back those names to FChaosBreakEvent.
Same apply for Removal and Crumbling events.
#jira UE-187555
#preflight 6478df285d23eca37d9f4ab4
#rb cedric.caillaud

[CL 25736541 by vincent robert in ue5-main branch]
2023-06-01 15:22:19 -04:00
jimmy andrews
fe746a8526 fix issue with fracture dynamic collection not matching rest collection, causing an ensure on fracture reset: change defaults to update dynamic collection, and make sure the dynamic is also reset if the rest is updated so they do not go out of sync
#preflight 64779bd10848b7126de26d80
#rb cedric.caillaud

[CL 25720427 by jimmy andrews in ue5-main branch]
2023-06-01 00:40:28 -04:00
vincent robert
794de23f2e Clean up : Remove Break, Removal and Crumbling Events from CHAOSSOLVERENGINE_API, those events are now in ENGINE_API
#preflight 647778fd1c5c2b3fa2c4172d
#rb cedric.caillaud

[CL 25711914 by vincent robert in ue5-main branch]
2023-05-31 16:02:01 -04:00
vincent robert
1e3d8014a8 Global Event Relay for Collision, Removal and Crumbling events.
#preflight 646cb99d1417daba1e475ff2
#rb cedric.caillaud

[CL 25583398 by vincent robert in ue5-main branch]
2023-05-23 11:15:22 -04:00
cedric caillaud
09a017b797 Geometry collection : expose component DamageModel property to blueporints
#rb trivial
#preflight none

[CL 25553536 by cedric caillaud in ue5-main branch]
2023-05-19 17:58:10 -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
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
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
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
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
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
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
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
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