【发布时间】:2020-10-04 19:04:37
【问题描述】:
我正在尝试使我的 rb 运动更平滑/弯曲,现在它只在改变移动方向时以粗糙的边缘移动。
当前运动 img1
所需的运动 img2
代码如下 https://repl.it/@RicardsQuagmier/AcclaimedTightCosmos#main.cs
【问题讨论】:
标签: c# unity3d rigid-bodies
我正在尝试使我的 rb 运动更平滑/弯曲,现在它只在改变移动方向时以粗糙的边缘移动。
当前运动 img1
所需的运动 img2
代码如下 https://repl.it/@RicardsQuagmier/AcclaimedTightCosmos#main.cs
【问题讨论】:
标签: c# unity3d rigid-bodies
您的动作似乎完全基于输入。每当您按下某个键时,只要您按下它,它就会移动。在这种情况下,玩家完全可以控制运动,这就是它如此僵硬的原因。如果您平滑移动,输入可能会感觉很滑。如果你无论如何都想这样做,你会想要逐渐改变速度而不是立即改变速度。因此,在设置速度时,您需要执行以下操作:
var delta = 0.2f * Time.fixedDeltaTime;
velocityChange = Vector3.MoveTowards(rb.velocity, desiredVelocity - velocity, delta);
您可以将 0.2 in delta 设置为您想要的任何值,根据自己的喜好进行调整。它越高,速度越快赶上输入。就像我说的那样,这可能会让事情变得迟钝或滑溜溜。
【讨论】: