언리얼 엔진/C++
[언리얼엔진/C++] FVector::Parallel (두 벡터가 평행한지 여부 확인)
mane
2024. 6. 25. 00:46
728x90
반응형
FVector::Parallel 함수 사용법
언리얼 엔진(UE4)의 FVector
클래스는 3D 벡터를 다루기 위한 다양한 기능을 제공합니다. 그 중 FVector::Parallel
함수는 두 벡터가 평행한지 여부를 확인하는 데 사용됩니다.
함수 정의
static bool Parallel(const FVector& Normal1, const FVector& Normal2, float ParallelCosineThreshold = THRESH_NORMALS_ARE_PARALLEL);
// #define UE_THRESH_NORMALS_ARE_PARALLEL (0.999845f) /* Two unit vectors are parallel if abs(A dot B) is greater than or equal to this. This is roughly cosine(1.0 degrees). */
매개변수
- Normal1: 비교할 첫 번째 벡터.
- Normal2: 비교할 두 번째 벡터.
- ParallelCosineThreshold: (옵션) 두 벡터가 평행하다고 간주될 수 있는 코사인 값의 임계값. 기본값은 THRESH_NORMALS_ARE_PARALLEL로 정의되어 있습니다.
반환 값
- 두 벡터가 평행하다
true
, 그렇지 않다면false
를 반환합니다.
예제 코드
두 벡터가 평행한지 확인하는 간단한 예제를 살펴보겠습니다.
#include "CoreMinimal.h"
#include "Engine/Engine.h"
void CheckParallelVectors()
{
FVector Vector1(1.0f, 0.0f, 0.0f);
FVector Vector2(2.0f, 0.0f, 0.0f);
bool bAreParallel = FVector::Parallel(Vector1, Vector2);
if (bAreParallel)
{
UE_LOG(LogTemp, Log, TEXT("Vector1과 Vector2는 평행합니다."));
}
else
{
UE_LOG(LogTemp, Log, TEXT("Vector1과 Vector2는 평행하지 않습니다."));
}
}
이 예제에서 Vector1과 Vector2는 같은 방향을 가지므로 FVector::Parallel 함수는 true를 반환합니다.
활용 팁
- 평행 벡터는 물리 시뮬레이션이나 방향을 비교할 때 유용하게 사용할 수 있습니다.
- 임계값인 ParallelCosineThreshold를 조정하여 평행 여부의 민감도를 설정할 수 있습니다.
728x90
반응형