Commit Graph

62 Commits

Author SHA1 Message Date
Benn Gallagher
ba51de108e Chaos: Remove ensure in GetWorldVelocityAtPoint that required the object to be kinematic or dynamic. It is valid to request a velocity from a static object without firing an ensure - the velocity will always be zero in that case.
In cases where a user is calculating velocity delta between bodies it's valid to just compare two calls to GetWorldVelocityAtPoint rather than having to handle the if is static case at all callsites. This is also how the interface functioned previously.

#rb trivial
#jira none
#preflight 62f63eb1ad3bd8ad646cace9

[CL 21353495 by Benn Gallagher in ue5-main branch]
2022-08-12 08:17:15 -04:00
Benn Gallagher
1cc0b83d89 Fixed crash attempting to retrieve shapes from a body instance that has no actor instance (e.g. welded bodies).
Fixed incorrect identification of owned instance shapes in GetSquaredDistanceToBody for welded instances
#rb Chris.Caulfield, Vincent.Robert
#jira none
#preflight 62ac974b486b5e268708885b

[CL 21267194 by Benn Gallagher in ue5-main branch]
2022-08-08 07:25:52 -04:00
Benn Gallagher
5f457aece9 Chaos: Changed null actor release message from Warning to Verbose as it is a valid codepath currently when welding shapes into a body instance of a parent that is set to NoCollision.
#rb trivial
#jira none
#preflight 62c2cdd9a3568e306666b976

[CL 20933534 by Benn Gallagher in ue5-main branch]
2022-07-04 07:30:34 -04:00
steven barnett
58f9a385d7 Add Probe and QueryAndProbe to ECollisionEnabled. Single shpaes or entire objects can now be marked as physics probes, meaning that they will generate constraints, contact data, and hit results, without physically responding.
[REVIEW] chris.caulfield, benn.gallagher

#ROBOMERGE-AUTHOR: steven.barnett
#ROBOMERGE-SOURCE: CL 20780284 via CL 20781025 via CL 20781737
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20784443 by steven barnett in ue5-main branch]
2022-06-22 18:59:24 -04:00
satchit subramanian
c70285bb89 Chaos:
SetGlobalPose now no longer discards the same XR if you're kinematic or sleeping.
#rb Benn.Gallagher

#ROBOMERGE-AUTHOR: satchit.subramanian
#ROBOMERGE-SOURCE: CL 20778060 via CL 20778070 via CL 20778076
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v970-20704180)

[CL 20779880 by satchit subramanian in ue5-main branch]
2022-06-22 15:44:37 -04:00
satchit subramanian
6cf6570bec SetGlobalPose_AssumesLocked doesn't do anything if both X and R haven't changed.
#rb Benn.Gallagher
[FYI] Jeff.Bauer

#ROBOMERGE-AUTHOR: satchit.subramanian
#ROBOMERGE-SOURCE: CL 20705968 via CL 20705989 via CL 20706008
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v968-20684695)

[CL 20709289 by satchit subramanian in ue5-main branch]
2022-06-17 16:42:06 -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
Chris Caulfield
91c3a26d3f Chaos
- projectionphase  in main solver
- add teleport projection
- recombine projection flags into one flag
- remove unused iteration counts
- correct the iteration count names

#jira none
#rb jaco.vandyk, michael.forot
#preflight 6271490afe09c0cfbc3c5a1e

[CL 20026916 by Chris Caulfield in ue5-main branch]
2022-05-03 11:54:26 -04:00
Chris Caulfield
ec02986fbe Chaos - joint stabilization
- add Inertia Conditioning system to increase inertia for long, thin, or small objects (enabled by default)
- also considiers joints with connectors outside the shape
- move some particle settings into a bitfield to reduce size
- add FVec3f as shorthand for TVec3-FRealSingle

#rb cedric.caillaud, jaco.vandyk,michael.forot
#jira none
#preflight 626c1f925c220f34acf5e912

[CL 19982249 by Chris Caulfield in ue5-main branch]
2022-04-29 13:53:51 -04:00
Benn Gallagher
ffe664d2f7 Chaos: Fix geometry collection/provider asserting that its geometry is of inner types without unwrapping its implicit. Caused crash inside collision analyzer when resolving which shape type was hit.
Chaos: Fix the cast helpers for Chaos geometies only accepting callable objects that return value types

