分别设置进出缓动
Setting in and out easing separately
Unity使用LeanTween移动GameObject时,是否可以分别设置缓动的进出部分?
我想做的是:
- 起步慢。
- 从慢到快逐渐增加速度。
- 到最后戛然而止。
也许你应该在 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 已经建议的那样,创建您自己的动画曲线将使您能够完全自定义缓动行为。
Unity使用LeanTween移动GameObject时,是否可以分别设置缓动的进出部分?
我想做的是:
- 起步慢。
- 从慢到快逐渐增加速度。
- 到最后戛然而止。
也许你应该在 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 已经建议的那样,创建您自己的动画曲线将使您能够完全自定义缓动行为。