Commit Graph

227 Commits

Author SHA1 Message Date
cedric caillaud
803bfaaa67 geometrycollection runtime optimization
- Optimize managed array collection NumElement to only fetch once from the group map
- Make sure to skip IncrementSleepTimer and ImcrementBreakTimer method is GC is not broken yet
- Early out in RefreshEmbeddedGeometry if no examplar is present
- Optimize BuildGeometry to reduce cache missed when running too small batch across large number of threads ( 2.5 time perf boost )

#rb benn.gallagher
#preflight 637531c6953c19d43519551b

[CL 23166264 by cedric caillaud in ue5-main branch]
2022-11-16 19:21:50 -05:00
cedric caillaud
89b7dcfcbd Improve set clustered function on geometry collection component
- Add a set clustered by transformed box
- Fix the set clustered functions to properly update the kinematic state of the parents
- Imporved the debug draw of connection graph to better see the node state when close

#rb none
#preflight 636dd14e953c19d435279592

[CL 23102242 by cedric caillaud in ue5-main branch]
2022-11-11 14:11:40 -05:00
henrik karlsson
b75f8273d9 Include removals
* GeometryCollectionComponent.h - Most files are related to the removal of includes in this file. Removed 7 headers
   - Moved GeometryCollectionDamagePropagationData in to its own file
   - Changed COPY_ON_WRITE_ATTRIBUTE to be set in a way so implementations can be placed in cpp file.
   - Moved some function implementations to cpp file
* Removed include in FieldSystemActor.h
* Removed include in FieldSystem.h
* Removed include in CommonUISettings.h


#preflight 636b325c376a9cd6a8818aae
#rb cedric.caillaud (for the actual changes, not additional includes and a couple include removals outside GeometryCollection)

[CL 23069399 by henrik karlsson in ue5-main branch]
2022-11-09 20:53:21 -05:00
cedric caillaud
17a5140e40 Geometrty collection - add multiple blueprint functions
- GetLocalBoudns
- GetDebugInfo : to get detailed info about the various collection and their arrays ( including estimated memory usage )
- SetAnchoredByIndex / SetAnchoredBybox now has a bAnchored boolean

#rb brice.criswell
#preflight

[CL 22958587 by cedric caillaud in ue5-main branch]
2022-11-03 13:56:42 -04:00
cedric caillaud
243f3b1b4e Chaos : add method to dynamically set Geometry collection fragment to be anchored ( by index or by box )
#rb brice.criswell
#preflight 636182f91608da6ba139f700

[CL 22918006 by cedric caillaud in ue5-main branch]
2022-11-02 11:47:15 -04:00
cedric caillaud
fb3e9ff339 Chaos : enable support for root proxy mesh for geometry collection ( work only with ISM at the moment )
#rb brice.criswell, michael.bao
#preflight 6359d21b5d49a96f7b127ffa

[CL 22850795 by cedric caillaud in ue5-main branch]
2022-10-29 03:00:57 -04:00
cedric caillaud
45169b4d63 Chaos : fix geometry collection replication failing because the client side component has a authority local role when physics state is being created
#rb none
#preflight 635adaea944463bad46f163f

[CL 22823592 by cedric caillaud in ue5-main branch]
2022-10-28 00:33:43 -04:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
Jimmy Andrews
e648a4cb5e Improved user control and visibility into proximity and connection graph generation for fracture:
- Added a Proximity tool to Fracture Mode to visualize and change generation settings for GeometryCollection bone proximity.
 - Added more user controls for how proximity is generated, including a "Convex Hull distance" method for deciding contact, which should help include connections that were missed by the default proximity detection method.
 - Made proximity settings live on the GeometryCollection as (non-cooked) attributes, so proximity re-generates with the desired method after further fracturing/clustering.
 - Added an option to automatically convert the proximity graph to a pre-computed connection graph used by simulation.
 - Reduce redundant proximity calculations: Be more consistent in relying on FGeometryCollectionEdit to update proximity as needed, and call 'RequireProximity' instead of 'UpdateProximity' in cases where we expect a valid proximity may already be present.

#rb cedric.caillaud
#preflight 6356d21b0313c24974eea2f8

[CL 22735429 by Jimmy Andrews in ue5-main branch]
2022-10-24 16:24:39 -04:00
cedric caillaud
5b28136c0a Chaos : fix potential crash with replication when physics state is destroyed
#rb brice.criswell.michael.forot
#jira UE-167938
#preflight 6352d8b63a547c3da385dcf3

[CL 22712152 by cedric caillaud in ue5-main branch]
2022-10-22 15:35:03 -04:00
cedric caillaud
a59a81e2b9 Geometry collection : added support for ISMPools, it only works if an ISMPool actor is assigned to the GC instance
Limitations : Currently this requires the GC to be reset to recompute the list of instanciable meshes and their corresponding indices
Mitigation : this can be turned off using the following cvar : p.Chaos.GC.UseISMPool

#rb brice.criswell, Krzysztof.Narkowicz
#preflight 63519a8af92c325024c32137

