본문 바로가기

내일배움캠프/[P6-Solo.] GettingOverSparta

[TIL 24.05.29] 레이캐스트

글의 요약 설명 부분.

 

목   차

 


Unity에서 Raycast에 대해 알아보자

Raycast는 Unity에서 매우 중요한 기능 중 하나로, 주로 물리 엔진과 상호 작용할 때 사용됩니다. Raycast를 이용하면 가상의 광선을 쏘아 물체와의 충돌 여부를 감지할 수 있습니다. 이는 주로 캐릭터의 시야, 총알의 경로, 충돌 검사 등 다양한 게임 메커니즘에 활용됩니다.

Raycast의 주요 개념과 사용법

Ray: Ray는 시작점(origin)과 방향(direction)으로 정의됩니다. 이는 3D 공간에서 무한히 뻗어나가는 직선을 의미합니다.

RaycastHit: RaycastHit는 Ray가 충돌한 객체에 대한 정보를 담고 있습니다. 충돌한 객체의 위치, 법선 벡터, Collider 등을 포함합니다.

Physics.Raycast() 함수:
Physics.Raycast() 함수는 Ray를 쏘아 충돌 여부를 검사하는 함수입니다. 다양한 오버로드(overload)가 있어 필요한 매개변수에 맞게 사용할 수 있습니다.

// 기본적인 Raycast 사용법 예제
void Update() {
    // 카메라의 정면 방향으로 Ray를 쏘기 위한 설정
    Ray ray = new Ray(transform.position, transform.forward);
    RaycastHit hit;

    // Ray가 물체와 충돌했는지 검사
    if (Physics.Raycast(ray, out hit, 100.0f)) {
        // 충돌한 물체에 대한 정보 출력
        Debug.Log("Hit: " + hit.collider.name);
    }
}


 

마무리

.