본문 바로가기

Programming/Unity3D

카메라 회전

이번에는 카메라 회전을 구현하겠습니다.

RPG게임에서 마우스 오른쪽버튼과 휠을 이용하여

카메라 회전및 줌 인 아웃을 구현되어 있는걸 자주 접했을겁니다.

이번에 그것을 구현해보겠습니다.

일단 카메라의 링크를 약간 바꿔 보겠습니다.

Cameraman에 회전할수잇는 회전축을 하나 추가 시켜보겟습니다.

만약 카메라맨을 회전시키다보면 회전축이 뒤틀려서 W의 값이 이상하게 들어가는 현상을 보시게 되실겁니다.

그것을 방지하기위해 회전 전용  Axis를 추가하였습니다.

이곳에 Script를 추가하여보겠습니다.

마우스 오른쪽 값을 입력받으면 위와같이 세팅합니다.

Invert는 사람에따라 위아래 성향이 다르기때문에 설정할수있게 해줍니다.

그리고 카메라의 최대 ,최소 각도를 구해줍니다.Mathf.Clamp를 통해서.

커터니언.오일러로 회전Gap을 만들어주고  Rotatation값에 넣어줍니다.

그리고 참고로 CameraMan,Axis,Main Camera의 포지션값과,회전값 둘다  0으로 초기화 시켜줍니다.

그리고 Axis 의 반대방향으로 카메라 위치를 조정해 줍니다.camT에 적용하여....

그리고 스크롤의 방향에따라 distanse값을 조정해주면 끝....

Scroll을 이용한 줌 인아웃,마우스를 이용한 회전...잘됩니다...ㅎㅎ

하지만 약간의 문제점이 있죠.

카메라가 땅을 파고 들어갑니다.

이건 다음시간에.~~

'Programming > Unity3D' 카테고리의 다른 글

키입력을 통한 복합 이동.  (0) 2015.03.02
카메라 땅꿀파기 현상 제어.  (0) 2015.03.02
아이템 먹기  (0) 2015.02.28
캐릭터 이동  (0) 2015.02.27
카메라 자연스럽게 움직이기.  (0) 2015.02.27