Commit Graph

473 Commits

Author SHA1 Message Date
vincent robert
091054745a No creating particle and geometry on Game Thread when creating a Geometry Collection.
Still creating geometry on the Physics Thread, otherwise a partial destruction issue occurs.
Setup query flag after particle and geometry creation
#rb cedric.caillaud
#fy chris.caulfield

[CL 30386282 by vincent robert in ue5-main branch]
2023-12-18 19:27:18 -05:00
cedric caillaud
9842d58a96 geometry collection : fix pre-placed geometry collection not properly setting collision when calling SetUseStaticMeshCollisionForTraces from construction script
- When placing in editor, construction script runs before physics proxy is set , which was not setting the collision properly
- Move the proxy side flag to be part of the simulation parameters, so that when the proxy get created it is properly set from the component bUseStaticMeshCollisionForTraces property

#rb emanuel.masciarelli, michael.bao, vincent.robert

[CL 30378857 by cedric caillaud in ue5-main branch]
2023-12-18 12:52:01 -05:00
benn gallagher
a7c12121a9 Handle geometry collection particles being decayed immediately on the physics thread and fix immediately decayed internal geometry collection clusters reporting their children as active.
#rb cedric.caillaud

[CL 30290897 by benn gallagher in ue5-main branch]
2023-12-13 08:53:16 -05:00
kenzo terelst
4450458128 PSO Precache miss fixes:
- precache PSOs for GeometryCollectionComponent without custom renderer
- precache PSOs for Volumetric fog materials
- precache PSOs for projected shadow rendering using depth pass processor with different depth stencil state and render target
- always precache shadow rendering PSOs for default stream (non Position and PositionAndNormalOnlyStream)

#rb benjamin.rouveyrol

[CL 30290345 by kenzo terelst in ue5-main branch]
2023-12-13 08:14:19 -05:00
aris theophanidis
26e4fec512 Addition of a warning in UGeometryCollectionComponent to catch GC that might be using bStripOnCook without bUseRootProxyForNavigation (resulting in exporting nothing).
#rb cedric.caillaud

[CL 30276242 by aris theophanidis in ue5-main branch]
2023-12-12 16:10:18 -05:00
cedric caillaud
2f9a56c50a Geometry collection: fix ivisible geometry collection when using ISM Pool but no root proxy meshes
#rb Jeremy.Moore

[CL 30243415 by cedric caillaud in ue5-main branch]
2023-12-11 13:44:33 -05:00
vincent robert
fb68621191 [Backout] - CL30213133
[FYI] vincent.robert
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL30211300
[FYI] vincent.robert
Original CL Desc
-----------------------------------------------------------------
Reduce array size to store only required particles.
Several array in the Geometry Collection are used to store particle. According to the max simulation level, not all particle are created.
Now array have their own size, the particle size and the transform size in the proxy is now distinguished.
This change save 55% of memory in initialization.
It also avoid to process all transforms, we now iterate only through particles which should be way faster.
#rb cedric.caillaud

[CL 30221091 by vincent robert in ue5-main branch]
2023-12-08 17:44:59 -05:00
vincent robert
3a8a8e02b7 [Backout] - CL30211300
[FYI] vincent.robert
Original CL Desc
-----------------------------------------------------------------
Reduce array size to store only required particles.
Several array in the Geometry Collection are used to store particle. According to the max simulation level, not all particle are created.
Now array have their own size, the particle size and the transform size in the proxy is now distinguished.
This change save 55% of memory in initialization.
It also avoid to process all transforms, we now iterate only through particles which should be way faster.
#rb cedric.caillaud

[CL 30213295 by vincent robert in ue5-main branch]
2023-12-08 12:11:16 -05:00
vincent robert
9df21ce019 Reduce array size to store only required particles.
Several array in the Geometry Collection are used to store particle. According to the max simulation level, not all particle are created.
Now array have their own size, the particle size and the transform size in the proxy is now distinguished.
This change save 55% of memory in initialization.
It also avoid to process all transforms, we now iterate only through particles which should be way faster.
#rb cedric.caillaud

[CL 30211315 by vincent robert in ue5-main branch]
2023-12-08 10:57:31 -05:00
markus boberg
2b8dbad6d8 Small coding standard fix that failed to merge down after being cherry picked to parent stream and altered there.
#rb jeanfrancois.stamour

[CL 30010964 by markus boberg in ue5-main branch]
2023-11-30 04:34:32 -05:00
marc audy
01e7381e04 Fix C4702 warnings
#rnx

