2016-11-13 5 views
1

Я устанавливаю постоянную скорость для движения своего персонажа в своей 2D-игре. Однако с использованием метода мой персонаж немного дрожит. Есть ли способ исправить это и сгладить движение?Unity - Как сгладить постоянную скорость на Rigidbody2D

Здесь я устанавливаю скорость в функции Update:

constantVelocity = new Vector3 (playerInputX * speed, playerInputY * speed, 0); 

Я тогда применить эту скорость к компоненту Rigidbody2D в функции FixedUpdate.

+0

ли сотрясения из-за вас, изменяя скорость слишком резко? – pingul

+0

Я не думаю, что он находится в постоянном темпе. –

ответ

1

Оказалось, что моя проблема не имеет ничего общего с объектом, который я двигал, но с камерой, которая следовала за ним. Камера пыталась Lerp к объекту в Update. Я изменил это на FixedUpdate, и теперь он отлично работает.

Спасибо за помощь в любом случае,

Tommy

1

Существует два способа сделать это.

  1. Вы всегда можете использовать Time.fixedDeltaTime, чтобы сгладить движение вашего игрока.
  2. Вы можете попробовать фильтр нижних частот на нашей постоянной частоте.
+0

Спасибо за ответ. Я попытался использовать Time.fixedDeltaTime, но это не устранило проблему. Как использовать фильтр нижних частот? –

+0

Ах, неважно, я сейчас это проработал. Я опубликую, как я это сделал. –

+0

Уверен, что я хотел бы знать –

Смежные вопросы