Commit Graph

76 Commits

Author SHA1 Message Date
bryan sefcik
a325a91dd1 Updated the "AutoInstances" meshes to not add to the ISMPool until they are needed.
Deprecated the FSoftObjectPath "StaticMesh" property in FGeometryCollectionAutoInstanceMesh and replaced it with a TObjectPtr<UStaticMesh> Mesh property. This fixes an issue where asserts would fire because we were doing sync loads after the loadscreen.
These changes saved roughly 100MBs in our test level.

#jira
#rb cedric.caillaud
#preflight 63f846e9c35a14198085d30e

[CL 24406749 by bryan sefcik in ue5-main branch]
2023-02-24 15:00:49 -05:00
jeremy moore
6d354ea7d8 #jira UE-177467
Add flag for strip render data on cook to Geometry Collection.
This can be used if we have a non-native rendering replacement such as using ISM pools.
Added p.GeometryCollectionAssetForceStripRenderDataOnCook as a per-project way to force this.
#preflight 63f64517ff5afbbb03b47a1a

[CL 24370976 by jeremy moore in ue5-main branch]
2023-02-22 17:30:06 -05:00
jimmy andrews
24982da9e9 fix mesh paint not updating vertex colors for geometry collection + losing exploded vectors on finishing paint transactions
#rb jeremy.moore
#preflight 63f0437b61378b7ea05d43d1

[CL 24298076 by jimmy andrews in ue5-main branch]
2023-02-18 00:01:10 -05:00
bryan sefcik
aa3b70f03b [Backout] - CL24251176
[FYI] bob.tellez
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL24248607
[FYI] bryan.sefcik
Original CL Desc
-----------------------------------------------------------------
Updated the static mesh property("RootProxy") in UGeometryCollection to be a FGeometryCollectionProxyMeshData which currently contains an array of static meshes.
Deprecated the old RootProxy property in UGeometryCollection. Old data will still work.

#rb cedric.caillaud
#preflight 63ed6ac996073a3e191d8b6d

[CL 24265247 by bryan sefcik in ue5-main branch]
2023-02-16 14:21:21 -05:00
jeremy moore
1cae9c2d97 Move all immutable geometry collection rendering data into the geometry collection asset.
This is built as part of geometry collection DDC contents.
Reworked scene proxy to use this data. Some big changes there:
* Tidied up hit proxy code so that all hit proxy clients use the same path.
* Removing of internal faces are now handled without an additional index buffer by always storing internal faces at the end of a section and providing different section descriptions for including internal faces.
* Dynamic geometry hiding in editor is now done by zeroing transforms instead of rebuilding the index buffer.
#rb cedric.caillaud
#preflight 63edc2e55c7bd278c11efe51

[CL 24261113 by jeremy moore in ue5-main branch]
2023-02-16 12:40:53 -05:00
bob tellez
dbae1e7125 [Backout] - CL24248607
[FYI] bryan.sefcik
Original CL Desc
-----------------------------------------------------------------
Updated the static mesh property("RootProxy") in UGeometryCollection to be a FGeometryCollectionProxyMeshData which currently contains an array of static meshes.
Deprecated the old RootProxy property in UGeometryCollection. Old data will still work.

#rb cedric.caillaud
#preflight 63ed6ac996073a3e191d8b6d

[CL 24253444 by bob tellez in ue5-main branch]
2023-02-16 04:18:45 -05:00
bryan sefcik
93b6bde4c9 Updated the static mesh property("RootProxy") in UGeometryCollection to be a FGeometryCollectionProxyMeshData which currently contains an array of static meshes.
Deprecated the old RootProxy property in UGeometryCollection. Old data will still work.

#rb cedric.caillaud
#preflight 63ed6ac996073a3e191d8b6d

[CL 24253387 by bryan sefcik in ue5-main branch]
2023-02-16 04:16:21 -05:00
jimmy andrews
7310bd5e9b rename "Split Components" in fracture mode/geometry collection settings to "Split Meshes" to reduce confusion with the UE "Component" concept
#rb cedric.caillaud
#preflight 63ed4980f36e1a5ecec14f61

[CL 24253338 by jimmy andrews in ue5-main branch]
2023-02-16 04:13:45 -05:00
jimmy andrews
92852cf5b1 rework how internal faces are tracked and assigned materials in geometry collections:
- add explicit tracking of internal surfaces in fracture geometry, and remove concept of 'internal-only' materials in odd-numbered slots.
- add tooling to set internal materials, and to set default internal materials to be assigned on fracture
- add option to preserve internal face data via odd material numbers in ToMesh tool + option to re-import these ToMesh outputs w/ internal material IDs set

#rb cedric.caillaud
#rb david.hill
#preflight 63e66867de74ffbae51e5dc7
#jira UE-165320

[CL 24136970 by jimmy andrews in ue5-main branch]
2023-02-11 12:37:57 -05:00
jimmy andrews
000eda2356 move geometry collection bone selected material out of the user-exposed materials array for new geometry collections
#rb cedric.caillaud
#preflight 63e131114d25c400b7119455

[CL 24040296 by jimmy andrews in ue5-main branch]
2023-02-06 18:02:08 -05:00
cedric caillaud
e449c8aa62 Geometry Collection , add setter on EnableNanite UProperty
#rb trivial
#preflight none

[CL 23961546 by cedric caillaud in ue5-main branch]
2023-02-01 19:41:36 -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
949a8aaf39 Geometrty collection : make bImportCollisionFromSource writeable for blueprints
#rb none
#preflight none

[CL 23814996 by cedric caillaud in ue5-main branch]
2023-01-23 12:22:34 -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
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
brice criswell
34a671b274 Dataflow : Generic evaluation from DataflowEditor
- Allow dataflow to perform graph evaluations.
#rb none
[FYI] Cedric.Caillaud, Gustav.Melich
#preflight 636ad035843e6ac794e4f7a6

[CL 23049086 by brice criswell in ue5-main branch]
2022-11-09 02:18:51 -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
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
Brice Criswell
d520c6913a GeometryCollectionEditor: Persistent dataflow context with invalidation.
#rb none
#preflight 634f8fedac48fa11ed1ce358

[CL 22618684 by Brice Criswell in ue5-main branch]
2022-10-19 01:58:50 -04:00
jimmy andrews
6bce842669 Correct the wording used to explain the Geometry Collection "Split Components" feature
#jira UE-166724
#preflight 6345d8c8f93be0f63418c1b2
#rb cedri.caillaud

[CL 22481690 by jimmy andrews in ue5-main branch]
2022-10-12 13:30:05 -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