分别设置进出缓动

Setting in and out easing separately

Unity使用LeanTween移动GameObject时,是否可以分别设置缓动的进出部分?

我想做的是:

  1. 起步慢。
  2. 从慢到快逐渐增加速度。
  3. 到最后戛然而止。

也许你应该在 LeanTween 上制作自己的动画曲线。

只需创建一个 AnimationCurve 即可在编辑器中进行编辑:

public AnimationCurve animCurve;
 
void Start(){
    LeanTween.scale(gameObject, Vector3.zero, 1f).setEase(animCurve);
}

你描述的听起来像正弦缓动,像这样:

LeanTween.move(this.gameObject, new Vector2(0f, 5f), 2f).setEaseInSine();

这会按照您描述的方式移动游戏对象:缓慢启动、加速并突然停止。

当键入“.setEase”时,您的 IDE 应该建议您完成代码的方法(参见屏幕截图)。在那里你会发现许多不同的缓动曲线预设。就像只缓入,只缓出,或两者结合。 如果您不确定要使用什么缓动,可以在此处查看一些最常用的缓动曲线的集合:https://easings.net/en

就像 @Lotan 已经建议的那样,创建您自己的动画曲线将使您能够完全自定义缓动行为。