【发布时间】:2018-10-13 18:40:52
【问题描述】:
我正在尝试创建一个平滑函数来将一个数字内插为零。问题是,它不起作用。在这种情况下,如果我将一个数字增加 0.01 指定次数,我想将该数字减少 0.02 直到它为零。这是我的功能。
float ReduceSpeed(float x)
{
if (x != 0f)
{
if (x % 0.02f != 0 && x > 0)
{
x = x - 0.01f;
} else if (x % 0.02f != 0 && x < 0)
{
x = x + 0.01f;
}
else
{
if (x > 0f)
{
x = x - 0.02f;
}
else
{
x = x + 0.02f;
}
}
}
return x;
}
我想用它来创造一种统一的滑动动作。
【问题讨论】:
-
不要对浮点数使用模 (%) 运算符,除非你真的需要它并且知道它的局限性。几乎从不需要它。
-
您有什么理由避免使用 Lerp 或 SmoothDamp?