본문 바로가기

카테고리 없음

Unreal Engine 5에서 FQuat의 역 구하기 및 FQuat을 사용하여 FVector 회전시키기

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