[CL 29975801 by marc audy in ue5-main branch]
2023-11-28 19:03:48 -05:00
markus boberg
c5d4883efb Server crash on executing async physics command.
Check that the cached lambda function is callable before calling it.
Null check logic in the source function enqueing the lambda.
Use locally cached async physics command struct instead of accessing array each time.

#rb Michael.Forot

[CL 29711242 by markus boberg in ue5-main branch]
2023-11-14 08:57:39 -05:00
michael bao
12eb342dcd revert previous change to call RegisterForEvents every time we change a notify global event flag - only set the flag directly on the PT directly for breaks
#rb cedric.caillaud

[CL 29677753 by michael bao in ue5-main branch]
2023-11-12 17:45:44 -05:00
michael bao
c74837a2fa geometry collection should track its previously set world transform external so the GT can compute the difference between the two if needed (e.g. if it needs to query the difference prior to the PT->GT sync)
#rb cedric.caillaud

[CL 29673947 by michael bao in ue5-main branch]
2023-11-11 16:24:45 -05:00
michael bao
6daadceddd geometry collection needs to turn on break events at the solver level if either notify breakings or notify global breakings is set to true - also made sure the flag gets set properly for removals and collisions
#rb cedric.caillaud, vincent.robert

[CL 29629911 by michael bao in ue5-main branch]
2023-11-09 22:54:29 -05:00
cedric caillaud
4b029f888c Fix rendering offsets with cluster unions
- This is caused by the  transform not being properly defined when receiving a ComponentAdded event
- Override ChildToParentUpdated method to update the rendering transform

#rb michael.bao, chris.caulfield, michael.lentine

[CL 29615742 by cedric caillaud in ue5-main branch]
2023-11-09 18:50:49 -05:00
titouan deslandes
2a57b8f063 Deprecated COPY_ON_WRITE_ATTRIBUTE and Indirect TManagedArray, removed CopyOnWriteAttributeList saving 200 bytes per GC.
Use the RestCollection to access those attributes instead.

#rb cedric.caillaud

[CL 29289224 by titouan deslandes in ue5-main branch]
2023-10-31 16:28:26 -04:00
michael forot
21de6da55b Call FlushNetDormancy only when some replicated property are changing to avoid replicating all GCs and preventing the repmovement to be replicated
#rb michael.bao

[CL 29272717 by michael forot in ue5-main branch]
2023-10-31 09:32:18 -04:00
chris caulfield
d0cb9a55f4 Geometry Collection - add OneWayInteractionLevel rather than IsOneWayInteraction to get more control over which particles behave like debris
#rb cedric.caillaud, michael.bao

[CL 29257116 by chris caulfield in ue5-main branch]
2023-10-30 19:23:20 -04:00
michael lentine
d3ed2bc54f Undo //Fortnite/Release-28.00/Engine/Source/Runtime/Experimental/GeometryCollectionEngine/... changelist 29242678
#rb none

[CL 29256090 by michael lentine in ue5-main branch]
2023-10-30 18:49:35 -04:00
titouan deslandes
bad8f30386 Deprecated COPY_ON_WRITE_ATTRIBUTE and Indirect TManagedArray, removed CopyOnWriteAttributeList saving 200 bytes per GC.
Use the RestCollection to access those attributes instead.

#rb cedric.caillaud, vincent.robert, Benn.Gallagher

[CL 29246315 by titouan deslandes in ue5-main branch]
2023-10-30 15:57:51 -04:00
cedric caillaud
1bc32b81dd Geometry collection component : make sure physics material can be set while physics state has been created
#rb michael.bao, todd.eckert, jon.sourbeer

[CL 29238554 by cedric caillaud in ue5-main branch]
2023-10-30 13:14:08 -04:00
benn gallagher
83be2df6a6 Stop geometry collection components from spending time updating their body instance inherited from primitive component when updating transforms. The geometry collection component controls its own physics transforms internally and doesn't require the body instance.
#rb Michael.Bao

[CL 29224722 by benn gallagher in ue5-main branch]
2023-10-29 15:50:12 -04:00
todd eckert
59ac23d5d7 Fixed an issue where prefab's were using the wrong physical material
see https://jira.it.epicgames.com/browse/PLAY-19518 and https://jira.it.epicgames.com/browse/PLAY-16871

#juno
#rnx

[CL 29166273 by todd eckert in ue5-main branch]
2023-10-26 22:17:13 -04:00
cedric caillaud
1e3697780d Remove ensure about Nans iwhen getting the root transform until the proxy race condition is properly fixed
#rb sergio.gardeazabal, michael.lentine

[CL 29165791 by cedric caillaud in ue5-main branch]
2023-10-26 22:10:43 -04:00