Commit Graph

407 Commits

Author SHA1 Message Date
cedric caillaud
fc9959bb9d GC Replication improvement
- This is behind a cvar (p.Chaos.GC.UseReplicationV2) ( off for now )
- Split replicated data in two : state and dynamic
     - State data contains a bitArray of what's broken and an array of recently released pieces with matching breaking velocities
     - Dynamic data contains tracked ( XR and VW ) dynamic pieces
- Reduced the precision for quantized breaking velocities
- Store rotation as euler to allow for quantized rotation in dynamic data
- Breaking velocities are removed as particles become disabled to save bandwidth for players joining later or coming into relevancy
- Tried to share as much code as possible between the old and new replication code paths

#rb markus.boberg, michael.bao, benn.gallagher

[CL 28059803 by cedric caillaud in ue5-main branch]
2023-09-20 18:00:34 -04:00
vincent robert
839bda5113 Reduce memory usage in Geometry Collection
Relative Transform in Dynamic Collection are now in single precision. This change implicates an API change. The Managed Array of transforms being in public, and being changed make some backward compatibility breakage. This array shouldn't have be used much.
#rb cedric.caillaud

[CL 27942269 by vincent robert in ue5-main branch]
2023-09-15 22:05:02 -04:00
cedric caillaud
9fb429c837 geometry collection : make the following properties to be editable at runtime ( even if the phsyics state is already created )
- DamageModel
- DamagePropagationdata
- UseMaterialDamageModifiers
- MaterialOverrideMassScaleMultiplier
- GravityGroupIndex

#rb michael.bao

[CL 27941104 by cedric caillaud in ue5-main branch]
2023-09-15 21:02:56 -04:00
cedric caillaud
fd0824abbe Add Cvar to allow creation of physics state in non-PIE editor mode
[FYI] michael.bao, phil.cole

[CL 27931391 by cedric caillaud in ue5-main branch]
2023-09-15 16:11:24 -04:00
michael bao
6aac4ee6c5 accidental pragma optimize removal
[CL 27918383 by michael bao in ue5-main branch]
2023-09-15 12:00:48 -04:00
michael bao
9d4ad54ad0 geometry collection fully decayed event needs to actually wait for particles to decay
[FYI] jack.oakman

[CL 27918156 by michael bao in ue5-main branch]
2023-09-15 11:58:27 -04:00
cedric caillaud
81dcd73543 Geometry collection : fix rest transform not properly reflected in the viewport when set in a construction script
#rb trivial

[CL 27908068 by cedric caillaud in ue5-main branch]
2023-09-15 02:52:13 -04:00
cedric caillaud
196ad15df9 Geometry collection : Fix few crashes resulsting from recent changes
#rb trivial

[CL 27904988 by cedric caillaud in ue5-main branch]
2023-09-14 21:49:51 -04:00
cedric caillaud
8b6bc26d90 Attempt to fix Arm64 build ( from CL 27902529)
#rb trivial

[CL 27902945 by cedric caillaud in ue5-main branch]
2023-09-14 20:12:47 -04:00
cedric caillaud
46a8973fe8 Make Component Space transform to be computed on demand
- Hide the array beghind an API that expose root transform and all transform tracking a dirty state

#rb benn.gallagher

[CL 27902559 by cedric caillaud in ue5-main branch]
2023-09-14 19:55:19 -04:00
michael bao
85282df513 geometry collections need to reset their rest transforms just in case they were stored accidentally
#rb cedric.caillaud

[CL 27896749 by michael bao in ue5-main branch]
2023-09-14 17:34:10 -04:00
michael bao
94111e71f5 geometry collections need to reload collision profiles when the primitive component body instance collision settings change
#rb cedric.caillaud

[CL 27860431 by michael bao in ue5-main branch]
2023-09-13 19:51:19 -04:00
cedric caillaud
d7bdbc984d Add extra stats to track post physics sync callback in geometry collection as well as fully decayed event broadcast
#rb trivial

[CL 27782072 by cedric caillaud in ue5-main branch]
2023-09-11 23:51:20 -04:00
cedric caillaud
3c76033086 geometry collection : remove MassToLocal from dynamic collections since it is never modified from the asset
- using the RestCollection immutable MassToLocal instead
- this save a 2x96 bytes per bone per geometry collection instance

#rb vincent.robert, benn.gallagher, brice.criswell

[CL 27777942 by cedric caillaud in ue5-main branch]
2023-09-11 19:34:31 -04:00
cedric caillaud
acadc236cf Cluster union : add native multicast events for faster dispatch
Also provide a TSet version of SetPerParticleCollisionProfileName to avoid converting TSet to arrays

#rb michael.bao

[CL 27734720 by cedric caillaud in ue5-main branch]
2023-09-08 20:02:06 -04:00
cedric caillaud
591910855b Geometry collection : do not pay the cost of transform multiplication if transform as no parent
#rb trivial

[CL 27696863 by cedric caillaud in ue5-main branch]
2023-09-07 20:06:04 -04:00
cedric caillaud
1c4f0b316c Geometry collection : fix component space transform computation using the wrong parent transform
#rb trivial
[FYI] benn.gallagher, vincent.robert

[CL 27653471 by cedric caillaud in ue5-main branch]
2023-09-06 17:15:27 -04:00
cedric caillaud
86dd65778d Compute component space transform optimization
Store breadth first order indices for transform on the rest collection

#rb benn.gallagher, vincent.robert, brice.criswell
[FYI] jeremy.moore

[CL 27652487 by cedric caillaud in ue5-main branch]
2023-09-06 17:00:17 -04:00
sebastien lussier
432c543bef Properly register new components in UGeometryCollectionComponent::CreateProxyComponents()
#rb trivial

[CL 27594087 by sebastien lussier in ue5-main branch]
2023-09-05 08:59:25 -04:00
aris theophanidis
09a5db431c Addition of a boolean to control navigation relevancy
#rb Mieszko.Zielinski

[CL 27561521 by aris theophanidis in ue5-main branch]
2023-09-01 14:15:22 -04:00
dan oconnor
acc3fbcc61 Fix interface UGeometryCollectionExternalRenderInterface usage, should be using TScriptInterface as per disfunctional UHT error
#rb Zousar.Shaker

[CL 27511684 by dan oconnor in ue5-main branch]
2023-08-30 22:47:59 -04:00
cedric caillaud
1274fd392b Geometry collection : make sure SetPerParticleCollisionProfileName do not call LoadCollisionProfiles if the array has not changed
#rb michael.bao, benn.gallagher, dmytro.vovk

[CL 27456067 by cedric caillaud in ue5-main branch]
2023-08-29 14:00:38 -04:00
cedric caillaud
d5c8184cbb Geometry collectoion : make sure that RestTransform is only set when necessary ( from SetRestState )
#rb benn.gallagher, vincent.robert, michael.bao, brice.criswell

[CL 27433985 by cedric caillaud in ue5-main branch]
2023-08-28 21:37:08 -04:00
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
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