728x90
Unreal Engine 5 (UE5)에서 쿼터니언(FQuat)의 역을 구하고 이를 사용하여 벡터(FVector)를 회전시키는 방법을 알아보겠습니다.
1. FQuat의 역 구하기
FQuat의 역을 구하려면 Inverse() 메서드를 사용할 수 있습니다. 아래는 예제 함수입니다:
// 쿼터니언의 역을 구하는 예제 함수
FQuat GetInverseQuat(const FQuat& Quat)
{
return Quat.Inverse();
}
2. FQuat을 사용하여 FVector 회전시키기
FQuat을 사용하여 FVector를 회전시키려면 RotateVector 메서드를 사용할 수 있습니다. 아래는 예제 함수입니다:
// 쿼터니언을 사용하여 벡터를 회전시키는 예제 함수
FVector RotateVectorWithQuat(const FVector& Vector, const FQuat& Quat)
{
return Quat.RotateVector(Vector);
}
사용 예제
다음은 위의 함수들을 실제 코드에서 사용하는 방법입니다:
void ExampleUsage()
{
// 쿼터니언 정의 (예제 값)
FQuat MyQuat = FQuat(FRotator(45.0f, 90.0f, 0.0f));
// 쿼터니언의 역 구하기
FQuat InverseQuat = GetInverseQuat(MyQuat);
// 벡터 정의 (예제 값)
FVector MyVector = FVector(1.0f, 0.0f, 0.0f);
// 쿼터니언을 사용하여 벡터 회전시키기
FVector RotatedVector = RotateVectorWithQuat(MyVector, MyQuat);
// 결과 출력
UE_LOG(LogTemp, Log, TEXT("Inverse Quaternion: %s"), *InverseQuat.ToString());
UE_LOG(LogTemp, Log, TEXT("Rotated Vector: %s"), *RotatedVector.ToString());
}
이 코드는 Unreal Engine 5에서 쿼터니언의 역을 구하고 쿼터니언을 사용하여 벡터를 회전시키는 방법을 보여줍니다.
728x90