본문 바로가기
Unreal Engine/UE4 C++ 게임 개발 공부

[짤막 팁] UE4의 벡터 정규화(Normalize)

by JJPearl 2022. 6. 25.
반응형

점 A에서 점 B로 가는 벡터 =  B벡터 - A벡터 (시작위치 A, 목적지 B 라면 목적지-시작위치)

일정한 속도로 이동하려면 이 벡터를 정규화(normalize) 해야 한다. == 크기를 1이 되게 만든다.(언리얼 단위는 cm로 취급됨)

-> 틱 단위로 적절한 속도의 움직임을 만들기 위해 속도를 곱할 수 있다.

- FVector의 정규화(Normalize) 함수

  • Normalize: 실제로 벡터 자체를 수정함.
  • GetSafeNormal: 새로운 벡터를 생성. 정규화된 벡터는 보호된다.
    (언리얼에서의 Normal은 정규화된 벡터를 의미, 법선벡터 의미X)
    -> 벡터 자체를 수정하지 않는 것이 좋은 습관. 소스가 변형되면 버그 찾기 힘들다.
    -> 정확한 계산이 가능하다.(아주 작은 오차는 존재)
  • GetUnsafeNormal: 숫자가 아주 작을 때에 대한 보호가 없다. (부동소수점 오류)
반응형