Commit Graph

170 Commits

Author SHA1 Message Date
Jimmy Andrews
4acfad1f33 add options on geometry collection creation
- make material duplication for internal materials optional
 - ask if user wants to split the mesh by connected component

+ implement the connected component split on the mesh description as part of the conversion, so we can do it before we've thrown out the mesh topology (geometry collection is a rendering rep that can't represent mesh topology; it splits at every UV seam and sharp edge)

#preflight 62fe8062f7404b55a3010ac6

[CL 21448521 by Jimmy Andrews in ue5-main branch]
2022-08-18 15:37:22 -04:00
Jimmy Andrews
d42b54726c fix duplicate materials on new/reset of a geometry collection
#rb trivial
#preflight 62f559e4fb0cb69a5a171751

[CL 21344203 by Jimmy Andrews in ue5-main branch]
2022-08-11 16:23:50 -04:00
cedric caillaud
337d00d897 Chaos : geometry collection : now expose sockets from bone names (experimental )
#robomerge EngineMerge

#rb none
#jira none
#preflight 62da08424b6d775f5f21050c

[CL 21214002 by cedric caillaud in ue5-main branch]
2022-07-21 22:26:08 -04:00
cedric caillaud
7f7dc6842e Replication : add internal cluster information to rep clusters
#rb max.whitehead
#preflight 62d5d9f947779a730a48fa9b

#ROBOMERGE-OWNER: cedric.caillaud
#ROBOMERGE-AUTHOR: cedric.caillaud
#ROBOMERGE-SOURCE: CL 21164636 via CL 21165746 via CL 21168913
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182699 by cedric caillaud in ue5-main branch]
2022-07-20 12:20:09 -04:00
Bill Henderson
5cdd7b69d5 New Modular Vehicle system initial pass
#preflight 62d68f30d54af4b9a27cddcc
#rb Cedric.Caillaud

[CL 21160851 by Bill Henderson in ue5-main branch]
2022-07-19 08:27:11 -04:00
cedric caillaud
e02e78fece Fracture tool : fix issues with setting removal parameters
- when timers where set to 0, enable and cluster crumbling would not be set properly

#rb none
#jira none
#preflight 62cdf60f844ab070f29fc0a6
#robomerge EngineMerge

[CL 21065170 by cedric caillaud in ue5-main branch]
2022-07-12 18:41:35 -04:00
cedric caillaud
950d997b41 Chaos geometry collection : Add crumbling event
#rb max.whitehead, brice.criswell
#jira none
#preflight 62cdc362b90bf5396903ec36
#robomerge EngineMerge

[CL 21064286 by cedric caillaud in ue5-main branch]
2022-07-12 17:47:42 -04:00
devlin willis
85f654e877 Resolve error C2872: 'FSphere': ambiguous symbol
I encountered this state locally, specifying the type explicitly should resolve this

[FYI] cedric.caillaud
#rnx

#ROBOMERGE-OWNER: devlin.willis
#ROBOMERGE-AUTHOR: devlin.willis
#ROBOMERGE-SOURCE: CL 21012113 via CL 21013020 via CL 21013711
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21023807 by devlin willis in ue5-main branch]
2022-07-09 14:03:32 -04:00
Jimmy Andrews
4b7243cb76 Changes to make transient / un-Saved properties work more logically for Geometry Collection data:
- make the ManagedArrayCollection 'Saved' flag control whether the whole property is saved, rather than just its data

- when transacting, save everything (ignore the Saved flag)

- also when loading, remove properties that were not in the map we loaded from

- stop manually removing some unsaved attributes, as the Saved flag should take care of that instead

- stop loading from the DDC (after already loading from the transaction history) for every undo/redo transaction

#preflight 62c75a60b3789302b1bb7d3e
#rb cedric.caillaud, brice.criswell, max.whitehead

[CL 21007351 by Jimmy Andrews in ue5-main branch]
2022-07-08 10:54:36 -04:00
max whitehead
e2b97e41a1 Implement Geometry Collection replication abandon cluster above level.
Add counters for replication fracture/cluster counts.
Compute GC level attribute during cook and serialize.
#preflight 62c6074e2a05d4f55b291751
#rb cedric.caillaud

#ROBOMERGE-AUTHOR: max.whitehead
#ROBOMERGE-SOURCE: CL 20985796 via CL 20985858 via CL 20986088
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 20989016 by max whitehead in ue5-main branch]
2022-07-07 14:41:38 -04:00
cedric caillaud
7c5a3bac01 Chaos geometry collection : BP functions
- extended apply external strain node to have a radius and proapgation  parameters
- added an internal strain node similar to external strain

#rb none
#jira none
#preflight 62c631b8a6654f9729a3b97a
#robomerge EngineMerge

[CL 20979120 by cedric caillaud in ue5-main branch]
2022-07-06 21:50:26 -04:00
cedric caillaud
ab5ccc1600 Chaos destruction : simplify removal runtime system code paths
- both removal system are now using common methods
- both of them are supporting crumbling of clusters ( both regular and internal )
- Abstraction of the logic into facade classes to avoid direct access to the attributes
- Fix bug with slow moving detection always return true

#rb brice.criswell, harsha.reddy, jimmy.andrew
#jira none
#preflight 62c4dad0f514983340ea85fb
#robomerge EngineMerge

