Commit Graph

688 Commits

Author SHA1 Message Date
cedric caillaud
ec44ea6090 Geometry collection : Add "use material damage modifier" option to GC component
[FYI] jim.vanallen, jack.oakman
#rb none

[CL 27423704 by cedric caillaud in ue5-main branch]
2023-08-28 16:37:00 -04:00
cedric caillaud
5c4faf514a Make ISM Pool actor allocation be per level
This fixes an issue where geometry collection using custom renderer do not work with bRequireFullVisibilityToRender

#rb jeremy.moore

[CL 27383072 by cedric caillaud in ue5-main branch]
2023-08-25 13:36:52 -04:00
cedric caillaud
d644113792 Geometry collection : Fix memory leak when setting rest state and not using scene proxy
#rb benn.gallgher, dmytro.vovk

[CL 27379295 by cedric caillaud in ue5-main branch]
2023-08-25 12:00:59 -04:00
cedric caillaud
7ab87da6e5 Geometry collection optimization : Deprecated collision related attributes in dynamic collection
- Saves 3 x uint32 per bone per dynamic collection ( x2 )
- CollisionMask and CollisionStructureID were not used at all
- CollisionGroup was used but set to the same value for all bones
- also deprecated fuinction and enums in GeometryCollectionEngineTypes

#rb benn.gallagher, brice.criswell, michael.bao

[CL 27353047 by cedric caillaud in ue5-main branch]
2023-08-24 15:10:22 -04:00
cedric caillaud
a695e89dcc Geometry collection : add bDensityFromPhysicsMaterial to the geometry collection component
- This is set from the geometry collection asset when calling SetRestCollection and can be changed after
- Also fix the way we apply the mass multiplier to inertia

#rb michael.bao, steven.barnett

[CL 27315231 by cedric caillaud in ue5-main branch]
2023-08-23 14:57:14 -04:00
cedric caillaud
a623840d4a Geometry collection : allow SetDamageThreshold to be set without recreating the physics state
- Consolidate the damage thresholds calculation into one method
- Do not recreate proxy when setting damage thresholds from the component

#rb michael.bao, benn.gallagher, steven.barnett

[CL 27273456 by cedric caillaud in ue5-main branch]
2023-08-22 11:58:50 -04:00
benn gallagher
7a583ce2f4 Chaos: Added mitigation for cases where geometry collections receive out of bounds replication requests for the particle array
#rb Cedric.Caillaud

[CL 27252344 by benn gallagher in ue5-main branch]
2023-08-21 16:21:15 -04:00
michael bao
af4b06631d updates to the geometry collection's particles' shapes collision data on the PT need to propagate the information to the cluster union
#rb cedric.caillaud

[CL 27246687 by michael bao in ue5-main branch]
2023-08-21 14:03:48 -04:00
michael bao
21ad9ba0cc per-particle collision profiles need to load correctly on the PT even when there are nullptr particles
#rb cedric.caillaud

[CL 27204769 by michael bao in ue5-main branch]
2023-08-18 11:54:04 -04:00
michael bao
4506e9d0f8 geometry collections can now specify a collision profile per particle/level that loads the data collision profile
#rb cedric.caillaud

[CL 27164330 by michael bao in ue5-main branch]
2023-08-16 22:53:58 -04:00
michael bao
d97ce3d14d geometry collection particles should not increment sleep/break timers while in a cluster union
#rb cedric.caillaud

[CL 27161360 by michael bao in ue5-main branch]
2023-08-16 19:55:39 -04:00
jeremy moore
e4b96a0b1d Add garbage collection to ISM pool.
[CL 27054469 by jeremy moore in ue5-main branch]
2023-08-11 20:20:15 -04:00
jeremy moore
625bf43130 Add option to spatially divide ISMs in the ISMPool.
Enable ISM pooling by default so that spatially placed ISMs can be recycled easily when moving through a streaming world.

[CL 27044402 by jeremy moore in ue5-main branch]
2023-08-11 16:28:11 -04:00
jeremy moore
a5c463b6af Fix inverted geometry in ISMPool
[CL 27017031 by jeremy moore in ue5-main branch]
2023-08-10 19:04:35 -04:00
jeremy moore
5582094518 GeomCollectionISMPool: Use mirrored identity primitive transform on ISMs that have been flagged for reverse culling.
Reverse culling is expected to be set when all instances have mirrored transforms.
Putting the mirror in the component transform will correctly set the primitve flags for use by shaders.

[CL 26952481 by jeremy moore in ue5-main branch]
2023-08-09 08:07:30 -04:00
cedric caillaud
61000b99b1 Add damage modifier to physics material and an option in Geometry Collection asset to opt for it
#rb steven.barnett

[CL 26918152 by cedric caillaud in ue5-main branch]
2023-08-08 11:31:47 -04:00
robert manuszewski
d3991fec9b Fixing potential compile errors ahead of enabling TObjectPtr GC barrier
#rb trivial

[CL 26868625 by robert manuszewski in ue5-main branch]
2023-08-05 06:09:54 -04:00
cedric caillaud
5ec613e4de Geometry collection : fix bounds computation when custom renderer is being used
- this reverts CL 26423456 that introduced a bug trying to fix the same issue
- now component space transform are updated even when the GC is not yet broken , making sure that  all the leaf transforms are up to date for the bounds to be computed from them

#rb michael.bao, aris.theophanidis

[CL 26797787 by cedric caillaud in ue5-main branch]
2023-08-02 23:26:19 -04:00
michael bao
1b8d608469 geometry collection needs to compute its component space transforms even on the server otherwise will cause desync issues between client/server for character basing
#rb cedric.caillaud

[CL 26776928 by michael bao in ue5-main branch]
2023-08-02 12:53:22 -04:00
cedric caillaud
9f6b22cf34 Geometry Collection : Add ability to disable root proxy rendering at runtime when using custom renderer
#rb michael.bao, jeremy.moore

[CL 26727982 by cedric caillaud in ue5-main branch]
2023-07-31 20:36:40 -04:00
jeremy moore
49cab1e61d Set MDC stat categories for some known subsystems.
[CL 26725198 by jeremy moore in ue5-main branch]
2023-07-31 18:48:44 -04:00
michael forot
6e4094da3e Chaos implicit object ref counted ptr + union simple shapes (WIP)
#rb chris.caulfield

[CL 26722951 by michael forot in ue5-main branch]
2023-07-31 17:46:47 -04:00
michael bao
3e9af0530d GCs should not set themselves dormant to avoid client/server desync
[CL 26722493 by michael bao in ue5-main branch]
2023-07-31 17:35:24 -04:00
michael bao
5e026e9749 fix nullptr access on PhysicsMaterial instead of PhysicsMaterialForDensity in caching/computing mass/density in the geometry collection
[FYI] cedric.caillaud

[CL 26689621 by michael bao in ue5-main branch]
2023-07-28 17:50:05 -04:00
jimmy andrews
bcd4636c1e Stop creating the Geometry Collection's Dynamic Component for Editor Preview Worlds (the worlds used for tool preview viewports, and thumbnails) since the Dynamic Component has data that isn't tracked for undo, so can't be active in editors contexts where undo can happen.
This fixes an issue where stale data on the preview thumbnail caused an ensure on undo of any fracture operation that changed the number of bones in the collection.

#jira UE-191403
#rb cedric.caillaud

[CL 26681608 by jimmy andrews in ue5-main branch]
2023-07-28 14:32:50 -04:00