Commit Graph

144 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
cedric caillaud
50efd38db8 Geometry collection: make removal random generated timer values consistent between client and server
- make bone colors unique per component based on number of bones
- remove dependency to PhysXUserdata

#rb none
#preflight 63f86cbcdd78dd50f6541cca

[CL 24406423 by cedric caillaud in ue5-main branch]
2023-02-24 14:43:53 -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
82d52d2117 Added missing file from GC change.
#preflight

[CL 24253389 by bryan sefcik in ue5-main branch]
2023-02-16 04:16:30 -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
cedric caillaud
8774207879 geometry collection : expose IsRootBroken function to blueprints
#rb trivial
#preflight none

[CL 24114477 by cedric caillaud in ue5-main branch]
2023-02-09 22:48:15 -05:00
vincent robert
a7dc3bb763 Decrease Constant Data memory
#rb cedric.caillaud
#preflight 63e5190683340ac6cbf0b1ff

[CL 24106141 by vincent robert in ue5-main branch]
2023-02-09 16:18:01 -05:00
michael bao
7bfae7b114 reduce the amount of async physics ticking geometry collections do.
- Server: only update rep data when the physics sync is called (i.e. when the physics proxy is dirty)
- Client: only process rep data when we get notified the rep data is changed. plus let the tick stick around for a bit so long as the tick is active.

#preflight 63e14d63244dc45a20e29543
#rb cedric.caillaud
[FYI] steven.barnett

[CL 24040412 by michael bao in ue5-main branch]
2023-02-06 18:06:23 -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
1a2086a540 Geometry collection : fix code to support removal of geometry, vertex and face groups when nott using nanite ( to properly support StripOnCook for ISMPool )
- Better support for bounds computation using transform bounding box attribute ( this code path can now use ISPC )
- make sure that using ISMPool is equivalent to having visible geometry in the TickComponent method

#rb benn.gallagher
#preflight 63dcc0fcc2257e56f4919a6a

[CL 24009697 by cedric caillaud in ue5-main branch]
2023-02-04 00:32:04 -05:00
michael bao
df1d2a5373 add ability to set collision profiles per level on the geometry collection
#preflight 63dc5ddf07207b257024782d
#rb cedric.caillaud

[CL 24007088 by michael bao in ue5-main branch]
2023-02-03 22:41:22 -05:00
steven barnett
412a81e4b5 Use velocity-matching to replicate geometry collection clusters.
- Disable with `p.bGeometryCollectionRepUseClusterVelocityMatch 0`
- Debug draw with `p.Chaos.DebugDraw.GeometryCollectionReplication 1`

#swarm https://p4-swarm.epicgames.net/reviews/23918942
#rb benn.gallagher, cedric.caillaud, michael.bao
#preflight 23876783

[CL 23984069 by steven barnett in ue5-main branch]
2023-02-02 18:43:25 -05:00
cedric caillaud
dab0969263 Geometry collection : Add ISM pool subsystem to allow auto assignment of ISMPool
- ISMPool subsystem creates the ISMPool actor and return it when asked for
- Fix root proxy mesh not being properly loaded before sent to the ISM Pool
- Fix visiblity of the geometry component being overriden if ISMPool is not being used

#rb benn.gallagher
#preflight 63d8cb6367116074a84abdd2

[CL 23934984 by cedric caillaud in ue5-main branch]
2023-01-31 14:46:14 -05:00
cedric caillaud
7d0c8a2c5d Geometry collection : add ability to set the gravity group index
#rb none
#preflight  63d47f565d0c0164ccc0bf14

[CL 23897652 by cedric caillaud in ue5-main branch]
2023-01-27 23:12:49 -05:00
michael bao
473e92eda7 abandon after level on the geometry collection should make sure collision is removed from the server. add an option to make sure collision is removed from the client as well.
#preflight 63d0e060ef20a5272d7d7db0
#rb cedric.caillaud

[CL 23864808 by michael bao in ue5-main branch]
2023-01-26 02:26:52 -05:00
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
frederic doll
f2dac08df1 Make sure CollisionChannel change is propagated to the PhysicProxy in GeometryCollectionComponent
#rb cedrix.caillaud
#preflight 63cae090fa290562c1b9c4a4

[CL 23815882 by frederic doll in ue5-main branch]
2023-01-23 12:48:24 -05:00
michael bao
31ca957aa6 add option to enable/disable adding strain to geometry collection clusters upon collisions
- also fixed issue where changing the SetNotifyX (break, crumbling, etc) on a geometry collection component wouldn't set the simulation parameter on the physics proxy.

#preflight 63c82b8f0225f00e142761e0
#rb cedric.caillaud

[CL 23804265 by michael bao in ue5-main branch]
2023-01-21 18:25:47 -05:00
cedric caillaud
c03e14a00b Geometry collection : Added max level support to anchoring by box BP functions
#rb none
#preflight 63c74ec87763631ba16f2987

[CL 23751616 by cedric caillaud in ue5-main branch]
2023-01-17 22:29:08 -05:00
frederic doll
265c956172 Add option in GeometryCollectionComponent to skip UpdateNavigation in Tick and return simplifed collision for navigation data
#rb cedric.caillaud
#preflight 63c748790d3880eb5b907102

[CL 23751605 by frederic doll in ue5-main branch]
2023-01-17 22:28:58 -05:00
cedric caillaud
fccef7ce77 GeometryCollection : add extra parameters to SetNotofyCrumblings
#rb none
#preflight 63c71f91540f8e1937702783

[CL 23748344 by cedric caillaud in ue5-main branch]
2023-01-17 18:48:18 -05:00
michael bao
4ec22dfa42 group the "Notify" booleans in the geometry collection component into it a separate "Events" category
[FYI] jack.oakman
#preflight 639a10cf2960b732208116fc

[CL 23517887 by michael bao in ue5-main branch]
2022-12-14 15:50:27 -05:00
michael bao
0ee2354869 Expose the FPhysicsObject objects via the UPrimitiveComponent and specialize for USkeletalMeshComponent and UGeometryCollectionComponent
#rb cedric.caillaud
#preflight 6390c5631776b8c21c157b9b

[CL 23433946 by michael bao in ue5-main branch]
2022-12-07 15:41:26 -05:00