Commit Graph

520 Commits

Author SHA1 Message Date
cedric caillaud
bd29cafbab Geometry collection - memory optimization
* packed and re-ordered data in structures to minimize padding as much as possible
* reduce simulation parameters data by 80 bytes ( 112 if stripping the deprecated members )
* remove dead code

#rb titouan.deslandes

[CL 33871845 by cedric caillaud in ue5-main branch]
2024-05-23 15:40:38 -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
cedric caillaud
473b476c90 Fix broken chaos cache replay
- symptoms : Cache would fail to set the geometry collection to be kinematic when replaying , causing also the pose to be reset regardless of the start time
- fix : make sure to note recreate the physics state if it was already created, if it was , make sure to recreate the physics proxy as well


#rb Benn.Gallagher, vincent.robert
#jira UE-214150

[CL 33520578 by cedric caillaud in ue5-main branch]
2024-05-08 14:18:26 -04:00
jimmy andrews
5aecf12a04 Make the geometry collection neighbor/contact selection work on clusters + add supporting methods to enumerate neighbors w/ support for non-leaf transforms
+ make corresponding contact select dataflow nodes use the updated neighbor selection logic
#rb cedric.caillaud

[CL 33462920 by jimmy andrews in ue5-main branch]
2024-05-06 13:57:40 -04:00
jeremy moore
9b03886e49 Fix issue with blueprint thumbnails not rendering geometry collections with custom renderer.
For thumbnail rendering OnCreatePhysicsState() won't be called and so we need to rely on component registration to call RefreshCustomRenderer().
[FYI] cedric.caillaud

[CL 33253607 by jeremy moore in ue5-main branch]
2024-04-25 20:39:14 -04:00
cedric caillaud
e85c9ead08 Fix crash when moving a GC component while in a blueprint editor
[FYI] jeremy.moore, yuval.bar

[CL 33239557 by cedric caillaud in ue5-main branch]
2024-04-25 14:42:39 -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
jeremy moore
2e6477e1bc Refresh custom renderer when setting a new rest collection.
[CL 33180649 by jeremy moore in ue5-main branch]
2024-04-23 17:21:49 -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
graham wihlidal
6483e2aaaa [Nanite-Materials] First large scale removal of legacy PS material shading path from Nanite (in favor of new system). Lumen needs to be moved over to the new system in order to fully remove the legacy path (WIP).
#rb zach.bethel
#jira UE-187480
#fyi brian.karis, rune.stubbe, jamie.hayes, juan.canada

[CL 33127625 by graham wihlidal in ue5-main branch]
2024-04-20 00:25:44 -04:00
jeremy moore
2a3974daff Fix issue where reregistering custom renderers can apply to garbage objects and generate additional custom render local ISMs attached to the actor.
#rb cedric.caillaud

[CL 33056393 by jeremy moore in ue5-main branch]
2024-04-17 19:49:52 -04:00
jeremy moore
a3dec25e51 Fix issue where selecting new item in geom collection fracture mode makes previous selected item disappear.
#rb cedric.caillaud

[CL 33052740 by jeremy moore in ue5-main branch]
2024-04-17 18:37:30 -04:00
cedric caillaud
7fe3f94ce6 Geometry collection : make sure RefreshCustomRenderer check the broken state using the BrokenAndDecayedStates API instead of checking the Active attribute directly
- This ensure that the geometry collection will not pretend it is broken for a split time when spawning

[FYI] jeremy.moore, guillaume.patry

[CL 32839407 by cedric caillaud in ue5-main branch]
2024-04-09 16:59:24 -04:00
jeremy moore
0281589df5 #jira UE-209654
Don't recreate geometry collection custom renderer object unnecessarily at registration.
This allows the custom renderer to cache state across register/unregister teardown.

[CL 32765749 by jeremy moore in ue5-main branch]
2024-04-05 13:46:06 -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
cedric caillaud
9d90b5a20a Fix remove on sleep not working properly anymore with geometry collection
- make sure the dynamic collection is mark dirty after updating the scaled transform
- make sure we only scale relative to the previouly scaled transform

#jira UE-202204, UE-208293
#rb vincent.robert

[CL 32594593 by cedric caillaud in ue5-main branch]
2024-03-28 17:13:01 -04:00
benn gallagher
2116840283 Converted UGeometryCollection rest collections to shared ownership as the physics proxy now relies on the rest collection for immutable data.
- Proxy lifetime can exceed the lifetime of the UGeoemtryCollection so previously we can have the rest collection destroyed out from under the proxy causing it to crash

#rb cedric.caillaud, Chris.Caulfield

[CL 32540564 by benn gallagher in ue5-main branch]
2024-03-27 08:22:03 -04:00
michael forot
b6168a808d Boolean on the geometry collection to enable the convex optimization
#rb cedric.caillaud

[CL 32445886 by michael forot in ue5-main branch]
2024-03-22 15:20:59 -04:00
benn gallagher
4b20d00c15 Reduce severity of nav export warning in geoemtry collection. May be useful to enable when disagnosing nav issues but in editor modes the log messages are overly verbose and slow down movement of objects.
#rb michael.bao

[CL 32111645 by benn gallagher in ue5-main branch]
2024-03-07 21:09:02 -05: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
b790594ad8 Add cvar to disable root proxy component creation
[FYI] jack.oakman, jeremy.moore

[CL 31918622 by cedric caillaud in ue5-main branch]
2024-02-29 14:31:56 -05:00
cedric caillaud
24e1a4a3fc Geometry collection Animation fixes
- fixed anim component to properly play animation in blueprint viewports
- fixed root proxy local transform using the parent space reference pose instead of component space ones

[FYI] jacob.buck

[CL 31898734 by cedric caillaud in ue5-main branch]
2024-02-28 22:21:54 -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