linear是Ae里非常常用的表达式。
linear(t, tMin, tMax, value1, value2)
返回类型:数值或数组。
参数类型:t、tMin 和 tMax 是数值,value1 和 value2 是数值或数组。
当 t <= tMin 时返回 value1。当 t >= tMax 时返回 value2。当 tMin < t < tMax 时,返回 value1 和 value2之间的线性插值。
对于所有插值方法,参数 t 通常是 time 或 value,但它也可以采用其他值。如果 t 是 time,则值之间的插值会在持续时间内发生。如果 t 是 value,则表达式会将一系列值映射到新系列值。
这个表达式也可以理解成为“映射”,即将tMin到tMax的值,映射成为value1到value2的值(或数组)。
linear(t, value1, value2)
返回类型:数值或数组。
参数类型:t 是数值,value1 和 value2 是数值或数组。
当 t 介于 0 到 1 时返回从 value1 到 value2 进行线性插值的值。当 t <= 0 时返回 value1。当 t >= 1 时返回 value2。
ease(t, value1, value2)
返回类型:数值或数组。
参数类型:t 是数值,value1 和 value2 是数值或数组。
与具有相同参数的 linear 类似,只不过插值渐进和渐出以使开始点和结束点的速度为 0。此方法会产生一个非常流畅的动画。
ease(t, tMin, tMax, value1, value2)
返回类型:数值或数组。
参数类型:t、tMin 和 tMax 是数值,value1 和 value2 是数值或数组。
与具有相同参数的 linear 类似,只不过插值渐进和渐出以使开始点和结束点的速度为 0。此方法会产生一个非常流畅的动画。
easeIn(t, value1, value2)
返回类型:数值或数组。
参数类型:t 是数值,value1 和 value2 是数值或数组。
类似于 ease,只不过切线仅在 value1 一侧为 0 且插值在 value2 一侧是线性的。
easeIn(t, tMin, tMax, value1, value2)
返回类型:数值或数组。
参数类型:t、tMin 和 tMax 是数值,value1 和 value2 是数值或数组。
类似于 ease,只不过切线仅在 tMin 一侧为 0 且插值在 tMax 一侧是线性的。
easeOut(t, value1, value2)
返回类型:数值或数组。
参数类型:t 是数值,value1 和 value2 是数值或数组。
类似于 ease,只不过切线仅在 value2 一侧为 0 且插值在 value1 一侧是线性的。
easeOut(t, tMin, tMax, value1, value2)
返回类型:数值或数组。
参数类型:t、tMin 和 tMax 是数值,value1 和 value2 是数值或数组。
类似于 ease,只不过切线仅在 tMax 一侧为 0 且插值在 tMin 一侧是线性的。
简单理解,ease是有缓入缓出效果,easeIn有缓入,easeOut有缓出。
上图的例子中,linear()所在小方块的表达式写作:
newX = easeIn(time, 0, 5, 567, 1380); newY = transform.position[1]; [newX, newY]
也就是time从0到5的过程中,newX的返回值是567到1380,也就是0~5秒时,小方块x轴的位置由567~1380线性变化。
扩展:
给合成的scale添加如下表达式:
linear(time, inPoint, outPoint, value, value + [20, 20])
这个表达式让合成从入点到出点放大20% 。
Good!