Откуда появляется люфт камеры при наблюдении за клонами объекта?

В сцене имеется главный юнит, который может захватить спаун, создающий его клоны.

При клике на созданный юнит "контрольный ID" меняется на ID этого юнита, а камера плавно перемещается к нему:
public void Update()
    {
        if (Player[ID] != null && (battleTap == true || supportTap == true))
        {
            CameraTracking();
        }
    }

public void CameraTracking()
    {
        cam.Camera.transform.position = Vector3.SmoothDamp(cam.Camera.transform.position,
                    Player[ID].GetComponentInChildren<Camera>().transform.position,
                    ref cam.m_MoveVelocity, cam.m_DampTime);
    }

На всех юнитах установлен скрипт легкого смещения камеры:
private void Start()
    {
        _offset = transform.position - PlayerCamera.transform.position;
    }

private void Update()
    {
        transform.position = PlayerCamera.transform.position + _offset;
    }

В начале все работает отлично. Однако, если в инспекторе выключить, а затем включить главный юнит, появится едва заметный люфт камеры.

Более того, он появляется при наблюдении за созданными на спауне клонами юнита - это едва заметно, однако имеет место быть.

Люфт пропадает при переходе на главный юнит. При сохранении изменений в Visual Studio люфт пропадает у всех юнитов. Что это может быть?
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
pr9niks
@pr9niks Автор вопроса
Нашел ответ самостоятельно, все дело в Update:

"Часто LateUpdate используют для преследующей камеры от третьего лица. Если вы перемещаете и поворачиваете персонажа в Update, вы можете выполнить все вычисления перемещения и вращения камеры в LateUpdate. Это обеспечит то, что персонаж будет двигаться до того, как камера отследит его позицию."

Решение:
public void LateUpdate()
    {
        if (Player[ID] != null && (battleTap == true || supportTap == true))
        {
            CameraTracking();
        }
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы