sOwlO Ответов: 1

Движение камеры в unity/C#


Здравствуйте, я работаю над своей первой 2D-игрой в Unity. И у меня есть некоторые проблемы с камерой, которая кажется отстающей. Это похоже на микро-лаги, когда камера иногда следует за игроками. Должно ли это быть, потому что я использовал его в методе обновления?

Мой код выглядит примерно так:

void Update()
    {
        playerPosition = new Vector3(player.transform.position.x, player.transform.position.y, transform.position.z);
        if (player.transform.localScale.x > 0f)
        {
            playerPosition = new Vector3(playerPosition.x + offset, playerPosition.y, playerPosition.z);
        }
        else
        {
            playerPosition = new Vector3(playerPosition.x - offset, playerPosition.y, playerPosition.z);
        }
        transform.position = Vector3.Lerp(transform.position, playerPosition, offsetSmoothing * Time.deltaTime);
    }


Что я уже пробовал:

Таковы мои мысли. Этот метод обновления будет выполнять некоторые действия каждый следующий кадр. Так что если это 110 кадров в секунду, камера перемещается 110 раз. Должен ли я сделать это на более низком fps или поместить код где-то еще, просто не в методе обновления? Спасибо.

1 Ответов

Рейтинг:
2

Gerry Schmitz

Используйте секундомер, чтобы сузить круг поиска.

Секундомер Класса (Система.Диагностика) | Microsoft Docs[^]