UKismetMathLibrary::Matrix_ApplyScale
#include "Kismet/KismetMathLibrary.h"
Access: public
Specifiers: staticUFUNCTIONBlueprintPure
Description
Returns a new matrix with the given uniform scale multiplied into the rotation rows, scaling the transform uniformly on all axes. The translation column is unaffected.
Caveats & Gotchas
- • Only the upper 3×3 rotation rows are scaled — the W (translation) column is copied unchanged. If you also want to scale the translation (e.g. when scaling an entire scene), use Matrix_ScaleTranslation separately.
- • Applying a negative Scale will flip the handedness of the matrix (introduce a reflection), which can cause backface culling to invert on rendered meshes. Use with care.
Signature
static UE_INL_API FMatrix Matrix_ApplyScale(const FMatrix& M, float Scale) Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| M | const FMatrix& | The source matrix. | — |
| Scale | float | Uniform scale factor to apply to all three rotation-row vectors. | — |
Return Type
FMatrix Example
Double the size of a transform matrix C++
FMatrix M = OriginalTransform.ToMatrixWithScale();
FMatrix Doubled = UKismetMathLibrary::Matrix_ApplyScale(M, 2.0f); Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?