Commit Graph

483 Commits

Author SHA1 Message Date
jaco vandyk
229e0f158b Chaos physics bug fix: When using a rotated query object for overlap queries, the rotation was not accounted for when calculating transforms
#rb Vincent.Robert
#[fyi] Benn.Gallagher, Chris.Caulfield
#jira UE-199987

#ushell-cherrypick of 29932881 by jaco.vandyk

[CL 29987160 by jaco vandyk in ue5-main branch]
2023-11-29 09:40:07 -05:00
jaco vandyk
02da785c21 Overlap bug fix: Heightfields should Normalize Initial direction vector before sending it to GJK
#rbVincent.Robert
#[fyi] Michael.Lentine, Benn.Gallagher
#jira none

[CL 29014561 by jaco vandyk in ue5-main branch]
2023-10-23 08:09:46 -04:00
vincent robert
5bf06ad1ea Convert RestCollection in single precision
- This change won't have much impact on memory when building in game, but the impact will be when loading. Also it harmonize the Dynamic Collection and the Rest Collection. And so it optimizes the access, and conversion to transforms.
- DynamicCollection has a function set back transforms to its RestCollection, and free memory
- Remove function from ManageArrayCollection makes sure to free memory now.
#rb cedric.caillaud

[CL 28721098 by vincent robert in ue5-main branch]
2023-10-12 14:40:24 -04:00
chris caulfield
379f26a007 Chaos - fix FChaosEngineInterface::SetGlobalPose_AssumesLocked for kinematics
Set the kinematic target in SetGlobalPose so that this is a teleport and velocity reset for kinematics as intended (if a teleport is not desired, the user should be calling SetKinematicTarget, not SetGlobalPose). Previously there could be problems with interpolation in async physics.

#jira UE-196442
#rb cedric.caillaud

[CL 28665908 by chris caulfield in ue5-main branch]
2023-10-11 11:25:36 -04:00
vincent robert
9589be99ad Decrease memory consumption when creating a building. Now the transforms are not copied in dynamic collections. It will used the rest collection as long the dynamic collection is not modified. Lazy initializer on transforms.
#rb cedric.caillaud

[CL 28509263 by vincent robert in ue5-main branch]
2023-10-05 14:40:16 -04:00
vincent robert
7db7fbbd2d Clean up : Remove friendship from Dynamic Collection with Geometry Collection Component and Geometry Collection Component Physics Proxy
[CL 28494182 by vincent robert in ue5-main branch]
2023-10-05 08:12:19 -04:00
vincent robert
1844be19d3 Reduce memory usage in Dynamic Collection :
- Removed Implicits
- Removed Particles
- Compressed Dynamic State
#rb cedric.caillaud, benn.gallagher

[CL 28427877 by vincent robert in ue5-main branch]
2023-10-03 15:47:01 -04:00
vincent robert
16568b2f49 Reduce memory usage in Dynamic Collection
Remove children array of set from Dynamic Collection, it is now using the bit array from its parent.
#rb cedric.caillaud

[CL 28331755 by vincent robert in ue5-main branch]
2023-09-28 18:44:03 -04:00
vincent robert
f2f162ac2d Reduce memory usage in Dynamic Collection
Remove parent array from Dynamic Collection, it is now replaced by a bit array
#rb cedric.caillaud

[CL 28285924 by vincent robert in ue5-main branch]
2023-09-27 15:03:55 -04:00
sergio gardeazabal
8baafef7f4 [Chaos] Updated the test in Headless Chaos for AABB tree generation to take into account the new Time Slice mode that uses a milliseconds budget instead of amount of work.
This is needed because now that the new mode is enabled by default, the existing test is failing.

#jira UE-196244
#rb jaco.vandyk

Note the preflight apears as failed, but it is because other test are also failing at the moment. With this CL the test we are trying to fix, Passes.

[CL 28125910 by sergio gardeazabal in ue5-main branch]
2023-09-22 04:32:43 -04:00
vincent robert
9286d328d8 Reduce memory in Dynamic Collection
#rb cedric.caillaud

[CL 28102631 by vincent robert in ue5-main branch]
2023-09-21 16:12:12 -04:00
vincent robert
0d31b1a8f5 Fix compilation error in Headless Chaos
[CL 28088934 by vincent robert in ue5-main branch]
2023-09-21 12:07:56 -04:00
vincent robert
0786f9dca5 Improve Geometry Collection Transform API
Transform attribute is no longer public, methods allow accessibility
#rb bill.henderson

