내일배움캠프_TIL

10월 25일 TIL

skybluesky 2023. 10. 26. 02:19

Raycast는 직선을 씬에 투영하여 대상에 적중되면 true를 리턴하는 물리 함수다. Raycast 함수는 캐스팅 성공 실패에 따른 결과만 리턴하는 간단한 형태에서 부터 대상과 Ray의 충돌에 관련된 자세한 정보를 리턴하는 다양한 버전이 제공 되고 있다.

Raycast 함수의 핵심은 아래 세가지 정도로 요약 된다

  • Ray 변수
  • RaycastHit 변수
  • Raycast 함수

Ray는 직선의 시작점(origin)과 방향(direction)을 가지고 있는 단순한 구조체다.

시작점(origin)은 Vector3 타입의 월드 포지션이며 방향(direction)은 직선의 방향을 나타낼 Vector3 타입의 법선 벡터다. 

 

RaycastHit은 객체와 Ray의 충돌에 대한 결과 정보를 저장하는 구조체다. Raycast 함수의 out 파라메터로 사용되며 월드에서 레이캐스팅 히트가 발생한 위치, Ray가 충돌한 물체, Ray의 원점에서 얼마나 떨어져있는지 등의 정보를 저장하여 돌려준다.

 

Raycast 함수를 사용하면 Ray가 씬의 다른 객체와 충돌하는지 여부를 알 수 있으며 충돌할 경우 충돌 정보를 RaycastHit 변수에 저장할 수 있다.