Commit Graph

39 Commits

Author SHA1 Message Date
brice criswell
0b040d11b6 GeometryCollection : Properties
- Adding damage threshold back to the GeometryCollectionObject.

#rb michael.lentine
#jira UE-126295
#preflight 620406f98e53010a186e6ea8

#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 18922992 in //UE5/Release-5.0/... via CL 18927108 via CL 18928820
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18929260 by brice criswell in ue5-main branch]
2022-02-09 19:28:14 -05:00
brice criswell
3e50c2b89e Chaos : Geometry Collection
-Defaults Updated
[FYI] jimmy.andrews
#preflight 61f9a91c162e627eab4701b2

#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 18816099 in //UE5/Release-5.0/... via CL 18816112 via CL 18822810
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824365 by brice criswell in ue5-main branch]
2022-02-02 07:39:24 -05:00
brice criswell
fc6c04a825 GeometryCollection : Convex Generation
- Defaulting the geometry collection assets collision geometry to convex
- Updating the convex bodies during the destruction of the geometry collections edit object.
#rb none
[FYI] Jimmy.Andrews
#preflight 61f480557a7f0d39ddfe1e88

#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 18792035 in //UE5/Release-5.0/... via CL 18792214 via CL 18792488
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18792572 by brice criswell in ue5-main branch]
2022-01-31 12:57:29 -05:00
brett miller
e9041654bc GeometryCollectionComponent
-- Removal shrinks for bottom of geometry instead of CoM

#jira none
#rb brice.criswell
#fyi jack.oakman
#okforgitbug internal, public

[CL 17527239 by brett miller in ue5-main branch]
2021-09-15 17:17:24 -04:00
brett miller
ff64a92459 GeometryCollection
-- Removal mechanism invoked when geometry collection particles have slept for specified time. Particle is disabled, event is triggered, scene proxt geometry is progressivly scaled to a point.

#jira UE-122241
#rb brice.criswell
#preflight 612ea5f775bca20001e0b1b9

[CL 17380472 by brett miller in ue5-main branch]
2021-08-31 20:23:44 -04:00
Brice Criswell
9d431c4598 Chaos - Geometry Collection
- Added CollisionMarginFraction to the size specific data.
#jira FROST-3281
#rb Brett.Miller
#preflight 60e0d9961a88600001ed0e83

