250 Commits

Author SHA1 Message Date
michael bao
636f97d338 add ability to rebase the geometry collection component space transforms off the new world transform and keep the particles' old world space transforms
#rb cedric.caillaud, chris.caulfield
[FYI] Simone.Lombardo

[CL 32497069 by michael bao in 5.4 branch]
2024-03-26 00:56:06 -04:00
cedric caillaud
91480b8094 Add Anim Geometry Collection component
- This component allow binding a geometry collection with a skeletal mesh for animation fo the root proxy meshes

#rb Chris.Caulfield, benn.gallagher, jeremy.moore

[CL 32489996 by cedric caillaud in 5.4 branch]
2024-03-25 18:45:40 -04:00
cedric caillaud
008be9ebe8 Geometry Collection : static mesh root proxies component now updates with root transform and broken state
#rb Jeremy.Moore

[CL 32488873 by cedric caillaud in 5.4 branch]
2024-03-25 18:24:55 -04:00
benn gallagher
d3ef04cead Expose fully decayed flag on geometry collection components
Gameplay systems may want to bind to the decayed event on a geometry collection, but if it's already fully decayed the event will never fire. In order to handle this we can expose the flag so gameplay can check first before binding to the event

#rb Shaun.Kime

[CL 32005132 by benn gallagher in 5.4 branch]
2024-03-04 18:47:59 -05:00
jeremy moore
99c6d526bc Add OnActorVisibilityChanged virtual function for UActorComponent.
SetActorHiddenInGame() now ends up calling this.
Override on GeometryCollectionComponent to update any custom renderer.
#rb aidan.mcdu, cedric.caillaud

[CL 31782189 by jeremy moore in 5.4 branch]
2024-02-23 18:05:20 -05:00
cedric caillaud
5bdfe67f76 Enable rendering root proxy meshes in editor when available for geometry collections
- change back to normal rendering when asset is selected in fracture editor

#rb Jeremy.Moore, benoit.deschenes

[CL 31739459 by cedric caillaud in 5.4 branch]
2024-02-22 18:07:51 -05:00
aidan mcdu
3e33257544 [Lime]
Integrating code that allows for geometry collections to actually be hidden when you ask them to.
Modifying minor BP flow funcitonality so that we don't hide the Geometry Collection for no reason, and we clean up the tempororay static mesh component that we created in order to generate the SM previews.
#rb Cory.Kolek

[CL 31668753 by aidan mcdu in 5.4 branch]
2024-02-20 20:43:04 -05:00
jeremy moore
8f74296bbb GeometryCollectionComponents that have root proxies will now create root proxy static mesh components when there is no other render method enabled.
This deals with an edge case with geometry collection custom renderers. Custom renderers don't run in edition mode, and in editor we would expect to have mesh data available instead. But for UEFN editor with cooked data, the mesh data may already be removed (because it is not needed in cooked game).
#rb Shaun.Kime
[FYI] cedric.caillaud

[CL 31642958 by jeremy moore in 5.4 branch]
2024-02-20 08:47:32 -05:00
cedric caillaud
5d66b2a140 Geometry collection : remove unused DummyBodyInstance property
Can save up to 400 bytes per component ( maybe lower based on which memory pool the component ends up be allocated in  )

#rb vincent.robert, chris.caulfield, benn.gallagher

[CL 31532134 by cedric caillaud in 5.4 branch]
2024-02-15 15:13:35 -05:00
cedric caillaud
1b19ba3ddb Unshelved from pending changelist '30895702':
Fix geometry collection dynamic data replication
- Some members of the structure were not properly netserialized
- Root data was always ignore
- Dynamic and static rep data were sharing the same VersionProcessed

#rb Chris.Caulfield, michael.bao

[CL 31244308 by cedric caillaud in 5.4 branch]
2024-02-06 21:10:28 -05:00
kenzo terelst
24051b2cbf Rename FComponentPSOPrecacheParams to FMaterialInterfacePSOPrecacheParams - use shared version defined in PSOPrecache.h so it can be used outside of FPrimitiveComponent as well
[CL 30629794 by kenzo terelst in ue5-main branch]
2024-01-16 04:04:28 -05:00
cedric caillaud
b8a308ca64 Geometry collection : expose EnableRootProxyForCustomRenderer function to blueprint
[FYI] jacob.buck

[CL 30489780 by cedric caillaud in ue5-main branch]
2024-01-08 16:13:47 -05:00
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
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
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
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
sergio gardeazabal
abf12ea202 [Chaos] Making RefreshCustomRenderer on Geometry Collection Component public so other objects can force an update if needed.
Also updated a class to make use of this method until we find a better solution.

[REVIEW] 654bd7ca7236ad045f24f2ce

[CL 29581933 by sergio gardeazabal in ue5-main branch]
2023-11-08 19:23:55 -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
todd eckert
a9c39581c6 Exposed some setters for various properties we were setting in construction scrips.
#rnx

[CL 29265865 by todd eckert in ue5-main branch]
2023-10-31 00:41:24 -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
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
903f61073b Add partial destruction decay system for moving buildings
When the building is moving , check at regular interval if any partially destroyed geometry collection has been broken for certain amount of time since the building is moving
If so, then release it
- Cache the dynamic state in the cluster union component to avoid calling IsSimulatingPhysics()
- Added a virtual function called whenever the physics state of the cluster union is set

#rb benn.gallagher, michael.lentinne, michael.bao, chris.caulfield

[CL 29121109 by cedric caillaud in ue5-main branch]
2023-10-26 00:18:08 -04:00