안녕하세요 ~ 솔루션입니다. 오늘은 RPG 장르에서 자주 사용되는 카메라 줌인/아웃 기능을 구현해보도록 하겠습니다 !
먼저 줌인/아웃 되는 효과를 주기 위해 카메라의 위치값을 동적으로 변할 수 있게 해주는 스크립트를 작성해야 합니다.
생각보다 간단합니다. Vector3 값으로 줌을 하려는 타겟과의 거리를 구한 후 정규화를 시켜줍니다. 그리고나서 마우스휠의 입력에 따라 타겟과 카메라의 위치를 더해주거나(가까워지게) 빼주면(멀어지게) 끝입니다. !
스크립트를 사용하려는 카메라에 넣어줍니다. (저는 별도의 카메라 생성 없이 기본으로 생성되는 'main camera'에 추가했습니다. 그리고 Ctrl + Shift + F 단축키로 현재 씬에서 보여지는 것 처럼 카메라의 위치를 조절해놨습니다. 그러고 씬을 실행시키면 이러한 상태일텐데 여기서 마우스휠을 위로 돌리면
이렇게 카메라가 타겟에 다가가게 되기 때문에 카메라 입장에선 줌인 상태가 됩니다 ! 당연하지만 반대로 마우스 휠을 아래로 돌리면 줌아웃이 되겠죠 ?
만약 마우스 휠이 아닌 다른 입력키로 줌인/아웃을 시키고 싶다면
작성했던 스크립트 부분에 'Input.GetAxis ("Mouse ScrollWheel") 을 원하는 입력값으로 넣어주시면 되겠습니다 ~
추가로 만약 카메라가 일정거리를 계속 유지하게 만들고 싶다면 카메라와 타겟의 위치를 계속 계산해서 일정한 값이 되도록 만들어버리면 되겠죠 ?
RPG 장르에서 쓰이는 줌인/아웃 기능을 알아보았습니다 ~개발하시는 분들에게 조그만이나마 도움이 되었으면 좋겠네요 !
'Unity (C#) > Old' 카테고리의 다른 글
유니티 함수 지연 실행하기 (Invoke) (2) | 2018.08.05 |
---|---|
유니티 오브젝트 회전시키기 (0) | 2018.08.03 |
유니티 레이아웃 커스텀하기 (0) | 2018.07.30 |
유니티 Inspector에서 Slider로 값 조절하기 (0) | 2018.07.27 |
유니티에서 자주 사용하는 단축키 (0) | 2018.07.26 |
최근댓글