Moved kinematic colliders into their own spatial hash acceleration structure.
Store kinematic collider constraints in a way that they can be applied with ISPC.
#rb kriss.gossart
[CL 31396009 by alex mcadams in ue5-main branch]
* Added unit tests for InitFromString for FColor, FLinearColor, FVector, FVector2D, FVector4, FQuat, FRotator
#rb Josh.Adams
#jira none
[CL 31127398 by jonathan bard in ue5-main branch]
There are some specific cases where structured archive serialization is not needed, serializing with a plain FArchive is faster.
#jira UE-205238
#rb Steve.Robb
[CL 31099017 by sergio gardeazabal in ue5-main branch]
Added some tests that would have failed with the previous implementation due to lack of floating point precision.
Added some constexpr tests, though only the integer tests can be supported before C++23.
#rb fabian.giesen, jodon.karlik
#jira UE-202852
[CL 30374367 by steve robb in ue5-main branch]
Added a new FMath::Modulo which generically encapsulates integral/float differences.
#rb fabian.giesen, jodon.karlik
[CL 30015486 by steve robb in ue5-main branch]
Currently Softs::FEvolution should have the same behavior as PBDEvolution, but Softs::FEvolution will ultimately support a force-based linear system solver, hence why it is keyed on EnableForceBasedSolver. The new evolution will be created if ANY LOD requests a ForceBasedSolver since the ForceBasedSolver can also just do vanilla PBD.
In the long run, we might want to just swap to the new solver entirely and clean up a bunch of code, but not doing that yet.
I did some basic tests, and due to the optimizations in presubstep, the new solver is slightly faster than the old solver.
#rb kriss.gossart
#jira UE-200450
[CL 29753593 by alex mcadams in ue5-main branch]