- Modified all the low-level overlap/raycast/sweep functions to take in an optional acceleration structure override pointer.
- Converted GeomSweepSingle into a template function similar to GeomSweepMulti and GeomOverlapMulti.
- Added template specializations to take in FPhysicsGeometry for GeomSweepSingle, GeomSweepMulti, and GeomOverlapMulti.
- Added override for FChaosEngineInterface::GetGeometryCollection to take in a FPhysicsGeometry.
- Also changed the cluster union to remove the primitive component from it if the primitive component's physics state is destroyed
#rb benn.gallagher, cedric.caillaud, jaco.vandyk
#preflight 64653a88c34c2e1212aff4c0
[CL 25518722 by michael bao in ue5-main branch]
[FYI] nat.parkinson
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL24480805 to resolve compile error
[FYI] Michael.Forot
Original CL Desc
-----------------------------------------------------------------
Network physics for vehicles
#rb bill.henderson
#preflight 63ff6e32f43e53f68127e521
[CL 24499687 by michael forot in ue5-main branch]
Make sure that it does not get included in the physics thread.
#rb Vincent.Robert
#preflight 63f719d19b26c4957efd4f39
[CL 24377687 by jaco vandyk in ue5-main branch]
The bug was related to the GT and PT both separately manipulating a flag that indicates that a particle has an entry in the ignore table. The flag is used by the broadphase. This flag was not written back to the GT when modified on the PT so any subsequent GT change (to any value in the interop data block containing the flag) would overwrite the PT changes. Explicitly waking a particle from the GT was causing this to happen.
The fix is to remove the GT-controlled flag and have it fully controlled on the PT side based on whether the particle is in the Ignore Manager or not.
This fix can be improved architecturally by breaking the IgnoreCollisionManager into 2 parts: one for the physics thread and one for the interop.
#jira UE-173494
#preflight 63c059b270575f8900c8a1b0
[CL 23671153 by chris caulfield in ue5-main branch]
- disable mass conditioning for all joints in TM_PhysGetSetMulti teeter-totter test
#rb benn.gallagher
#jira UE-128000
#ushell-cherrypick of 22694413 by Chris.Caulfield
#preflight 6360639fef6d25c67425b9c6
[CL 22891166 by chris caulfield in ue5-main branch]
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]
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]
* 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]
- 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]
- 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]
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]
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]