[CL 20970940 by cedric caillaud in ue5-main branch]
2022-07-06 15:00:45 -04:00
Jimmy Andrews
46d8a9957f Add support for Geometry Collection in Mesh Painting mode
+ Fix bounding box calculation issues in GeometryCollectionComponent (which caused issues w/ painting)
 + Add vertex color rendering to Geometry Collection Scene Proxy (so you can see what you're painting)

#preflight 62c5a4693c5171c8170a718c
#rb cedric.caillaud

[CL 20967543 by Jimmy Andrews in ue5-main branch]
2022-07-06 11:17:25 -04:00
cedric caillaud
42ece73e37 Chaos : Add several geometry collectiion UFunction
- ApplyLinearVelocity / ApplyAngularVelocity
- ApplyBreakingLinearVelocity / ApplyBreakingAngularVelocity
- GetInitialLevel

#rb none
#jira none
#preflight 62c34ebda3568e306683a6eb
#robomerge EngineMerge

[CL 20937292 by cedric caillaud in ue5-main branch]
2022-07-04 16:46:24 -04:00
cedric caillaud
2a32876b62 Chaos geometry collection : add support for supporting internal cluster through blueprint hitResults
- added a ItemIndex abstration class to deal with regular transform indices and cluster index ones ( UniqueIdx )
- simplified the BP functions that are leverage the new ItemIndex abstraction
- simplified  the proxy equovalent function by consolidating the code in Clustering class
- adjusted removal crumbling  code to use the new APIs
- propagate internal cluster information from PT to GT ( no GT particle , but a way to query internal cluster index by the GT children for queries to use )

#rb brice.criswell, max.whitehead
#jira none
#preflight 62be14228d5e678759dfc1bf
#robomerge EngineMerge

[CL 20917279 by cedric caillaud in ue5-main branch]
2022-07-01 13:54:00 -04:00
Jimmy Andrews
a0a2371b27 Refactor GeometryCollectionEngineConversion functions to optionally have core FGeometryCollection conversion called separately from material-related conversion that requires the UObject/Component
#rb Brice.Criswell
#preflight 62b4cf8eb822fb9c117bd548

[CL 20801937 by Jimmy Andrews in ue5-main branch]
2022-06-23 17:00:03 -04:00
cedric caillaud
3d33761792 Chaos destruction : add per component control of removal ( sleep and break )
#rb none
#jira none
#preflight 62b277b4a2769f2a2d925a5e
#robomerge EngineMerge

[CL 20769683 by cedric caillaud in ue5-main branch]
2022-06-21 22:08:04 -04:00
cedric caillaud
9553ab5604 Chaos : add item index to queries for geometry collection
- added a crumbling and apply strain BP functions to geometry collection component

#rb brice.criswell, benn.gallagher
#jira none
#preflight 62b0d8d5640ffd8ee9cf4c1b

[CL 20768665 by cedric caillaud in ue5-main branch]
2022-06-21 20:12:20 -04:00
cedric caillaud
d6863dc4bc Chaos geometry collection : add support for CCD , linear and angular damping
#rb none
#jira none
#preflight 62ac2a24fc52387cf2bc84ec
#robomerge EngineMerge

[CL 20704068 by cedric caillaud in ue5-main branch]
2022-06-17 11:29:46 -04:00
Brice Criswell
89b4dddacf Chaos : ManagedArrayCollection
- Expose as a USTRUCT
... requires removing restrictions on copy constructor and equality operator.
#rb Benn.Gallagher
#preflight 62ab88a5fc52387cf278741d

[CL 20694364 by Brice Criswell in ue5-main branch]
2022-06-16 16:26:52 -04:00
max whitehead
0e1c0ebc1e Geometry Collections replicate initial velocity
- fix GC net dormancy, was assumed to start in DORM_Initial, now checks != Awake as it was sometimes DORM_DormantAll.
[FYI] cedric.caillaud
#preflight 62aa41f0da0af39a4758e570

#ROBOMERGE-AUTHOR: max.whitehead
#ROBOMERGE-SOURCE: CL 20676889 via CL 20677778 via CL 20677871
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20679662 by max whitehead in ue5-main branch]
2022-06-15 20:50:03 -04:00
cedric caillaud
63c1687530 Chaos : GC optimization
- Cache local (GC component space ) bounds reducing game thread cost  when having a lot of non moving GC in a scene
- Make sure the dynamic collection is invalidated only when necessary

#rb brice.criswell, max.whitehead
#preflight 62a92538943e7bb256c66750
#jira none

[CL 20675241 by cedric caillaud in ue5-main branch]
2022-06-15 15:12:35 -04:00
Jimmy Andrews
0f1fcef020 Improve fracture tool selectors:
- Add leaf and cluster selection tools
 - Make children selection not deselect nodes w/ no children
 - Use TSet::Add instead of TArray::AddUnique to create selections

#preflight 62a8b143cf54a658ee150389
#rb rinat.abdrashitov

[CL 20651731 by Jimmy Andrews in ue5-main branch]
2022-06-14 12:44:09 -04:00
cedric caillaud
ea89b40a98 Chaos destruction : add slow moving detection fro Remove on sleep feature
#rb none
#jira none
#preflight 62a8a8481a6b7dcd549af11f

[CL 20650060 by cedric caillaud in ue5-main branch]
2022-06-14 11:45:26 -04:00
cedric caillaud
a7504d89f5 Remove on break
- Added cluster crumbling feature
- Fix localization warnings
- Make sure the delete attribute button refrehes the outliner
- Helper class to encode and decode remval on break packed data

#rb none
#jira UE-156325
#preflight 62a3754870680d6143df0eaf

[CL 20598772 by cedric caillaud in ue5-main branch]
2022-06-10 13:10:44 -04:00