[英]How to cap velocity in Unity 3D using AddForce with ForceMode.VelocityChange
[英]Is it possible to cap the addForce given without capping the max velocity?
制作一个抓钩 swing 游戏设置在太空中(0 重力),我希望玩家在没有重力的情况下漂浮时有一些有限的运动(想想像弱助推器)。 我尝试设置移动的速度,但是 swing 的动量丢失了,所以我决定使用增加力,但问题是力没有上限,所以“助推器”最终变得非常快/强大的。 如果我按照此处所有答案所说的那样限制速度,那么它将限制来自抓斗 swing(核心组件)的动量,所以我需要一种方法来限制实际增加的力,但找不到这样做的方法和 Mathf .clamp 似乎不适用于 addForce。
浮动运动代码如下:
else if (!groundCheck)
{
curSpeed = floatSpeed;
rBody.AddForce(new Vector2(Mathf.Lerp(0, Input.GetAxis("Horizontal") * curSpeed,
0.8f), Mathf.Lerp(0, Input.GetAxis("Vertical") * curSpeed, 0.8f)));
}
(我还不能添加评论,我没有足够的积分)
你有没有尝试在相反的方向增加力量(比如空气休息)?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.