TIL 32 Physics2D.Raycast

qkrrlcks00·2024년 10월 10일

타일
(블럭 선택 후)

  1. 시계방향 회전 : ]

  2. 반시계 방향 회전 : [

  3. 좌우 반전 : Shift + [

  4. 상하 반전 : Shift + ]

FindGameObjectWithTag

  • "FindGameObjectWithTag"는 지정된 태그와 일치하는 첫 번째 활성 GameObject를 반환합니다. 이 메서드는 특정 태그를 가진 오브젝트를 빠르게 찾을 수 있도록 돕습니다.
  • 태그를 사용하면 씬 내에서 특정 유형의 오브젝트를 쉽게 찾을 수 있으며, 코드에서 게임 오브젝트를 참조할 때 유용합니다.
  • 그러나 "FindGameObjectWithTag"는 매우 비싼 연산입니다. 즉, 이 메서드를 사용하면 CPU를 많이 사용하게 됩니다. 따라서 이 메서드를 매 프레임마다 호출하면 게임 성능에 심각한 영향을 미칠 수 있습니다.
  • 따라서 일반적으로는 이 메서드를 Start나 Awake와 같은 초기화 메서드에서 한 번만 호출하는 것이 권장됩니다. 오브젝트를 찾은 후에는 참조를 저장하고 나중에 재사용합니다.
  • 게임 오브젝트가 많은 큰 씬에서는 태그 대신 레이어나 다른 메서드를 사용하는 것이 더 효율적일 수 있습니다.

Physics.Raycast 또는 Physics2D.Raycast

  • Raycasting은 콜라이더와 교차하는지를 감지하는 데 사용되는 기술입니다. 이는 레이저 포인터나 총알을 쏘는 효과를 만들거나, 플레이어의 시야를 계산하는 등 다양한 방식으로 사용됩니다.
  • Unity에서는 Physics.Raycast 또는 Physics2D.Raycast를 사용하여 Raycast를 수행할 수 있습니다. 이들 메서드는 시작점, 방향, 최대 거리, 그리고 선택적으로 레이어 마스크를 매개변수로 받습니다.
  • Raycast는 hit 정보를 반환합니다. 이 정보에는 충돌한 객체, 충돌 지점, 충돌 지점의 정규화된 벡터 등이 포함됩니다.
  • Raycast는 남발하는 경우 상당한 비용이 들 수 있으므로, 호출 시점 및 대상을 최적화하는 것이 중요합니다.
  • Raycast는 비주얼 디버깅을 위해 Debug.DrawRay와 함께 사용할 수 있습니다. 이를 통해 Scene 뷰에서 Raycast의 경로를 시각적으로 확인할 수 있습니다.

0개의 댓글