Ninja Character - Dynamic gravity for characters & objects

There is an issue with the way input / acceleration is applied.

At 0,0,1 there is a very low angular distance between the capsule rotation and acceleration but the farther you rotate away from 0,0,1 the higher the angular distance between the capsule rotation and acceleration.

UpdatedComponent->GetComponentQuat().AngularDistance(Acceleration.ToOrientationQuat());

This messes with the logic required to achieve ‘turn in a circle’ movement similar to Mario Odyssey or BOTW as it requires comparing the two as so:

const float AccelDiff = FRotator::NormalizeAxis(FMath::RadiansToDegrees(FMath::Acos(Direction | Acceleration.GetSafeNormal())));