Commit Graph

102 Commits

Author SHA1 Message Date
jimmy andrews
829a30210c rework how UVs are accessed in geometry collection: make each UV layer a separate attribute, so it is impossible to have an inconsistent number of UVs per vertex, and we do not allocate so many small arrays. Provide a variety of helper functions to make the transition as easy as possible.
#rb cedric.caillaud
#rb brice.criswell
#preflight 63d074be976daa618cdcd957

[CL 23844522 by jimmy andrews in ue5-main branch]
2023-01-25 01:36:28 -05:00
cedric caillaud
123ee3f107 Geometry collection : when reseting a geometry collection from another, make sure to only recreate convex hulls if necessary
#rb none
#preflight 63cf34c2ef20a5272ddee37b

[CL 23826389 by cedric caillaud in ue5-main branch]
2023-01-23 21:44:00 -05:00
cedric caillaud
d4a7d1e29b Remove dataflow from cook builds
#rb brice.criswell
#preflight 6398e11935203bc7aa8a2f4f

[CL 23500216 by cedric caillaud in ue5-main branch]
2022-12-13 18:29:19 -05:00
cedric caillaud
c7fc9c517a geometry collection : only recreate asset simulation data when necessary ( only applies when in editor )
- avoid calling it over and over when components using the same asset are registered
- make creation of physics state faster
- make duplication of components faster

#rb brice.criswell
#preflight 63940c5fcf0e31f727516720

[CL 23499843 by cedric caillaud in ue5-main branch]
2022-12-13 18:16:59 -05:00
cedric caillaud
b960e1ce31 geometry collection : fixed material consolidation and make sure instanced mesh array is properly generated when building a GC in dataflow
- Improved InitializeMaterials to be able to handle material list only made of external materials
- Added CollectionInstancedMeshFacade and update code using the attribute directly to use the facade instead
- Added new input / output to Geometry Collection Terminal node ( InstancedMeshes )
- Simplified FindOrAddAutoInstanceMesh methods

[FYI] jimmy.andrews
#rb none
#preflight 6389699c0e4613faeded4210

[CL 23370012 by cedric caillaud in ue5-main branch]
2022-12-02 00:40:18 -05:00
cedric caillaud
4a17690360 Enable strip on cook to work without nanite enabled
#rb brice.criswell
#preflight 636962624d3c1d9d927d5c40

[CL 23025344 by cedric caillaud in ue5-main branch]
2022-11-08 04:24:06 -05:00
henrik karlsson
ed85af7728 Non unity/pch compile fixes
Cmdline: UnrealEditor Win64 debug -nodebuginfo -nolink -allcores -DisableUnity -CppStd=Cpp17 -allmodules -nopch

#rb none
#preflight skipped

[CL 22799084 by henrik karlsson in ue5-main branch]
2022-10-26 19:29:11 -04:00
cedric caillaud
dba9dd5ecb Chaos : Dataflow : add geometry collection asset specific nodes
#rb gustav.melich, brice.criswell
#preflight 6358159ce456a68082b43ba9

[CL 22798238 by cedric caillaud in ue5-main branch]
2022-10-26 19:04:47 -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
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
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
7c7730284f Chaos geometry collection : add asset side ability to use size specific data and apply propgate to instance when placing it in a level
#rb brice.criswell
#jira none
#preflight 6324b5f88131e92d65f2132d

[CL 22064938 by cedric caillaud in ue5-main branch]
2022-09-16 21:25:31 -04:00
cedric caillaud
b112fae3bd Chaos : Deprecate remove on fracture feature
- update headless chaos unit test

#jira none
#rb benn.gallagher, brice.criswell, chris.caulfield
#preflight 6322accc29254beccb14bbfe

[CL 22035762 by cedric caillaud in ue5-main branch]
2022-09-15 15:14:33 -04:00
cedric caillaud
9a1c2929e1 Chaos : fix cook warning related to selection material in geometry collection
- Make sure to remove reference to the selection material in the material array when cooking and saving

#rb brice.criswell, jimmy.andrews
#jira UE-161748
#preflight 630574cca45b007ea2925d8d

[CL 21572919 by cedric caillaud in ue5-main branch]
2022-08-25 17:14:44 -04:00
cedric caillaud
7cb43e2d16 Chaos : break and shock damage propapgation
- add per component and geo collection asset damage propagation data
- store damage propapagtion info at the proxy level ( sim parameters )
- refactor clustering code to properly account for procxy suim parameters
- add shock propagation model complementary to the break propagation model