#rb Cedric.Caillaud, Vincent.Robert
#jira none
#preflight 626921835a77b946d9eb24fd

[CL 19937133 by Benn Gallagher in ue5-main branch]
2022-04-27 07:14:48 -04:00
Benn Gallagher
e2725d6446 Chaos: Enable mask filters
Masks are now propagated to shapes correctly whereas previously the call to SetMaskFilter was a no-op and dropped the mask filter.

To match previous behaviour for mask filters (completely ignored for simulation - only ever considered for query) the mask filter check was removed for the sim filter and sim pre-filter.

#rb Max.Whitehead
#jira none
#preflight 62419e707d49f37dfd4d9e80

[CL 19525439 by Benn Gallagher in ue5-main branch]
2022-03-28 08:20:29 -04:00
max whitehead
e0352240d3 Fix FVector conversion errors after FVector constructor was made explicit.
#jira UE-144720
#preflight 62213cc9c57f5f14ed17fd76
#rb michael.lentine
#lockdown michael.lentine

#ROBOMERGE-AUTHOR: max.whitehead
#ROBOMERGE-SOURCE: CL 19255271 in //UE5/Release-5.0/... via CL 19258192
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263560 by max whitehead in ue5-main branch]
2022-03-04 03:51:07 -05:00
max whitehead
74c623880b Store local inertia tensor/inverse tensor diagonals in vec3 instead of matrix, reducing memory.
#jira FORT-444042
#rb cedric.caillaud
#preflight 62212e4ea00412627d0e1a7b
#lockdown michael.lentine

#ROBOMERGE-OWNER: max.whitehead
#ROBOMERGE-AUTHOR: max.whitehead
#ROBOMERGE-SOURCE: CL 19253465 in //UE5/Release-5.0/... via CL 19257870
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263523 by max whitehead in ue5-main branch]
2022-03-04 03:47:40 -05:00
benn gallagher
7088366645 Chaos: Implement SetLocalTransform for Chaos interface.
- Re-enabled copying of scaled implicits
 - Refactored UpdateBodyScale to work with transformed shapes and match behaviour with 4.27 (clears current local transform)
 - Added support to all geometry paths for transformed and scaled objects

#rb Cedric.Caillaud, Max.Whitehead
#jira UE-144199
#preflight 621e0eb6f1206ae3ea45cd61
#lockdown Michael.Lentine

#ROBOMERGE-AUTHOR: benn.gallagher
#ROBOMERGE-SOURCE: CL 19196943 in //UE5/Release-5.0/... via CL 19197043
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19212789 by benn gallagher in ue5-main branch]
2022-03-01 19:55:30 -05:00
chris caulfield
1010d59e0e Chaos
- RBAN QPBD and linear joint solver support
- Add 3rd phase to solver loop for projection
- Add settings for QPBD to PhysicsAsset
- Add cvar overrides for all settings
- Hide settings for legacy solver

#rb michael.forot
#jira UE-140717
#preflight

#ROBOMERGE-AUTHOR: chris.caulfield
#ROBOMERGE-SOURCE: CL 19156094 in //UE5/Release-5.0/... via CL 19159784
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19161460 by chris caulfield in ue5-main branch]
2022-02-25 19:46:14 -05:00
chris caulfield
4680bfa98c Chaos - joint shock propagation in QPBD solver (disabled)
#rb michael.forot, zhengling.geng
#jira ue-140717
#preflight 62069640e24662ad5f719a80

#ROBOMERGE-AUTHOR: chris.caulfield
#ROBOMERGE-SOURCE: CL 18954551 in //UE5/Release-5.0/... via CL 18955115 via CL 18955743
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18958301 by chris caulfield in ue5-main branch]
2022-02-11 14:42:03 -05:00
chris caulfield
28accb1164 Chaos
- add smooth edge collision flag
- remove unused collision flag
- clean up collision flag setting API

#rb brice.criswell, cedric.caillaud
#jira none
#preflight 61f481286b5aea38e5c7a925

