언리얼 FVector

roberto·2025년 1월 7일
  • 게임 개발하면서 중요한 것 같으면서도 사실 한번 해두면 잘 안하게 되는 것이 있는데, 그게 바로 위치값에 관한 것들이라고 생각한다.
  • 초기 구현단계에서야 많이 쓰지 어느 정도 구현되면 만질 일이 별로 없었던 것 같다.

FVector

  • FVector api 명세를 그냥 한번 훑고 싶었는데, 언리얼 공식 문서에서 내가 못찾는 건지 없는건지를 모르겠다.
F의 의미
F는 언리얼 엔진에서 **"Framework" 또는 "Float 기반"**을 나타냅니다.
FVector는 3D 벡터를 표현하는 구조체로, 내부적으로 X, Y, Z 좌표를 float 타입으로 저장합니다.

FVector의 F가 float의 f겠거니 하면서 GPT한테 물어봤다.

- 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)

사실 이런건 문서를 안봐도 찍어서 맞출 법도 하다. 그러나 굉장히 중요하다.

FVector(float InX, float InY, float InZ);
FVector(float InValue); // 모든 축을 동일한 값으로 초기화

FVector의 생성자

FVector();
FVector(float InX, float InY, float InZ);
FVector(float InValue);
FVector(const FVector& Other);

거리 계산

Dist(const TVector<T> &V1, const TVector<T> &V2);
Distance(const TVector<T> &V1, const TVector<T> &V2) { return Dist(V1, V2); }
Length();
SquaredLength();
  • SquaredLength는 빗변의 제곱값 그대로 나오니 주의
  • 일단은 이정도까지만, 더 들어가면 Vector가 아니라 Math로 들어가게 되니 그 부분은 추후 포스팅에서
profile
아마도 개발 관련된 것만 올릴듯한 벨로그

0개의 댓글