UKismetMathLibrary::BreakTransform
#include "Kismet/KismetMathLibrary.h"
Access: public
Specifiers: staticUFUNCTIONBlueprintPure
Description
Decomposes a FTransform into its Location, Rotation, and Scale components. The counterpart to MakeTransform; the canonical Blueprint 'Break Transform' node.
Caveats & Gotchas
- • The internal rotation is stored as a quaternion; the output FRotator is computed via FQuat::Rotator(), which can produce unexpected Euler angles for rotations exceeding 90 degrees of pitch (gimbal-lock domain). Work with FQuat directly in C++ when the full rotation range matters.
- • Scale is extracted as-is — if the transform was built through ComposeTransforms with non-uniform scales the extracted scale may not match your original input components due to floating-point accumulation.
Signature
static UE_INL_API void BreakTransform(const FTransform& InTransform, FVector& Location, FRotator& Rotation, FVector& Scale) Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| InTransform | const FTransform& | The transform to decompose. | — |
| Location | FVector& | Output: the translation component. | — |
| Rotation | FRotator& | Output: the rotation expressed as a FRotator. | — |
| Scale | FVector& | Output: the scale component. | — |
Return Type
void Example
Extract and log a transform's components C++
FVector Loc; FRotator Rot; FVector Scl;
UKismetMathLibrary::BreakTransform(Actor->GetActorTransform(), Loc, Rot, Scl);
UE_LOG(LogTemp, Log, TEXT("Pos: %s Rot: %s"), *Loc.ToString(), *Rot.ToString()); Tags
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?