**@Teh_Masterer_ **this also does not work correctly, the rotation is done like World Rotation
FQuat q1;
if (Axis == EAxisType::X)
{
q1 = FQuat(FVector::ForwardVector, FMath::DegreesToRadians(Angle));
}
else if (Axis == EAxisType::Y)
{
q1 = FQuat(FVector::RightVector, FMath::DegreesToRadians(Angle *-1));
}
else if (Axis == EAxisType::Z)
{
q1 = FQuat(FVector::UpVector, FMath::DegreesToRadians(Angle));
}
AddRelativeRotation(q1);
This code is identical
FRotator delta (0, 0, 45);
AddWorldRotation(delta)
This code works correctly for X and Y, but does not work correctly for Z axis if X and Y are not 0
FQuat q1;
if (Axis == EAxisType::X)
{
q1 = FQuat(GetForwardVector(), FMath::DegreesToRadians(Angle));
}
else if (Axis == EAxisType::Y)
{
q1 = FQuat(GetRightVector(), FMath::DegreesToRadians(Angle *-1));
}
else if (Axis == EAxisType::Z)
{
q1 = FQuat(GetUpVector(), FMath::DegreesToRadians(Angle));
AddRelativeRotation(q1);
}