[CL 16808746 by Brice Criswell in ue5-main branch]
2021-07-03 18:22:11 -04:00
graham wihlidal
67923137a7 More instance data memory and CPU optimizations, and general refactoring.
* Moved Nanite resource ID and hierarchy offset back to primitive data (indirection cost is largely noise these days, and memory savings is more important - GetInstanceData() fetches this data and stores in the pre-existing registers so all the callsites don't have to worry about it).
* Removed FNaniteInfo from FPrimitiveInfo (and the type itself) in favor of just having a 32bit per-instance hierarchy root offset. Hierarchy offset and runtime resource ID just sourced from primitive.
* Removed PrimitiveID from CPU instance data (GPU still needs it). This value was redundantly stored per-instance, and now the GPU Scene upload just blits it over from primitive when the instance data is uploaded.
* Added new virtual GetNaniteResourceInfo on FPrimitiveSceneProxy that retrieves the Nanite resource ID and hierarchy offset stored on a given primitive (needed now that FPrimitiveInstance doesn't cache a copy). The non-virtual FPrimitiveSceneProxy::IsNaniteMesh() helper is used to avoid this virtual function call for non-Nanite proxies.
* Removed deprecated and no longer referenced Nanite::FResources array on FNaniteGeometryCollectionSceneProxy
* Removed expensive per-instance checks() in a few spots
* Stubbed out upcoming per instance payload allocator offset
* Removed deprecated and never referenced non-GPUScene GetInstanceData uniform buffer path
* Significantly cleaned up and optimized a lot of ISM instance data retrieval, including avoiding unnecessary FRenderTransform <-> FMatrix conversions.
* Removed GetInstanceShaderValues API, it was inefficient and annoying to require retrieval of all parameters when often only one or two of them were ever used. In some cases even the origin was unused but .w was needed because of the per-instance random packing.
* Implemented explicit GetInstanceRandomID() accessor to fetch (under current packing) Origin.W without exposing this to the callsites
* Implemented public API for GetInstanceLightMapData(), since the internal version was only accessible by GetInstanceShaderValues()
* Renamed GetInstanceShaderCustomDataValues() -> GetInstanceCustomDataValues() for API consistency

#rb jason.nadro, krzysztof.narkowicz
[FYI] rune.stubbe, brian.karis


#ROBOMERGE-OWNER: graham.wihlidal
#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 16583156
#ROBOMERGE-BOT: (v828-16531559)
#ROBOMERGE-CONFLICT from-shelf

[CL 16583193 by graham wihlidal in ue5-main branch]
2021-06-07 23:55:28 -04:00
jimmy andrews
8a78138782 Add option to use full precision UVs on geometry collection scene proxy
#rb brett.miller, tyson.brochu, david.hill
#preflight 60b6645c5719ca0001388544

#ROBOMERGE-SOURCE: CL 16518423 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v826-16501804)

[CL 16518431 by jimmy andrews in ue5-main branch]
2021-06-01 14:20:47 -04:00
Brice Criswell
e79975ad6f Chaos : GeoemtryCollection (Integ from Main CL:16450371)
- Force Size Specific data to always have a single element.
#jira none
#rb Benn.Gallagher
#preflight 60aeaeebb44aa20001a82ea5

[CL 16476610 by Brice Criswell in ue5-main branch]
2021-05-26 17:46:30 -04:00
Brice Criswell
dd608a6141 Chaos : GeoemtryCollection (Integ from Main CL:16450371)
- Transfer defaults to size specific data
#jira UE-116415
#rb None
#fyi Benn.Gallagher
#preflight 60ad5700bb30900001cac176

[CL 16456707 by Brice Criswell in ue5-main branch]
2021-05-25 17:13:53 -04:00
Brice Criswell
05504fb252 Chaos : Geometry Collection : (Review Update)
Collision Attribute Restructuring.
-	Updated the size specific data to be the primary container for collision settings within the geometry collection.
-	Removed non size specific default parameters from the asset.
-	Added support for Capsule collisions.
#jira none
#rb Benn.Gallagher
#fyi Brett.Miller, Cedric.Caillaud
#okforgithup, public, internal
#preflight 60abfa1c88460e0001fbae77

[CL 16439958 by Brice Criswell in ue5-main branch]
2021-05-24 16:21:06 -04:00
Brice Criswell
139a4bed28 Chaos : Geometry Collection
Collision Attribute Restructuring.
-	Updated the size specific data to be the primary container for collision settings within the geometry collection.
-	Removed non size specific default parameters from the asset.
-	Added support for Capsule collisions.
#jira none
#rb Benn.Gallagher
#fyi Brett.Miller, Cedric.Caillaud
#okforgithup, public, internal
#preflight 60a91c321d78490001621e41

[CL 16429701 by Brice Criswell in ue5-main branch]
2021-05-22 12:07:31 -04:00
brett miller
2a138e24bc UGeometryCollection
-- Wrapped GeometrySource in header tool directive to be stripped out of shipping game builds.

#jira UE-115272
#rb brice.criswell
#lockdown nick.whiting

#ROBOMERGE-SOURCE: CL 16248584 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v799-16237190)

[CL 16263785 by brett miller in ue5-main branch]
2021-05-10 23:54:01 -04:00
Benn Gallagher
c7cced57cd Geometry Collection : Cache Attribute
- Strip geometry attributes from the collection when using the collection as a simulation viewer.
- Use the transferred bounds on the minimal asset for rendering bounds.
- Minor clean to expose user controllable cache only state to the GeometryCollectionObject


#jira UE-113611
#rb Brett.Miller
[FYI] Graham.Whlidal
#lockdown nick.whiting

#ROBOMERGE-OWNER: Benn.Gallagher
#ROBOMERGE-AUTHOR: brice.criswell
#ROBOMERGE-SOURCE: CL 16052869 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v789-15992632)
#ROBOMERGE-CONFLICT from-shelf

[CL 16060655 by Benn Gallagher in ue5-main branch]
2021-04-20 09:50:07 -04:00
brett miller
a848435936 GeometryCollectionComponent -- proper initialization on embedded data struct for default constructor.
#jira UE-108853
#rb none

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

[CL 15466357 by brett miller in ue5-main branch]
2021-02-18 20:40:54 -04:00
brett miller
f095abd02a GeometryCollection -- Added EmbeddedGeometry: the ability for somulated bones to carry instanced geometry that doesn't contribute to simulation but tracks with evolving rigid body transformation.
#jira FROST-1089
#rb brice.criswell

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

[CL 15454441 by brett miller in ue5-main branch]
2021-02-18 13:20:03 -04:00
brett miller
5f5ac7c11c Fracture Tool -- Merging Geometry Collections and baking in scale is now possible via the New button in the Fracture Tool.
#jira FROST-706
#rb brice.criswell

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

[CL 15372862 by brett miller in ue5-main branch]
2021-02-09 20:08:13 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Brice Criswell
71bff90bf4 Chaos : Destruction
- Added Size Specific damage thresholds.

#rb none
#jira FROST-1044

[CL 15260032 by Brice Criswell in ue5-main branch]
2021-01-29 00:35:21 -04:00
Zousar Shaker
3b4c8fc1c5 Automated wrapped object pointer upgrade for Engine + ShooterGame + ShooterGame referenced plugins
#rb none

[CL 15224650 by Zousar Shaker in ue5-main branch]
2021-01-27 17:40:25 -04:00
brett miller
45a7c4fb36 GeometryCollection -- Asset now has properties for default clustering behaviour. The properties are written to the actor on placement.
#rb none
#jira FROST-977

[CL 15176238 by brett miller in ue5-main branch]
2021-01-25 00:53:27 -04:00
graham wihlidal
ee8f378f7b Geometry collection assets created from one or more static meshes will have Nanite automatically enabled now, as long as at least one of the input meshes had Nanite enabled originally.
#rb trivial
#fyi brian.karis, rune.stubbe
#jira UE-104791

[CL 15028299 by graham wihlidal in ue5-main branch]
2021-01-08 20:00:52 -04:00
Rune Stubbe
dc5e9cb018 Nanite support for geometry collection
The Nanite builder now accepts a set of meshes that will be built into a single resource with a hierarchy root for each input mesh.
Updated runtime code to use this feature for Geometry collection.
Each GC now takes up just a single root page.
Changed geometry collection serialization so Nanite data is now transient similar to how it is transient in RenderData for StaticMesh.
Added bogus serialization functions for parsing and throwing away the old Nanite data, so we don't crash when parsing old files.

#rb brian.karis, graham.wihlidal

[CL 14828108 by Rune Stubbe in ue5-main branch]
2020-12-01 11:18:19 -04:00
brett miller
4359cae5c0 GeometryCollection -- Added Apply Changes button to trigger Simulation Data rebuild.
#rb none
#jira none
#fyi brice.criswell

[CL 14794036 by brett miller in ue5-main branch]
2020-11-19 22:01:51 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00