Commit Graph

260 Commits

Author SHA1 Message Date
Brice Criswell
235805fc4a GeometryCollection : Blueprint access for ChaosSolverActor
#rb cedric.caillaud
#jira none

[CL 34348805 by Brice Criswell in ue5-main branch]
2024-06-13 14:36:36 -04:00
cedric caillaud
1be79a061b geometry collection : add support for changing enable gravity flag at runtime
[FYI] chris.caulfield

[CL 33928320 by cedric caillaud in ue5-main branch]
2024-05-27 14:23:58 -04:00
titouan deslandes
2222f0c382 Geometry collection - memory optimization
* packed and re-ordered members in GeometryCollectionComponent, saving 64 bytes
* packed and re-ordered members in GeometryCollectionISMPoolRenderer, saving 16 bytes
* packed and re-ordered members in IPhysicsProxyBase, saving 8 bytes
* packed and re-ordered members in ClusterUnionReplicatedProxyComponent, saving 16 bytes

#rb cedric.caillaud

[CL 33894015 by titouan deslandes in ue5-main branch]
2024-05-24 10:31:28 -04:00
jimmy andrews
636bfbf3fc Remove bone selected material reference from UGeometryCollection, and clean up some references / accesses to it and legacy methods referring to its (now nonexistent) material ID
#rb cedric.caillaud

[CL 33836478 by jimmy andrews in ue5-main branch]
2024-05-22 13:38:07 -04:00
jeremy moore
d24210941f Fix for Geometry Component in-editor moving.
Refreshing custom renderer during OnUpdateTransform() happens before the fulll component hierachy has the transform applied. This means that the refreshed intance transform is based against the previous actor root transform and an offset can occur.
Move the refresh to the end of MoveComponentImpl() fixes it.
Submitting to unblock users, but will also investigate if using local transform space instead or world space is better.

[CL 33189751 by jeremy moore in ue5-main branch]
2024-04-23 21:00:48 -04:00
cedric caillaud
35d0b0010a Managed array collection : encapsulation of variable members of FValueType
- this is in preparation of copy on write attribute support in managed array collection

#rb Brice.Criswell, kriss.gossart, vincent.robert

[CL 33172831 by cedric caillaud in ue5-main branch]
2024-04-23 13:09:41 -04:00
jeremy moore
9821e1307b Geometry collection fix for bug with duplicated ISMs on Editor representation.
Issue was that duplicating an actor in Editor would duplicate the ISMs in the object hierachy. Because the ISM Pool was marked as transient the ISMs would be left leaking when the duplicated actor's custom renderer reregistered and created new ISMs.

[CL 33139028 by jeremy moore in ue5-main branch]
2024-04-22 10:52:10 -04:00
jeremy moore
2294440150 Support ISMPool geometry collection custom renderer working in editor.
It does that through each geom collection creating its own ISPool. This way we get the runtime visuals and hit proxies still work.
Removed root proxy static component creation in geometry collection, and added a custom renderer that does this.
#rb cedric.caillaud
#jira UE-209654

[CL 32663574 by jeremy moore in ue5-main branch]
2024-04-02 07:56:31 -04:00
jeremy moore
1aa8194ace Fix potential flicker when marking render state dirty on geometry collection component.
Issue is that geometry collection scene proxies were always created at the rest transform state, and then the current transforms were set at the first update. This would could cause a reset flicker.
Also the first update wouldn't happen if the component was at rest, so visually it would go back to the rest state and stay there.
The fix is to get the current DynamicData during scene proxy construction.
#rb cedric.caillaud
#jira UE-210150

[CL 32331095 by jeremy moore in ue5-main branch]
2024-03-19 13:29:21 -04:00
zack neyland
9a43423927 FN: Compile/linker fixes for missing symbols.
#rnx

[CL 32233026 by zack neyland in ue5-main branch]
2024-03-13 19:11:04 -04:00
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
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
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
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