[CL 28044133 by vincent robert in ue5-main branch]
2023-09-20 13:30:11 -04:00
vincent robert
c96ad5e82e Expose Async Physics Block Mode and Async Interpolation Multiplier in the Solver API.
Those parameters are still available throw CVar. This change has been made to be able to customize those variable by project.
#rb benn.gallagher

[CL 27993584 by vincent robert in ue5-main branch]
2023-09-19 09:40:27 -04:00
chris caulfield
fbbe389515 Chaos
- fix islands not waking when a particle is disabled
- fix waking of isolated particles when all other particles or constraints have been removed from their island

1) We were not waking islands on removal of a particle. 2) We were destroying single-particle islands before the sleep status was processed, preventing particles from being awoken when the penultimate particle was removed from an island.

The fix is to explicitly wake islands on particle removal, and to defer island/node destruction until FinalizeIslands, after we have processed sleep/wake changes and synched the sleep state to particles.

#rb benn.gallagher

[CL 27964398 by chris caulfield in ue5-main branch]
2023-09-18 13:12:47 -04:00
vincent robert
839bda5113 Reduce memory usage in Geometry Collection
Relative Transform in Dynamic Collection are now in single precision. This change implicates an API change. The Managed Array of transforms being in public, and being changed make some backward compatibility breakage. This array shouldn't have be used much.
#rb cedric.caillaud

[CL 27942269 by vincent robert in ue5-main branch]
2023-09-15 22:05:02 -04:00
chris caulfield
f8adab2919 Chaos - fix headless chaos collision test
It was testing that a box gets pushed out of a plane, but the defaulrt depenetration velocity is now zero

#rb none

[CL 27934719 by chris caulfield in ue5-main branch]
2023-09-15 17:25:46 -04:00
chris caulfield
22cd9d6138 Chaos - fix capsule-convex collision detection
When the convex hits an end cap and we generate an additional contact on the capsule's cylinder, it would create an additional contact even if the convex plane was nearly opposite the capsule axis, leading to an unnecessary point and a potential NaN when exact opposite.

#rb sean.campbell

[CL 27819458 by chris caulfield in ue5-main branch]
2023-09-12 21:45:01 -04:00
cedric caillaud
3c76033086 geometry collection : remove MassToLocal from dynamic collections since it is never modified from the asset
- using the RestCollection immutable MassToLocal instead
- this save a 2x96 bytes per bone per geometry collection instance

#rb vincent.robert, benn.gallagher, brice.criswell

[CL 27777942 by cedric caillaud in ue5-main branch]
2023-09-11 19:34:31 -04:00
vincent robert
71d63801e0 Fix Headless Chaos compilation error
[FYI] cedric.caillaud

[CL 27634772 by vincent robert in ue5-main branch]
2023-09-06 10:40:08 -04:00
jaco vandyk
f7cfdab382 UE-191196
- Zero length sweeps will now return correct normals and hit positions
- Overlaps can now return hit positions, and the normals will be in global space for all shape types

#rb Benn.Gallagher
[FYI] Tom.waterson
#jira UE-191196
[REVIEW] [at]Benn.Gallagher

[CL 26811848 by jaco vandyk in ue5-main branch]
2023-08-03 11:16:11 -04:00
michael forot
6e4094da3e Chaos implicit object ref counted ptr + union simple shapes (WIP)
#rb chris.caulfield

[CL 26722951 by michael forot in ue5-main branch]
2023-07-31 17:46:47 -04:00
steven barnett
06e94410c9 Add contact modification per particle
#rb chris.caulfield

[CL 26457148 by steven barnett in ue5-main branch]
2023-07-19 08:16:22 -04:00
chris caulfield
7e1af2278e Chaos - AABB Transform optimization (disabled by cvar for now)
#rb none

[CL 26325818 by chris caulfield in ue5-main branch]
2023-06-29 16:05:52 -04:00
josh adams
82ea6a767a [Backout] - CL26223564
[FYI] keaton.stewart
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL26221679 [Main CIS Issue] Errors in Incremental FortniteServer Linux and Incremental Compile Monolithics - Linux
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26226852 by josh adams in ue5-main branch]
2023-06-24 17:52:48 -04:00