---CameraCtrl-- 1) 카메라는 바로 서있는 상태로 항상 타겟(플레이어)을 보고 있다. 타겟이 화면 중앙에 있음. 2) 카메라는 지구가 태양을 돌 듯이, 타겟의 주위를 돌며 이동한다. 그리고 일정하게 거리를 유지한다.
3) 마우스를 움직이면 위 조건에 맞게 카메라가 이동하며, 여러 구도에서 타겟을 바라볼 수 있다.
4) 마우스의 x 축 이동은 타겟 기준으로 카메라의 수평이동, 마우스의 y축 이동은 카메라의 높낮이에 해당함.
5) 타겟이 움직이면 카메라는 거리와 각도를 유지하면서 타켓과 같은 방향으로 움직인다, 약간의 딜레이가 있어서 한박자 느리게 움직임
---PlayerCtrl-- 1) 타겟(플레이어)이 움직이는 동안 마우스를 좌우로 움직이면 타겟의 이동방향의 좌우 방향이 변경된다 2) 타겟은 카메라가 보고 있는 방향 기준으로 움직인다 ( 플레이어 방향 왼쪽, 이동키 A, 플레이어는 직진 ) 3) 락온시 플레이어는 락온 된 대상을 바라보며 움직인다. 4) 락온시 좌우로 이동하면 일정거리를 유지하면서, 대상을 바라보며 대상의 주변을 좌우로 이동한다.
그리고 카메라의 location.. 개념을 좀 이해하고자 버튼을 클릭하면 1) 카메라가 대상을 바라보게, 2) 카메라가 대상의 근처로 이동하게 만들어 봤다.
다행히... 책 한권 full clear 하며 예제게임을 만든 경험이 있기 때문에.. 대략적으로 이런걸 쓰면 될까? 싶은 느낌으로
함수를 찾아 적용 할 수 있었다... 유니티 너무 막연해 ㅠㅠ
UI 버튼을 만들어서, OnClick()에 카메라 오브젝트를 넣고, 카메라 오브젝트안에 적용시킨 CameraCtrl 함수에 1) 2)에 해당하는 함수를 넣고, 클릭되면 불러오게 설정했다.
1) LookAt 함수 이용
public void OnClickLookAtBotton()
{
cameraTransform.LookAt(targetTransform.transform);
Debug.Log("바라보기");
}