[CL 22705192 by cedric caillaud in ue5-main branch]
2022-10-21 19:51:57 -04:00
cedric caillaud
97f3d8c718 Chaos : fix potential geometry collection replication crash
- Make sure CLustersToRep is reset when the physics state is destroyed
- Initialize the Physics proxy ReplicationMode when we create the proxy instead of during InitializeComponent ( because Destroy/Create physics state can be called after it )

#rb brice.criswell, michael.forot
#preflight 6350d4f82337adbf42b08788

[CL 22670734 by cedric caillaud in ue5-main branch]
2022-10-20 16:47:18 -04:00
cedric caillaud
f77439fae4 Chaos : remove the need to pass a parent for GC when adding particle to the island graph
This fixes crashes related  to GC replication where an island index inherited from a parent would remain set after the island has been removed

#rb chris.caulfield, brice.criswell, michael.forot
#preflight 6350824b8449f85a477815e4

[CL 22647574 by cedric caillaud in ue5-main branch]
2022-10-19 22:03:57 -04:00
cedric caillaud
7a43f6187a Chaos : temp fix for replication crash
- comment the disable of particles beyond the abandon level  on the server

#rb trivial
#jira
#preflight none

[CL 22647208 by cedric caillaud in ue5-main branch]
2022-10-19 21:51:21 -04:00
rob mclaughlin
09e5fd7ab6 Checks to avoid access to an empty InitialLevels array in GeometryCollectionComponent
Submitting on behalf of Enrique due to preflight not submitting

[FYI] cedric.caillaud, peter.knepley, andrew.firth, enrique.garciaamezcu
#preflight https://horde.devtools.epicgames.com/job/6340545a62762f4a1baa3d9f
Preflight fail due to unrelated WorldPartition issue

[CL 22412822 by rob mclaughlin in ue5-main branch]
2022-10-07 19:45:55 -04:00
james studdart
a2b98f1d31 Check to avoid access to an empty array.
[FYI] cedric.caillaud, peter.knepley, andrew.firth
#rb cedric.caillaud
#preflight 633ee67d7b2517bbaa0b4bcb

[CL 22391437 by james studdart in ue5-main branch]
2022-10-06 21:44:57 -04:00
cedric caillaud
c9b78adb96 Chaos : fix server crash when replicating geometry collections that are missing InitialLevel attribute
#rb trivial
#preflight 633dded6f171e4e68b3bf857

[CL 22387992 by cedric caillaud in ue5-main branch]
2022-10-06 19:49:04 -04:00
cedric caillaud
6248b01af9 Chaos : fix character movement interaction with geometry collections
- Because of a circular module dependency between Engine and GeometryCollectionEngine, we need to check the class using its name instead of using a cast
- this is a workaround that should be addressed oin the future
- it can be disabled using a cvar : p.CVarGeometryCollectionImpulseWorkAround

#rb benn.gallagher, chris.caulfield, brice.criswell
#jira none
#preflight 633739acb34118b9b4b8a351

[CL 22341267 by cedric caillaud in ue5-main branch]
2022-10-04 19:02:56 -04:00
cedric caillaud
5668f4984b Geometry collection : make sure replicated break do trigger client side break events
[FYI] brice.criswell, michael.forot
#jira none
#preflight 633b32e62a5690003a259086

[CL 22323417 by cedric caillaud in ue5-main branch]
2022-10-03 21:14:59 -04:00
cedric caillaud
3d8507b427 Geometry collection : fix bounds not being updated properly when scrubbing start time from caches in editor mode
#rb trivial
#jira none
#preflight 633b2722f513083ba3fd6ee7

[CL 22323355 by cedric caillaud in ue5-main branch]
2022-10-03 21:13:17 -04:00
jimmy andrews
9cd97b8d1e make bone colors always recompute on actor selection, to work around stale bone colors causing bones to appear selected when they are not.
+ fix FScopedColorEdit::Sanitize() clearing the bUpdated flag when nothing was sanitized.

#rb rinat.abdrashitov
#rb cedric.caillaud
#preflight 6335a1813041fbb566554beb

[CL 22262791 by jimmy andrews in ue5-main branch]
2022-09-29 23:42:41 -04:00
ryan hummer
8f1c149a68 [Backout] - CL22210368
#preflight 63344a591a232c6fbf9ad3bb

[FYI] cedric.caillaud
Original CL Desc
-----------------------------------------------------------------
Chaos : fix character movement interaction with geometry collections

#rb benn.gallagher, chris.caulfield, brice.criswell
#jira none
#preflight 63335015e11ae0b19c224cb4

[CL 22232349 by ryan hummer in ue5-main branch]
2022-09-28 17:59:03 -04:00
cedric caillaud
eb7fb75f68 Chaos : fix character movement interaction with geometry collections
#rb benn.gallagher, chris.caulfield, brice.criswell
#jira none
#preflight 63335015e11ae0b19c224cb4

[CL 22226851 by cedric caillaud in ue5-main branch]
2022-09-28 14:02:24 -04:00
marc audy
311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00
cedric caillaud
c1996c20c6 Chaos : Add GC component blue print functions
- CrumbleActiveClusters
- RemoveAllAnchors
- Also fixed a potential crash in fracture editor

#rb none
#preflight 632d013aa4769ad714d6cdc2

[CL 22173113 by cedric caillaud in ue5-main branch]
2022-09-24 13:28:05 -04:00