반응형

안녕하세요 ~ 솔루션입니다. 오늘은 RPG 장르에서 자주 사용되는 카메라 줌인/아웃 기능을 구현해보도록 하겠습니다 !




먼저 줌인/아웃 되는 효과를 주기 위해 카메라의 위치값을 동적으로 변할 수 있게 해주는 스크립트를 작성해야 합니다.

생각보다 간단합니다. Vector3 값으로 줌을 하려는 타겟과의 거리를 구한 후 정규화를 시켜줍니다. 그리고나서 마우스휠의 입력에 따라 타겟과 카메라의 위치를 더해주거나(가까워지게) 빼주면(멀어지게) 끝입니다. !



스크립트를 사용하려는 카메라에 넣어줍니다. (저는 별도의 카메라 생성 없이 기본으로 생성되는 'main camera'에 추가했습니다. 그리고 Ctrl + Shift + F 단축키로 현재 씬에서 보여지는 것 처럼 카메라의 위치를 조절해놨습니다. 그러고 씬을 실행시키면 이러한 상태일텐데 여기서 마우스휠을 위로 돌리면


이렇게 카메라가 타겟에 다가가게 되기 때문에 카메라 입장에선 줌인 상태가 됩니다 ! 당연하지만 반대로 마우스 휠을 아래로 돌리면 줌아웃이 되겠죠 ?

만약 마우스 휠이 아닌 다른 입력키로 줌인/아웃을 시키고 싶다면

작성했던 스크립트 부분에 'Input.GetAxis ("Mouse ScrollWheel") 을 원하는 입력값으로 넣어주시면 되겠습니다 ~


추가로 만약 카메라가 일정거리를 계속 유지하게 만들고 싶다면 카메라와 타겟의 위치를 계속 계산해서 일정한 값이 되도록 만들어버리면 되겠죠 ?



RPG 장르에서 쓰이는 줌인/아웃 기능을 알아보았습니다 ~개발하시는 분들에게 조그만이나마 도움이 되었으면 좋겠네요 !

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기