401 Commits

Author SHA1 Message Date
michael forot
7a8256b5e8 Boolean on the geometry collection to enable the convex optimization
#rb cedric.caillaud

[CL 32512523 by michael forot in 5.4 branch]
2024-03-26 12:24:35 -04:00
cedric caillaud
5a337253ca Dataflow:
- Implemented StaticMeshToCollection node

#rb cedric.caillaud, Jimmy.Andrews

#p4v-cherrypick 32265804
[FYI] gustav.melich

[CL 32500178 by cedric caillaud in 5.4 branch]
2024-03-26 02:54:15 -04:00
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
78bec73a27 Fix build issue related to CL 31864591
( virtual pure method was added on the engine side, but some builds do not sync the game code , causing abstract class allocation errors)

[FYI] jeremy.moore, benn.gallagher
preflight none

[CL 32490002 by cedric caillaud in 5.4 branch]
2024-03-25 18:45:47 -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
3e5d8559d6 #jira UE-208710
Make SetCustomInstanceData() be part of generic IGeometryCollectionExternalRenderInterface.
It's not truly generic so might to move out to it's own interface?
Add geometry collection blueprint library with function to call this.
#rb Shaun.Kime

[CL 31960631 by jeremy moore in 5.4 branch]
2024-03-01 18:07:13 -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
trapper mcferron
3d8ffe15c9 #rb jeremy.moore
If bAllowPerInstanceRemoval was set, an instance would be removed if the transform scale is 0 and readded when transform scale is valid.  The process of removing it erases its custom instance data and there is no way to restore it when the instance is readded.

This CL makes a shadow copy of the custom instance data if bAllowPerInstanceRemoval is set which allows the process of readding the instance to also restore its custom instance data.


#changelist validated
#virtualized

[CL 31237346 by trapper mcferron in 5.4 branch]
2024-02-06 18:23:19 -05:00
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -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
matt peters
64658cf6ae GetAssetRegistryTags deprecation: Make the old GetAssetRegistryTags and related functions deprecated.
Upgrade the overrides and callsites in all of Epic's code.
Every class that can be subclassed by licensees that has its override change needs to keep the old version of the function as deprecated. Otherwise subclasses that call Super::GetAssetRegistryTags will have a compile error instead of a deprecation warning.
Several classes had their own extension method for GetAssetRegistryTags being passed on to user data classes. Updated all of those to take FAssetRegistryTagsContext just like GetAssetRegistryTags does.
#rnx
#rb Francis.Hurteau

[CL 30224166 by matt peters in ue5-main branch]
2023-12-08 21:45:21 -05:00
jeremy moore
f3aa01fb82 Add ISMPool option to not pay cost of ISM component update and ISMPool Tick associated with preallocation.
[CL 29683832 by jeremy moore in ue5-main branch]
2023-11-13 10:09:25 -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