#c# #unity3d #rigid-bodies
#c# #unity3d #твердые тела
Вопрос:
Я пытаюсь сделать мое движение rb более плавным / пышным, rite теперь он движется только с грубыми краями при изменении направления движения.
Текущее движение img1
Желаемое движение img2
Код приведен ниже https://repl.it/@RicardsQuagmier/AcclaimedTightCosmos#main.cs
Ответ №1:
Похоже, что ваше движение полностью основано на вводе. Всякий раз, когда вы нажимаете клавишу, она перемещается до тех пор, пока вы ее нажимаете. В этом случае игрок полностью контролирует движение, поэтому оно будет таким жестким. Если вы сгладите движение, ввод может показаться очень скользким. Если вы все равно хотите это сделать, вам нужно постепенно изменять скорость, а не мгновенно. Итак, при настройке скорости вы хотели бы сделать что-то вроде:
var delta = 0.2f * Time.fixedDeltaTime;
velocityChange = Vector3.MoveTowards(rb.velocity, desiredVelocity - velocity, delta);
Вы можете установить 0.2 в дельте на любое значение, настроить его по своему вкусу. Чем оно выше, тем быстрее скорость будет догонять ввод. Как я уже сказал, это может заставить вещи чувствовать себя невосприимчивыми или скользкими.