호빵의 IT 개발소

[유니티] 정규화(normalized) 본문

C#, 유니티/유니티엔진 기초

[유니티] 정규화(normalized)

호빵Stack 2022. 7. 5. 00:15

벡터(vector)

  • 크기와 방향을 가진 데이터 타입
  • 각 축의 크기가 1인 벡터를 단위 벡터(정규화 된 벡터, Normalized Vector)라 한다.

Vector3 구조체

Vector3.forward => 앞 => Vetor3(0, 0, 1)
Vector3.back => 뒤 => Vetor3(0, 0, -1)
Vector3.left => 좌 => Vetor3(-1, 0, 0)
Vector3.right => 우 => Vetor3(1, 0, 0)
Vector3.up => 위 => Vetor3(0, 1, 0)
Vector3.down => 아래 => Vetor3(0, -1, 0)
Vector3.one => 모든 방향 1 => Vetor3(1, 1, 1)
Vector3.zero => 모든 방향 0 => Vetor3(0, 0, 0)
  • 1의 최대값을 가진 데이터 형 벡터
  • 각 축의 크기가 최소 -1 ~ 최대 1로 단위 벡터 또는 정규화 벡터라고 한다.

 

벡터의 정규화(normalized)

  • 오브젝트의 균일한 이동을 위해 벡터의 정규화가 필요
  • 정규화를 하지 않으면 캐릭터 이동을 예시로 상하좌우 이동속도는 동일하나 만약 대각선으로 이동하게 되면 캐릭터의 속도가 1.414배(루트 2) 빠르게 적용되어 움직이게 된다. (0.707, 0.707)

 

좌표의 정규화(normalized)

  • 실제 월드 좌표를 기준으로 미니맵에 현재 플레이어의 위치를 표시하기 위해 사용
  • (현재 위치 좌표값 / 월드 좌표 값 * 미니맵의 좌표값)를 해주게 되면 미니맵에 현재 위치에 근접하게 표시가 된다.

 

 

 


출처 및 참조 : 

https://seojingames.tistory.com/entry/%EB%B0%A9%ED%96%A5-%EB%B2%A1%ED%84%B0-%EB%B2%A1%ED%84%B0%EC%9D%98-%EC%A0%95%EA%B7%9C%ED%99%94normalized-%EC%9C%A0%EB%8B%88%ED%8B%B0

https://www.youtube.com/watch?time_continue=298&v=KodVbHfF0r0&feature=emb_logo

 

 

Comments