266 Commits

Author SHA1 Message Date
cedric caillaud
0d10f2feae Geometry collection : fix issues where geometry collection do not properly update the velocity buffer
- this is because the previous transforms are not properly set

#rb jeremy.moore

[CL 36747865 by cedric caillaud in 5.5 branch]
2024-10-01 17:48:47 -04:00
Michael Forot
dcf4d77016 6- Chaos rigid dataflow simulation support
#rb cedric.caillaud
#jira none

#virtualized

[CL 36009893 by Michael Forot in ue5-main branch]
2024-09-04 11:01:32 -04:00
cedric caillaud
83dddda3e9 Geometry collection : Add GetLocalRestTransform blueprint function
[CL 35912879 by cedric caillaud in ue5-main branch]
2024-08-29 23:06:41 -04:00
sebastien lussier
93c6874ab9 World Partition - HLODs - Improved support for Geometry Collection components
* Will now rely on the Geometry Collection ISM Pool components to generate the HLOD, allowing PerInstanceData to be taken into account in the HLOD
* As a side effect, this allow the computation of a valid "HLOD hash"  for HLODs from GC on building actors - previously only correct for JunoBuildingProp
#jira UE-220875
#rb Jeremy.Moore, Richard.Malo

[CL 35825057 by sebastien lussier in ue5-main branch]
2024-08-27 10:37:53 -04:00
bill henderson
b1005ac923 New Geometry Collection option to always update active transforms - so vehicle parts can fall off and remain on the ground rather than following the root actors movement
#rb cedric.caillaud

[CL 35692033 by bill henderson in ue5-main branch]
2024-08-21 05:26:23 -04:00
cedric caillaud
ad20c033f3 Geometry collection : expose a way for blueprint to set the component space transform of a specific roiot proxy mesh
[CL 35125615 by cedric caillaud in ue5-main branch]
2024-07-26 20:47:26 -04:00
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