Commit Graph

400 Commits

Author SHA1 Message Date
michael bao
45d778c795 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 32058239 by michael bao in ue5-main branch]
2024-03-06 12:31:36 -05:00
benn gallagher
87a37bc5b4 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 32009262 by benn gallagher in ue5-main branch]
2024-03-04 21:05:37 -05:00
jeremy moore
c8886e0f4c #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 31960698 by jeremy moore in ue5-main branch]
2024-03-01 18:08:42 -05:00
cedric caillaud
a1c5c9f2fc 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 31864780 by cedric caillaud in ue5-main branch]
2024-02-27 23:32:02 -05:00
cedric caillaud
9d76931132 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 31864602 by cedric caillaud in ue5-main branch]
2024-02-27 23:05:17 -05:00
cedric caillaud
b12f0786c4 Geometry Collection : static mesh root proxies component now updates with root transform and broken state
#rb Jeremy.Moore

[CL 31821545 by cedric caillaud in ue5-main branch]
2024-02-26 18:19:17 -05:00
jeremy moore
0132f1037a 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 31782941 by jeremy moore in ue5-main branch]
2024-02-23 18:25:55 -05:00
cedric caillaud
19dbf8c4e7 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 31744435 by cedric caillaud in ue5-main branch]
2024-02-22 19:18:24 -05:00
aidan mcdu
47cc773acf [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 31671610 by aidan mcdu in ue5-main branch]
2024-02-20 21:24:20 -05:00
jeremy moore
a5e85b59f6 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 31643010 by jeremy moore in ue5-main branch]
2024-02-20 08:48:42 -05:00
steve robb
f8d47335a4 Replaced RemoveAt(N, 1, EAllowShrinking::*) with RemoveAt(N, EAllowShrinking::*).
[CL 31626444 by steve robb in ue5-main branch]
2024-02-19 16:51:58 -05:00
cedric caillaud
a1b4c43ebf 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 31536693 by cedric caillaud in ue5-main branch]
2024-02-15 16:43:53 -05:00
cedric caillaud
f3a4d80249 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 31244381 by cedric caillaud in ue5-main branch]
2024-02-06 21:11:45 -05:00
trapper mcferron
89b6eb78ba #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 31239930 by trapper mcferron in ue5-main branch]
2024-02-06 19:05:22 -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
jeremy moore
d2a0916428 ISMPool, fix issue where preallocation queue contains raw object pointers that can be invalid by the time we process the entries.
Use weak object pointers instead.

[CL 29533102 by jeremy moore in ue5-main branch]
2023-11-07 16:19:51 -05:00