Commit Graph

183 Commits

Author SHA1 Message Date
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
894309a18b fix fracture tool selection not correctly scrolling to the newly selected bone with view levels other than 'all' + selection not respecting view level w/ shift+click
#rb cedric.caillaud
#preflight 62ba8055de2c0f4cf8af39f8

[CL 20862179 by Jimmy Andrews in ue5-main branch]
2022-06-28 14:18:01 -04:00
cedric caillaud
9df01d47f2 Chaos : add _External postfix to geometry collection physics proxy to make sure we clearly communicate what can be ran on the gamethread
#rb Benn.Gallagher
#jira none
#preflight 62b5d3b6583ff55d45f3bfd6

[CL 20809762 by cedric caillaud in ue5-main branch]
2022-06-24 11:19:02 -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
Jimmy Andrews
2c0204c446 make fracture mode's leaf/cluster selectors only select the leaves/clusters at the current level
#rb rinat.abdrashitov
#preflight 62ab6843633acd4c124b74f6

[CL 20690651 by Jimmy Andrews in ue5-main branch]
2022-06-16 13:56:41 -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
cedric caillaud
a0527989bc Chaos destruction : Remove on break feature
It is possible to assign each piece of a geo collection with a PostBreakTimer and a removal timer
- Added a RemoveOnBreak tool
- Added a Removal column mode to fracture editor outliner
- Optional RemovalOnBreak attribute array on the rest collection  ( can be added or removed through the UI )

#rb jimmy.andrews, brice.criswell
#jira none
#preflight 62a129c4dd5e6b572c66a189

[CL 20583221 by cedric caillaud in ue5-main branch]
2022-06-09 15:31:24 -04:00
cedric caillaud
16cae88d4a Fracture Editor :
- Change display column to column mode
- Rename runtime data collectors classes
- Fix issue where collected damage values were invalid
- Added damage threshold and breaking state to runtime data
- Add refresh button to the outliner

#rb none
#jira none
#preflight 629ed9168f61d191c1e99b6b

[CL 20533218 by cedric caillaud in ue5-main branch]
2022-06-07 01:41:53 -04:00
cedric caillaud
a0c24e9908 Chaos destruction : add a damage watcher to collect collision impulse from PIE and display them in the outliner
- Add also a drop down for the type of column to display  ( InitialState, RelativeSize, Damages for now )

#rb brice.criswell, jimmy.andrews
#jira none
#preflight 629da2e241542e8cf60ed929

[CL 20522909 by cedric caillaud in ue5-main branch]
2022-06-06 13:01:40 -04:00
cedric caillaud
1e271aad10 Chaos : fix verification logic with replication and cluster groups
#rb trivial
#jira none
#preflight none

[CL 20498495 by cedric caillaud in ue5-main branch]
2022-06-03 22:08:40 -04:00
cedric caillaud
4afbfff5f7 Fix crash when enabling group clustering and replication
#rb none
[FYI] ori.cohen

#ROBOMERGE-AUTHOR: cedric.caillaud
#ROBOMERGE-SOURCE: CL 20489256 via CL 20489262 via CL 20489271
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20491466 by cedric caillaud in ue5-main branch]
2022-06-03 15:40:23 -04:00
Benn Gallagher
8757cb3641 Physics interface cleanup.
* Removed deprecated or dead code paths
* Simplified build system setup for physics support
* Deprecated build system flags and unsupported macros

#jira none
#rb Chris.Caulfield, Kriss.Gossart
#preflight 62963ec0fe779f23c8ea0c5e

[CL 20450744 by Benn Gallagher in ue5-main branch]
2022-06-01 06:59:18 -04:00
cedric caillaud
efbfce8de7 Chaos destruction : make geometry collection use the inertia conditioning option
[FYI] chris.caulfield

#ROBOMERGE-AUTHOR: cedric.caillaud
#ROBOMERGE-SOURCE: CL 20443210 via CL 20443211 via CL 20443217
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20449542 by cedric caillaud in ue5-main branch]
2022-06-01 04:25:06 -04:00
cedric caillaud
1fcbb82cb7 Chaos destruction : imporvement on the remove on sleep feature
- Now also remove of the piece does not move for a certain amount of time ( velocity based ) ( behind a Cvar )
- Fix bugs with shrinking not going all the way down to zero
- Simplify math for computing off-center scale matrix ( removed most of the Transform conversion and multiplication )
- Internal clusters can now break upon removal
- Passing more info about internal clusters from PT to GT
- More memory efficient structure passed between PT and GT

#rb none
#jira none
#preflight 62918fdddb0a62f25ce74d44

[CL 20403162 by cedric caillaud in ue5-main branch]
2022-05-28 00:20:07 -04:00