UDN 링크 : https://docs.unrealengine.com/4.27/en-US/API/Runtime/Core/Math/FVector/
참고 링크 : https://blog.2bbear.dev/entry/Unreal-%EA%B0%9C%EB%B0%9C%EA%B8%B0-5-FVector-API-%EC%A0%95%EB%A6%AC
FVector
언리얼 엔진 전용으로 사용하는 3D공간 상에서 X, Y, Z 컴포넌트를 가진 벡터 구조체
1. 주요 생성자(Constructor)
- FVector() 초기화를 시키지 않는 생성자. 쓰레기 값이 들어갈 수 있음에 유의!
- FVector(float Inf) 모든 컴포넌트(x,y,z)를 Inf값으로 초기화
- FVector(float x, float y, float z) x, y, z로 xyz 컴포넌트 값을 초기화
2. 주요 함수(Functions)
- bool AllComponentsEqual (float Tolerance) : 해당 벡터의 모든 컴포넌트(x,y,z)가 Tolerance 이상인지 판별하는 함수
=범위를 넘었는지 판별용
- FVector BoundToCube(float Radius) : 해당 벡터의 모든 컴포넌트를 Radius값 이하로 조절하는 함수
=오브젝트의 최대 움직임 반경 설정
- FVector ClampMaxSize(float MaxSize) : 해당 벡터의 모든 컴포넌트를 Maxsize 이하로 조절한다. 사용 방법은 BoundToCube와 동일.
- FVector ClampSize(float Min ,float Max) : 해당벡터의 모든 컴포넌트를 Min이상 Max이하로 조절한다.
- bool Coincident(const FVector & Nomal1, const FVector & Nomal2 , float ParallelCosineThreshold) : 두 벡터의 방향성이 거의 ParallelCosineThreshold(오차범위) 내외로 비슷한지 판별하는 함수
- bool ConstainsNaN() : 해당 벡터에 x,y,z로 들어갈 수 없는 값이 들어가 있는지 확인하는 함수(무한대 숫자들이 걸러진다. 또는 들어가면 안되는게 들어 갔을때 걸러진다.)
- float Dist(cibst FVector & V1, const FVector & V2) : 두 벡터 사이의 거리를 구하는 함수
- bool Equals(const FVector & V , float Tolerance) : 해당 벡터가 V 벡터와 같은지 오차범위 Tolerance 안에서 반별하는 함수
- bool Orthogonal(정규화 벡터 1 , 정규화 벡터 2, 오차범위) : 두 정규화 벡터라고 하지만 그냥 벡터를 넣어도 무방하다. 이 두 벡터가 직각인지 오차 범위 내에서 확인 해준다.
- bool PointsAreNear(벡터 1 , 벡터 2 , 오차범위) : 두 벡터가 오차범위 내로 근접해 있는지 확인해주는 함수
- FVector CrossProduct(const FVector& A, const FVector& B) : 두 벡터의 외적을 구하는 함수
- float DotProduct(const FVector& A, const FVector& B) : 두 벡터의 내적을 구하는 함수
3. 주요 상수(Constants)
- FVector::ForwardVector : (1, 0, 0)
- FVector::BackwardVector : (-1, 0, 0)
- FVector::UpVector : (0, 0, 1)
- FVector::DownVector : (0, 0, -1)
- FVector::RightVector : (0, 1, 0)
- FVector::LeftVector : (0, -1, 0)
- FVector::ZeroVector : (0, 0, 0)
- FVector::OneVector : (1, 1, 1)
- FVector::XAxisVector : (1, 0, 0)
- FVector::YAxisVector : (0, 1, 0)
- FVector::ZAxisVector : (0, 0, 1)
'게임 개발 > Unreal Engine' 카테고리의 다른 글
[Unreal Engine] 라이팅(Lighting) (24) | 2021.12.30 |
---|---|
[Unreal Engine] 액터의 수명주기(Actor Lifecycle) (30) | 2021.12.29 |
[Unreal Engine] FName, FText, FString 비교 (0) | 2021.12.29 |
[Unreal Engine] Actor, Pawn, Character 비교 (0) | 2021.12.28 |
[Unreal Engine] FString API (0) | 2021.12.28 |