UKismetMathLibrary::Quat_AngularDistance
#include "Kismet/KismetMathLibrary.h"
Access: public
Specifiers: staticBlueprintPure
Description
Returns the shortest angular distance in radians between two rotation quaternions. Useful for blending decisions and animation threshold checks.
Caveats & Gotchas
- • The result is in radians, not degrees — multiply by (180.0f / PI) or use FMath::RadiansToDegrees to convert before comparing against degree-based thresholds.
- • Both quaternions must be normalized; passing un-normalized quaternions gives incorrect angle values due to the underlying dot product implementation.
Signature
static UE_INL_API float Quat_AngularDistance(const FQuat& A, const FQuat& B) Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| A | const FQuat& | The first rotation quaternion. | — |
| B | const FQuat& | The second rotation quaternion. | — |
Return Type
float Example
Check if an actor has rotated more than 5 degrees since last frame C++
float AngularDeltaRad = UKismetMathLibrary::Quat_AngularDistance(PreviousQuat, CurrentQuat);
float AngularDeltaDeg = FMath::RadiansToDegrees(AngularDeltaRad);
if (AngularDeltaDeg > 5.0f)
{
OnSignificantRotation.Broadcast();
PreviousQuat = CurrentQuat;
} Tags
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?