#rb none
#jira none
#fyi brice.criswell
#preflight 63053a185a5d4e46243141d9

[CL 21520742 by cedric caillaud in ue5-main branch]
2022-08-23 17:17:36 -04:00
Jimmy Andrews
e9cefb6e41 prevent crash if nanite data is null on geometry collection object
#preflight 62fa681f153b17e74635fb4d

[CL 21388535 by Jimmy Andrews in ue5-main branch]
2022-08-15 12:44:23 -04:00
Jimmy Andrews
4b7243cb76 Changes to make transient / un-Saved properties work more logically for Geometry Collection data:
- make the ManagedArrayCollection 'Saved' flag control whether the whole property is saved, rather than just its data

- when transacting, save everything (ignore the Saved flag)

- also when loading, remove properties that were not in the map we loaded from

- stop manually removing some unsaved attributes, as the Saved flag should take care of that instead

- stop loading from the DDC (after already loading from the transaction history) for every undo/redo transaction

#preflight 62c75a60b3789302b1bb7d3e
#rb cedric.caillaud, brice.criswell, max.whitehead

[CL 21007351 by Jimmy Andrews in ue5-main branch]
2022-07-08 10:54:36 -04:00
Jimmy Andrews
0acb496b28 Add a Convex OverlapRemovalShrinkPercent variable to the geometry collection convex generation settings, to compute overlap removal on scaled-down convex hulls (without baking that scale into the hull).
#rb cedric.caillaud
#preflight 62b5d6470110bdb3314505b7
#robomerge EngineMerge

[CL 20810090 by Jimmy Andrews in ue5-main branch]
2022-06-24 11:44:32 -04:00
Jimmy Andrews
243c9e16e4 change 'remove overlaps' fracture convex generation option to be an enum w/ more options -- specifically to add option to only remove overlaps on clusters, or overlaps of clusters w/ other clusters
#preflight 62b3847408627e1ed3958e1a
#robomerge EngineMerge

[CL 20782295 by Jimmy Andrews in ue5-main branch]
2022-06-22 17:36:03 -04:00
cedric caillaud
ea89b40a98 Chaos destruction : add slow moving detection fro Remove on sleep feature
#rb none
#jira none
#preflight 62a8a8481a6b7dcd549af11f

[CL 20650060 by cedric caillaud in ue5-main branch]
2022-06-14 11:45:26 -04:00
Jimmy Andrews
3ea10e4a3d add option to not remove overlaps on geometry collection convex hulls
#rb rinat.abdrashitov
#rb david.hill
#preflight 62a74f44d80693a653de7c89

[CL 20627438 by Jimmy Andrews in ue5-main branch]
2022-06-13 11:05:31 -04:00
cedric caillaud
5ddbe667f4 Chaos destruction : allow import of collision shapes from static meshes when creating a geometry collection
#rb brice.criswell, ori.cohen
#jira none
#preflight 628dabdcaf7a2e956ba42d3d

[CL 20380362 by cedric caillaud in ue5-main branch]
2022-05-26 12:02:54 -04:00
cedric caillaud
d8a335e82f Chaos : add new connection graph generation method ( delaunay filtered by bounds )
#rb none
#jira none
#preflight 6287e7b22c34da686af5b808

[CL 20301053 by cedric caillaud in ue5-main branch]
2022-05-20 15:20:13 -04:00
cedric caillaud
a156b97f48 Chaos : harden manageArray Api for better detection of modification to the array
this is a step towards more automated recompoutation of some attributes dependent on others

#rb brice.criswell
#jira none
#preflight 627ae07e7e5f24d1ede8e730

[CL 20131611 by cedric caillaud in ue5-main branch]
2022-05-10 18:56:28 -04:00
cedric caillaud
f2c5b1b18b Chaos : detsruction : better damage threshold generation
- damage threshold are now by default generated per GC piece and no more at the cluster level propagating to children
- added a checkbox to keep the compatibility with older assets
- this allow for finer artist control and make the size specific parameters to be more effective

#rb brice.criswell, max.whitehead
#jira none
#preflight 626a26172735a2c0eaeb68be

[CL 19973874 by cedric caillaud in ue5-main branch]
2022-04-28 20:20:32 -04:00