Commit Graph

190 Commits

Author SHA1 Message Date
brett miller
ecc8260541 GeometryCollection
-- fixed a bug in calc bounds when creating a new (empty) rest collection

#jira none
#rb none

#ROBOMERGE-SOURCE: CL 15885801 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15889600 by brett miller in ue5-main branch]
2021-04-01 11:11:57 -04:00
brett miller
84cebc9784 GeometryCollection
-- Removed vertex visibility test from CalcBounds as it was having the opposite performance effect than intended.

#jira none
#rb none

#ROBOMERGE-SOURCE: CL 15882294 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15889237 by brett miller in ue5-main branch]
2021-04-01 10:41:00 -04:00
brett miller
2f96887ddf GeometryCollectionComponent
-- changed the way ISMCs are spawned for embedded geometry to correct issues with cache spawns.

#jira none
#rb none

#ROBOMERGE-SOURCE: CL 15869816 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15869819 by brett miller in ue5-main branch]
2021-03-30 20:35:50 -04:00
brice criswell
46fdf49d6b Chaos : Secondary Particle Emission
-- Changed how particle to proxy mapping is implemented. Removed the map maintained on the solver. Each particle now maintains its own pointer to the associated proxy. Internal cluster particles are linked to multiple proxies (necessarily: they need this information to mark proxies dirty during the buffering process). Internal cluster particles have a set of proxy pointers that are used in situations that require it.

#jira none
[FYI] brett.miller
#rb brett.miller,benn.gallagher
#preflight 605e25c90944f600013b5281

#ROBOMERGE-OWNER: brice.criswell
#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 15843324 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15843590 by brice criswell in ue5-main branch]
2021-03-26 21:45:20 -04:00
brice criswell
ef7a9e4414 GeometryCollection : Rendering
-Fix regression with GeometryCollection not rendering in Standalone Game
#rb None
#jira None
#okforgethub public, internal
#preflight 605cf0a80944f60001da62ff

#ROBOMERGE-SOURCE: CL 15834257 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v785-15821902)

[CL 15834721 by brice criswell in ue5-main branch]
2021-03-25 18:53:29 -04:00
cedric caillaud
d8aed49cad Chaos Physics - add support for moving geometry collection
- account for component transform on a per frame basis
- updates kinematic particle accordingly
- add missing calls to the solver to support it

#rb brice.criswell, brett.miller
#jira none

[CL 15833163 by cedric caillaud in ue5-main branch]
2021-03-25 17:47:32 -04:00
brett miller
f0231bd8c2 Geometry Collection
-- Embedded geometry tweaked to make them compatible with chaos caching.

#jira none
#rb none

#ROBOMERGE-SOURCE: CL 15814675 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15814730 by brett miller in ue5-main branch]
2021-03-24 21:38:10 -04:00
rune stubbe
7588e761f5 Fix for GC not unregistering the Nanite resource with the streamer when it is removed or changed.
Added fence in GC to make sure the renderer is done with the Nanite resource before deleting it
#rb graham.wihlidal

#ROBOMERGE-SOURCE: CL 15786206 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15790745 by rune stubbe in ue5-main branch]
2021-03-23 22:42:38 -04:00
benn gallagher
390b1ca998 Fix UE4 reference in comments
#rb trivial
#jira UE-111743

#ROBOMERGE-SOURCE: CL 15766022 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15777313 by benn gallagher in ue5-main branch]
2021-03-23 11:16:31 -04:00
brett miller
7b72956dac Fracture Mode
-- re-instated shift-b to toggle bone colors in fracture mode.

#jira UE-110753
#rb none

#ROBOMERGE-SOURCE: CL 15756406 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v783-15756269)

[CL 15767306 by brett miller in ue5-main branch]
2021-03-22 14:37:32 -04:00
brice criswell
ccd419269d Chaos : Destruction
Re-exposed the connection method enums to the GeometryCollectionObject.
#rb None
#jira None
#okforgethub public, internal
#preflight 605447dd168034000119dc7b

#ROBOMERGE-OWNER: brice.criswell
#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 15745578 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15750237 by brice criswell in ue5-main branch]
2021-03-19 15:28:38 -04:00
brett miller
167980ad12 GeometryCollectionComponent
-- wrapped PostEditChangeChainProperty in WITH_EDITOR to prevent build error for runtime.

#jira none
#rb none

#ROBOMERGE-SOURCE: CL 15745059 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15745060 by brett miller in ue5-main branch]
2021-03-18 23:55:49 -04:00
brett miller
362cdbc584 GeometryCollectionComponent
Fracture Mode
-- moved ShowBoneColors from FractureMode to GeometryCollectionComponent to make it persistent.

#jira UE-110753
#rb none

