使RB运动更平滑/弯曲 C#统一

问题描述

我正在尝试使rb运动更加平滑/弯曲,现在,改变运动方向时,它只能以粗糙的边缘运动。

当前运动 img1

所需的运动 img2

下面的代码 https://repl.it/@RicardsQuagmier/AcclaimedTightCosmos#main.cs

解决方法

似乎您的动作完全基于输入。每当您按下一个键时,它就会一直保持按下状态。在那种情况下,玩家完全可以控制运动,这就是为什么它会如此僵硬。如果使运动平滑,输入可能会感觉很滑。如果仍要执行此操作,则需要逐渐更改速度,而不是立即更改。因此,在设置速度时,您需要执行以下操作:

var delta = 0.2f * Time.fixedDeltaTime;
velocityChange = Vector3.MoveTowards(rb.velocity,desiredVelocity - velocity,delta);

您可以将delta的0.2设置为任意值,并根据自己的喜好进行调整。越高,速度赶上输入的速度越快。就像我说的那样,这可能会使事情变得反应迟钝或打滑。