Unity/기능

[Unity] 유니티 오브젝트의 법선백터 계산 기준

turbulence93 2025. 5. 22. 20:30

법선 벡터란?

  • 법선(Normal)은 충돌한 면에 수직인 단위 벡터
  • 일반적으로 충돌 시 Collision2D.contacts.normal을 통해 접근 가능
  • 이는 충돌 지점의 반대 방향으로 볼 수 있음

Unity에서 법선 벡터는 어떻게 계산되는가?

 1. 법선 벡터의 기준은 충돌면

  • 법선 벡터는 충돌점을 기준으로 오브젝트의 "바깥" 을 가르킴
  • 오브젝트에 충돌한 다른 오브젝트를 밀어내는 방향으로 볼 수 있음

 2. 법선 벡터는 '충돌 지점에서 수직 방향'

  • 예를 들어 벽 왼쪽면에 충돌했을 때의 법선은 (-1, 0)
    → 힘이 왼쪽에서 들어왔음으로 왼쪽 법선 형성

3. 오브젝트 별 법선 계산 기준

  • Box 및 Sphere 등 콜라이더는 내부에서 중심점을 가지고 있음
  • 중심점을 기준으로 오브젝트의 "바깥"을 계산
  • Mesh Collider의 경우 Mesh 자체에 방향을 가지고 있음
  • Mesh를 구분 없이 사용해도 Normal을 바꿀수 있으니 문제 없음