#ROBOMERGE-AUTHOR: chris.caulfield
#ROBOMERGE-SOURCE: CL 18781024 in //UE5/Release-5.0/... via CL 18781091 via CL 18781561
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18781679 by chris caulfield in ue5-main branch]
2022-01-28 19:50:28 -05:00
noah presser
92983b66c0 Engine changes to expose velocity functionality to location based impulses
[REVIEW] [at]todd.eckert [at]jon.sourbeer [at]benn.gallagher

#ROBOMERGE-AUTHOR: noah.presser
#ROBOMERGE-SOURCE: CL 18532679 via CL 18532683 via CL 18532691 via CL 18532695 via CL 18532710 via CL 18533464 via CL 18533985
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18534176 by noah presser in ue5-release-engine-test branch]
2022-01-06 14:18:54 -05:00
brandon boswell
247068fef2 Back out changelist 18472458
#ROBOMERGE-AUTHOR: brandon.boswell
#ROBOMERGE-SOURCE: CL 18473000 via CL 18473001 via CL 18473004 via CL 18473005 via CL 18473982 via CL 18480580
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18480680 by brandon boswell in ue5-release-engine-test branch]
2021-12-16 18:20:08 -05:00
jon sourbeer
113c4ccd22 [REVIEW] [at]noah.presser [at]todd.eckert [at]satchit.subramanian
Engine changes to expose velocity functionality to location based impulses

#ROBOMERGE-AUTHOR: jon.sourbeer
#ROBOMERGE-SOURCE: CL 18472458 via CL 18472470 via CL 18472480 via CL 18472485 via CL 18473090 via CL 18473390
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18473418 by jon sourbeer in ue5-release-engine-test branch]
2021-12-15 23:12:45 -05:00
cedric caillaud
f106e7b233 LLM - finer chaos categories
#rb trivial
#jira none
[FYI] ben.woodhouse, aurel.cordonnier

#ROBOMERGE-OWNER: cedric.caillaud
#ROBOMERGE-AUTHOR: cedric.caillaud
#ROBOMERGE-SOURCE: CL 18437365 in //UE5/Release-5.0/... via CL 18444656
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18444683 by cedric caillaud in ue5-release-engine-test branch]
2021-12-13 13:05:20 -05:00
max whitehead
6da23ad801 Removing mass computation from integration by accumulating accel/vel instead of forces/torques.
Remove function calls to rules in integration.
#jira nojira
#rb ori.cohen

#ROBOMERGE-AUTHOR: max.whitehead
#ROBOMERGE-SOURCE: CL 18359071 in //UE5/Release-5.0/... via CL 18359098
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18359110 by max whitehead in ue5-release-engine-test branch]
2021-12-02 16:42:39 -05:00
ori cohen
2cc8fff486 Refactor suspension constraint to be async thread safe. Also moved FSingleParticlePhysicsProxy into the Chaos namespace
#rb Max.Whitehead, Bill.Henderson

#ROBOMERGE-AUTHOR: ori.cohen
#ROBOMERGE-SOURCE: CL 17599522 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17599560 by ori cohen in ue5-release-engine-test branch]
2021-09-22 15:51:55 -04:00
ori cohen
e16ea37b52 Create inner joint properties so we can easily replicate data to multiple structures.
Added an external and internal API for joints so we can write to them in sim callbacks
Refactor advance and finish in rewind data so joints are properly marked as desync etc...

#rb Max.Whitehead
#preflight 6144e55d62c4fe00017601bf

#ROBOMERGE-AUTHOR: ori.cohen
#ROBOMERGE-SOURCE: CL 17558345 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17558370 by ori cohen in ue5-release-engine-test branch]
2021-09-17 16:57:27 -04:00
ori cohen
8afc287350 Joint uses push data to marshal data so that it is async thread safe
#rb Max.Whitehead
[FYI] Brice.Criswell

#ROBOMERGE-OWNER: ori.cohen
#ROBOMERGE-AUTHOR: ori.cohen
#ROBOMERGE-SOURCE: CL 17448406 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)
#ROBOMERGE-CONFLICT from-shelf

[CL 17448515 by ori cohen in ue5-release-engine-test branch]
2021-09-07 15:17:01 -04:00