平滑阻尼或缓动算法。

我想了解一个平滑阻尼算法,有些人称之为“缓动”。最好是用Lua实现,但任何帮助都可以。

我尝试观看Unity教程,但没有算法可替换平滑阻尼函数的代码。

点赞
用户3828960
用户3828960

如果我理解你的问题正确的话,你正在寻找一种缓动函数。有一个提供了一组缓动功能的 Lua 库在 GitHub 上:https://github.com/EmmanuelOga/easing

一个例子是:

local function inOutQuad(t, b, c, d)
  t = t / d * 2
  if t < 1 then
    return c / 2 * pow(t, 2) + b
  else
    return -c / 2 * ((t - 1) * (t - 3) - 1) + b
  end
end

其中 t=时间,b=起始值,c=值的变化,d=持续时间。

关于这些缓动函数的更多信息可以直接从 Robert Penner 这里获得(上面的函数是从这里派生出来的):http://www.robertpenner.com/easing/

2015-01-10 23:22:14