-Raycast 가이드-
https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Physics.Raycast.html
맵 상의 어떤 오브젝트를 탐지할 때 사용.
(플레이어 근처의 몬스터를 탐지할 때 플레이어 주변에 Collider를 만들어서 할 수도 있지만 Ray를 사용할 수도 있음)
눈에 보이지 않은 광선(Ray)가 맞은 물체를 판단한 뒤 후처리를 하는 방식.
Ray, RaycastHit, MaxDistance, LayerMask 등의 옵션
true, false 반환
Raycast에 의해 검출된 객체의 정보가 담겨있다.
RaycastHit.point - 레이캐스팅이 감지된 위치
RaycastHit.distance - Ray의 원점에서 충돌 지점까지의 거리
RaycastHit.transform - 충돌 객체의 transform에 대한 참조
직선의 시작점(origin)과 방향(direction)
//오브젝트 기준
Ray ray = new Ray(transform.position, transform.forward);
//카메라 기준
Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0));
//마우스 기준
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);