main Camera가 특정 타겟을 계속해서 비추도록 하고 싶다면 가장 간단한 방법은 목표에 main camera를 하위 오브젝트로 넣는 것이다.
또한 main Camera에 스크립트를 추가하여 그 스크립트에서 main camera의 position 값을 따라다니려는 목표의 position 값을 넣어주면 된다.
하지만 위와 같은 방법들은 정확하게 목표가 움직인 만큼만 카메라가 움직인다.
만약 물체가 이동한 뒤에 카메라가 따라가는 등의 동적이고 부드러운 움직임을 구현하고 싶다면 다른 방법을 이용해야 한다.
* Vector3.SmoothDamp(Vector3 current, Vector3 target, ref Vector3 Velocity, float smoothTime, float maxSpeed, float deltaTime);
< maxSpeed와 deltaTime은 인자로 주지 않아도 사용 가능하다.
current : 현재 나의 위치
target : 따라갈 목표의 위치
Velocity : 현재 속도
smoothTime : 목표에게 도달하기 까지의 걸릴 시간
maxSpeed : 최대 속도
deltaTime : 마지막 작동을 위한 호출로부터의 시간
* SmoothFollow
이는 유니티에서 제공하는 스크립트를 사용하는 방법이다. [Asset] -> [Import Package] -> [Utility]를 선택해주면 된다. Utility에 있는
SmoothFollow.cs를 임포트하여 메인 카메라에 컴포넌트 추가를 해주면 된다.
Utility가 뜨지 않을 시, 에셋 스토어에 가서 Standard Assets를 검색하여 직접 Import 해주면 된다.
'Unity 공부시작' 카테고리의 다른 글
유니티 :: Sound (0) | 2019.01.28 |
---|---|
유니티 :: 충돌 지점 알아내기(2D) (0) | 2019.01.13 |
유니티 :: 코루틴 ( Coroutine ) (0) | 2019.01.13 |
유니티 :: 오브젝트 풀링 (0) | 2019.01.12 |
유니티 :: Dictionary에 TextAsset을 이용하여 텍스트 파일 읽어오기 (0) | 2019.01.11 |