레이캐스팅을 사용해 캐릭터 움직이기
-
레이캐스팅 : 카메라의 원점에서부터 마우스로 클릭한 지점까지 이어지는 특정한 벡터를 구하는 것
- 보이지 않는 선(Ray)은 카메라 원점 > 클리핑 평면 (사용자의 화면 비율에 맞는 평면) > 인게임 맵 까지 이어짐
-
Debug.DrawRay : 시작점과 방향을 정하면 그에 맞는 선을 그음
-
Camera.ScreenPointToRay : 카메라의 원점에서부터 특정 지점까지 이어지는 선을 그음
-
Ray 구조체 : origin(원점)과 direction(방향)을 가지고 있는 벡터 구조체
-
RaycastHit 구조체 : Ray의 충돌지점에 대한 구조체.
- RaycastHit.point는 클릭해서 닿은 위치값이기 때문에 주로 사용됨
-
MoveToCursor() : 레이캐스팅을 통해 캐릭터를 움직임
- 카메라에서 화면으로 레이캐스팅을 진행함
- 레이가 터레인과 충돌한 지점을 구함
- 그 지점을 캐릭터의 NavMeshAgent의 destination으로 지정함.
고정 카메라 만들기
- 아무런 설정도 하지 않고, 플레이어의 자식으로 메인 카메라를 두면 회전을 같이 함.
- 이런 일을 방지하기 위해서, 플레이어의 자식으로 Follow Camera Game Object를 생성함
- 카메라는 Follow Camera의 자식으로 들어감.