#ROBOMERGE-SOURCE: CL 15742420 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15743750 by brett miller in ue5-main branch]
2021-03-18 20:04:04 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
graham wihlidal
9ae7a8e6d3 Fixes for the horrible Nanite "black material" shading and broken hit proxies.
Pretty nasty one where material slots are manually added/changed (differing from LOD0), Nanite encodes the material tables from that, but then the LOD0 of the mesh (which drives mesh draw commands wrt. material interfaces) no longer matches correctly 1:1, so you can have 1 mesh section with 1 material interface, but it's actually using material index 1.

From the normal mesh draw command side of things, this is all handled nicely, but Nanite and GPUScene don't upload LOD0 data, we go off of material slots when encoding the tables (we don't care about the LOD data). Basically it means we'd upload a material table entry to GPU Scene at (say) slot 1280 with a given depth value (as if the relative material index is 0), but the cluster material encoding would say the relative index is 1, causing depth export and culling to lookup the depth value from slot 1281 instead.

Reverb was mainly single material meshes (with a few exceptions), so we never encountered all the reimport and mismatch fun, and even for a long time on Frosty, multiple materials were fine (and of course well tested previously).

The start of the problems came from the previous bug of LOD0 coarse mesh simplification killing unreferenced materials, scrambling the indexing - while that bug was being fixed by us, artists started trying to fix it on their end by manually adjusting material slots, etc. This left a ton of meshes behind with crazy indexing like this, where even disabling coarse mesh still results in mismatches between LOD0 and the material slots.

While making these fixes, I also made a number of CPU optimizations to various parts of the Nanite material rendering code, and also refactored a lot of the geometry collection and (H)(I)SM deferred material code into a common path shared by all Nanite proxies.

#rb ola.olsson
#fyi brian.karis, rune.stubbe, juan.canada
#jira FROST-1224
#robomerge Release-5.0-EarlyAccess

[CL 15736080 by graham wihlidal in ue5-main branch]
2021-03-18 05:41:34 -04:00
graham wihlidal
c8e538778b Trivial code cleanup
#rb trivial
#robomerge Release-5.0-EarlyAccess

[CL 15735759 by graham wihlidal in ue5-main branch]
2021-03-18 04:00:57 -04:00
brian karis
f3a08c0335 Remove degenerate triangles from geometry collections before sending to Nanite builder.
#jira UE-108425
#jira UE-104095

#rb graham.wihlidal

#ROBOMERGE-SOURCE: CL 15731006 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15731011 by brian karis in ue5-main branch]
2021-03-17 17:58:16 -04:00
Devin Doucette
6a055f3b41 Fixed dependencies on the DerivedDataCache module to be include-only when appropriate
#rb Zousar.Shaker

[CL 15681304 by Devin Doucette in ue5-main branch]
2021-03-11 17:27:38 -04:00
michael forot
caf29928c4 Fix asset supporet for old levels
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 15664514 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)

[CL 15664542 by michael forot in ue5-main branch]
2021-03-10 06:11:34 -04:00
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
brett miller
5ea1e6818c GeometryCollectionComponent
-- corrected a bug that prevented collision events from notifying.

#jira UE-109894
#rb none

#ROBOMERGE-SOURCE: CL 15596645 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15596649 by brett miller in ue5-main branch]
2021-03-03 21:40:44 -04:00
ola olsson
2ece048c33 Moved Geometry Collection from Local Vertex Factory to a dedicated VF.
- Simplifies the ifdef logic in both and cleans up naming significantly.
- also added support for GPU-scene instance culling.

#rb Graham.Wihlidal

#ROBOMERGE-SOURCE: CL 15567860 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15567868 by ola olsson in ue5-main branch]
2021-03-02 06:33:07 -04:00
Yuriy ODonnell
5f9a58c3c0 Move Nanite::FSceneProxy into a separate header. Avoids rebuilding as much code while iterating.
#robomerge Release-5.0-EarlyAccess
#fyi Brian.Karis

[CL 15539560 by Yuriy ODonnell in ue5-main branch]
2021-02-26 06:30:51 -04:00
brice criswell
114a470cfb Chaos : Clustering
Remove active cluster particle array support, its not actually used by anything.

[FYI] Benn.Gallagher
#rb None
#jira UE-108907
#okforgethub public, internal

#ROBOMERGE-OWNER: brice.criswell
#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 15508170 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
#ROBOMERGE-CONFLICT from-shelf

[CL 15509364 by brice criswell in ue5-main branch]
2021-02-23 19:43:30 -04:00
brett miller
83df3b39b9 GeometryCollection -- updated GetComponent to use undeprecated method.
#jira none
#rb none

#ROBOMERGE-SOURCE: CL 15486290 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15486295 by brett miller in ue5-main branch]
2021-02-21 17:15:16 -04:00