Прыжок вперед с помощью Lerp вызывает бесконечный цикл.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Прыжок вперед с помощью Lerp вызывает бесконечный цикл.

Сообщение Anonymous »

Я пишу простой контроллер, позволяющий моему игроку перемещаться, прыгая вперед/назад/в сторону.
Я знаю, что могу легко переместить его, добавив Vector3, но я пытаюсь чтобы он плавно перемещался между начальной и конечной точкой движения. Я пытаюсь использовать Lerp здесь, но я с ним не знаком, и мне кажется, что я создаю бесконечный цикл при тестировании, поскольку Unity зависает, когда я пытаюсь перейти в режим игры, но я не могу понять решить проблему. Помогите!
private Rigidbody playerRb;
private CapsuleCollider playerColl;

private Vector3 startPos;
private Vector3 endPos;

[SerializeField] private float jumpSpeed = 1f;

private float startTime;
private float jumpLength;

private void Start()
{
playerRb = GetComponent();
playerColl = GetComponent();
}

void Update()
{
if (Input.GetKeyDown(KeyCode.W))
{
startTime = Time.time;
startPos = playerRb.transform.position;
endPos = startPos + Vector3.forward;//move (0,0,1)
jumpLength = Vector3.Distance(startPos, endPos);

while(transform.position != endPos)
{
float distCovered = (Time.time - startTime) * jumpSpeed;
float fraction = distCovered / jumpLength;
playerRb.transform.position = Vector3.Lerp(startPos, endPos, fraction);
}

}
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... inite-loop
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Unity Script: как постепенно изменить цвет объекта с помощью color.lerp?
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Почему моя программа вызывает бесконечный цикл? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Raylib cpp IsMouseButtonPressed вызывает бесконечный цикл
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как удаление дескриптора ожидания не вызывает бесконечный цикл?
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как получить элемент, соответствующий условию, для перемещения вперед, назад, вперед на 1 или назад на 1
    Anonymous » » в форуме C++
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»