[Unity] 유니티 버츄얼 카메라 Follow 강제 이동

Lumos Velog·2025년 8월 7일
0

문제점

버츄얼 카메라는 이전에 흔히 써오던 Lerp 를 통한 이동이라던지, 여러 복잡한 코드없이 훌륭한 연출을 도와주는 유니티의 기능이다.
기본적으로 우선순위를 이용해 보여지는 카메라를 지정하는데 이런 전환 과정이 자동적으로 부드럽게 보간 할 수 있는 특징이 있다.

문제는 강제로 카메라를 순간이동 할 때 제대로 적용시키기가 꽤나 어려웠다.

Follow 에 타겟을 지정만 해도 카메라는 플레이어를 따라다니게 되는데,
카메라를 순간이동 시키기 위해 Follow 를 비우던, 댐핑을 코루틴을 통해 잠시 꺼보던지
어떻게 해도 잘 적용이 되지 않았다.

GPT나 Gemini 등 ai 를 통해 물어보아도 쉽게 해결되지 않았는데
실제로 해결방법은 생각보다 정말 간단했다.





해결 방법

CinemachineVirtualCamera vCam = UnityEngine.Object.FindAnyObjectByType<CinemachineVirtualCamera>();
vCam.OnTargetObjectWarped(playerMovement.transform, delta);

사실상 코드 한줄이면 해결 할 수 있는 일이었다.
delta 에는 비교대상인 위치의 방향을 알려주면 되는데
이는 대상(Target)이 공간이동했음을 가상 카메라(vcam)에 알리고, vcam이 내부 상태를 업데이트해서 카메라가 끊김없이 이동하도록 한다.

반드시 필요한 기능이고 자주 사용될 것이 뻔한 기능임에도 정보를 찾아보기가 어려워
직접 정리해본다.

0개의 댓글