현재 virtual camera가 player위치를 follow중이라 player 이동할 때 자연스레 따라다닌다.
여기서 player을 멀리 순간이동 시키면 camera가 순간이동 후 damping현상이 생기며 이리저리 튀면서 플레이어를 follow한다.
OnTargetObjectWarped(Transform, vector3)
위 함수를 사용하면 된다.
public void TeleportTo(Vector3 teleportTo, Transform player)
{
var delta = teleportTo- player.position;
virtualCamera.OnTargetObjectWarped(player, delta);
virtualCamera.PreviousStateIsValid = false;
}
이런 식으로 teleport할 vector3좌표와 현재 플레이어 좌표를 빼서
vector3자료형인 delta변수에 저장한다.
그리고 OnTargetObjectWarped함수에 follow하는 게임오브젝트의 transform과
delta변수를 인자로 넣어주면 된다!
그런데도 약간의 damping이 생겨서 검색해봤더니
virtualCamera.PreviousStateIsValid = false;
위 함수를 사용하니 사라졌다!