Commit Graph

417 Commits

Author SHA1 Message Date
michael bao
b5ae00a61b geometry collection should return false for CanEditSimulatePhysics if no rest collection is set
#rb cedric.caillaud

[CL 28333213 by michael bao in ue5-main branch]
2023-09-28 20:31:47 -04:00
vincent robert
16568b2f49 Reduce memory usage in Dynamic Collection
Remove children array of set from Dynamic Collection, it is now using the bit array from its parent.
#rb cedric.caillaud

[CL 28331755 by vincent robert in ue5-main branch]
2023-09-28 18:44:03 -04:00
vincent robert
f2f162ac2d Reduce memory usage in Dynamic Collection
Remove parent array from Dynamic Collection, it is now replaced by a bit array
#rb cedric.caillaud

[CL 28285924 by vincent robert in ue5-main branch]
2023-09-27 15:03:55 -04:00
cedric caillaud
03cee15295 Geometry collection : fix new replication to set the velocity after the break is forced
#rb chris.caulfiled, michael.bao

[CL 28213461 by cedric caillaud in ue5-main branch]
2023-09-25 20:25:01 -04:00
zach bethel
41011faffa Fixed geometry collection to run on the scene pipe and defer dynamic data until the proxy is fully created.
[CL 28209499 by zach bethel in ue5-main branch]
2023-09-25 18:27:54 -04:00
cedric caillaud
a460e0231f Add option to make a GC component to follow it's root bone ( when dynamic )
- this does not work for kinematically moved GC in a cluster union but this should provide a good support for all the other cases

#rb michael.bao, jon.sourbeer

[CL 28169721 by cedric caillaud in ue5-main branch]
2023-09-22 22:55:32 -04:00
michael bao
adab4c241d reverting change to checking when to fire geometry collection OnFullyDecayed events since it instead prevented OnFullyDecayed from ever being fired
[FYI] jack.oakman

[CL 28149118 by michael bao in ue5-main branch]
2023-09-22 14:55:48 -04:00
trapper mcferron
17840ac155 Adds CVAR to apply debug coloring to broken primitives
Adds CVAR to force a # amount of primitives to be broken

#rb jeremy.moore cedric.caillaud

[CL 28112032 by trapper mcferron in ue5-main branch]
2023-09-21 18:36:53 -04:00
vincent robert
9286d328d8 Reduce memory in Dynamic Collection
#rb cedric.caillaud

[CL 28102631 by vincent robert in ue5-main branch]
2023-09-21 16:12:12 -04:00
cedric caillaud
c617387f30 Enable geometry collection replication optimized code path
#rb trivial

[CL 28061456 by cedric caillaud in ue5-main branch]
2023-09-20 18:26:37 -04:00
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