Commit Graph

510 Commits

Author SHA1 Message Date
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
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
cedric caillaud
8c2e5d4aba Fix geometry collection not showing destruction
Fallout from 31782118

[FYI] jeremy.moore, benn.gallagher
#rb shaun.kime, aidan.mcdu

[CL 31795816 by cedric caillaud in ue5-main branch]
2024-02-26 00:54:41 -05:00
cedric caillaud
21395df069 Fix crash with geometry collection component trying to create their static mesh component for root proxies while not having a an owner yet
[CL 31794446 by cedric caillaud in ue5-main branch]
2024-02-25 17:03:11 -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
chris caulfield
b4488c2f8b Chaos - add FBodyInstance::bUseMACD flag to enable Motion-Aware Collision Detection per particle
- flag is also used by GeomrteyCollections
- wire flag through to Chaos particles in the ControlFlags structure

NOTE: this flag isn't actually being used yet. It will be connected to the MACD feature in an upcoming change.

#rb Benn.Gallagher

[CL 31588117 by chris caulfield in ue5-main branch]
2024-02-16 19:01:12 -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