Стоит ли отключать интерполяцию твердого тела, при использовании Cinemashine?

Добрый вечер. Подскажите, пожалуйста по Cinemashine (компонент-камера) и интерполяцию твердого тела игрока.

На моей сцене есть 2 объекта - игрок и враг.
У игрока есть твердое тело и он перемещается через playerRigidbody2D.velocity в FixedUpdate.
У врага нет твердого тела и он перемещается через gameObject.transform.position FixedUpdate.

Если у камеры Cinemashine, Update Method установлен в Smart Update или Late Update, и у твердого тела игрока включена интерполяция, то:
- игрок перемещается без бага (без размытия, всё четко)
- враг перемещается с багом (с размытием в движении)

Если у камеры Cinemashine, Update Method установлен в FixedUpdate и у твердого тела игрока включена интерполяция, то:
- игрок перемещается c багом (с размытием в движении)
- враг без бага

Если у камеры Cinemashine, Update Method установлен в FixedUpdate и у твердого тела игрока отключена интерполяция, то:
- игрок и враг перемещается без бага (без размытия в движении).

Зачем нужна интерполяция твердого тела и правильно ли я сделал, что её отключил (может где-то в дальнейшем будут проблемы)? Других вариантов, чтобы не было бага я не нашел.
  • Вопрос задан
  • 33 просмотра
Решения вопроса 1
@DrRen7
FixedUpdate вызывается раз в 0.02 с (по умолчанию) интерполяция нужна для расчета что будет делать объект между обновлениями её выключение может привести к прохождению через пол/стены при высокой скоростью.
Варианты: если у врага нет rb зачем перемещать его в FixedUpdate? лучше тогда использовать Update, стоит ещё проверить Time.deltaTime или Time.fixedDeltaTime, про сейчас.
Обычно камера идет в Late Update, условно что кадр должен отрисоваться после всех движений и выполнения всей логики и физика тут все портит, поэтому тут и нужна интерполяция
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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