[내배캠] 최종 프로젝트 #6. Ray, Raycast, RaycastHit

Sungchan Ahn(안성찬)·2024년 12월 3일

내일배움캠프

목록 보기
74/104

Ray

원점(origin)에서 시작해서 지정된 방향(direction)으로 무한히 쏘아지는 line

  • 변수

    • origin : ray의 원점(시작점)
    • direction : ray의 방향
  • 생성자 (오버로딩)

    • new Ray(origin, direction);
  • Camera 클래스는 ScreenPointToRay, ViewportPointToRay 함수를 제공

Physics.Raycast

Ray에 어떤 대상에 부딪히면 true를 반환하는 함수

public static bool Raycast (Vector3 origin,
							Vector3 direction,
                            out RaycastHit hitInfo,
                            float maxDistance,
                            int layerMask,
                            QueryTriggerInteraction queryTriggerInteraction);
  • Parameter
    • origin: ray의 원점(월드 좌표)
    • direction : ray의 방향
    • hitInfo : true 반환 시, RaycastHit에 반환될 정보
    • maxDistance : ray와의 충돌을 검출하는 최대 거리
    • layerMask : 검출할 Layer Mask 설정(다른 대상 무시)

이 파라미터를 사용하는 여러 오버로딩이 존재

Physics.Raycast와 비슷하게 Linecast가 있다.

RaycastHit

raycast로부터 반환될 정보

  • 주요 변수
    • collider : 검출된 Collider
    • distance : 원점부터 검출 위치까지의 거리
    • point : 월드 상의 검출 위치
    • rigidbody : 검출된 collider의 rigidbody. 없으면 null
    • transform : 검출된 rigidbody나 collider의 transform

Physics.RaycastAll

ray에 검출된 모든 Raycast 정보를 반환(Raycast[])

profile
게임 개발 기록

0개의 댓글