缓动函数
大约 3 分钟基础知识文档数学库缓动函数
缓动函数(EasingMethod)用于控制动画的运动速度变化,常用的缓动函数如下表所示:
名称 | 描述 | 说明 |
---|---|---|
LINEAR | 线性匀速 | 无缓动效果 |
QUAD_IN | 二次方缓动 | 先慢后快 |
QUAD_OUT | 二次方缓动 | 先快后慢 |
QUAD_IN_OUT | 二次方缓动 | 前半段先慢后快,后半段先快后慢 |
QUAD_OUT_IN | 二次方缓动 | 前半段先快后慢,后半到先慢后快 |
CUBIC_IN | 三次方缓动 | 先慢后快 |
CUBIC_OUT | 三次方缓动 | 先快后慢 |
CUBIC_IN_OUT | 三次方缓动 | 前半段先慢后快,后半段先快后慢 |
CUBIC_OUT_IN | 三次方缓动 | 前半段先快后慢,后半到先慢后快 |
QUART_IN | 四次方缓动 | 先慢后快 |
QUART_OUT | 四次方缓动 | 先快后慢 |
QUART_IN_OUT | 四次方缓动 | 前半段先慢后快,后半段先快后慢 |
QUART_OUT_IN | 四次方缓动 | 前半段先快后慢,后半到先慢后快 |
QUINT_IN | 五次方缓动 | 先慢后快 |
QUINT_OUT | 五次方缓动 | 先快后慢 |
QUINT_IN_OUT | 五次方缓动 | 前半段先慢后快,后半段先快后慢 |
QUINT_OUT_IN | 五次方缓动 | 前半段先快后慢,后半到先慢后快 |
SINE_IN | 正弦曲线缓动 | 先慢后快 |
SINE_OUT | 正弦曲线缓动 | 先快后慢 |
SINE_IN_OUT | 正弦曲线缓动 | 前半段先慢后快,后半段先快后慢 |
SINE_OUT_IN | 正弦曲线缓动 | 前半段先快后慢,后半到先慢后快 |
EXPO_IN | 指数曲线缓动 | 先慢后快 |
EXPO_OUT | 指数曲线缓动 | 先快后慢 |
EXPO_IN_OUT | 指数曲线缓动 | 前半段先慢后快,后半段先快后慢 |
EXPO_OUT_IN | 指数曲线缓动 | 前半段先快后慢,后半到先慢后快 |
CIRC_IN | 圆形曲线缓动 | 先慢后快 |
CIRC_OUT | 圆形曲线缓动 | 先快后慢 |
CIRC_IN_OUT | 圆形曲线缓动 | 前半段先慢后快,后半段先快后慢 |
CIRC_OUT_IN | 圆形曲线缓动 | 前半段先快后慢,后半到先慢后快 |
BACK_IN | 超过范围的三次方缓动 | 先慢后快 |
BACK_OUT | 超过范围的三次方缓动 | 先快后慢 |
BACK_IN_OUT | 超过范围的三次方缓动 | 前半段先慢后快,后半段先快后慢 |
BACK_OUT_IN | 超过范围的三次方缓动 | 前半段先快后慢,后半到先慢后快 |
ELASTIC_IN | 指数衰减的正弦曲线缓动 | 先慢后快 |
ELASTIC_OUT | 指数衰减的正弦曲线缓动 | 先快后慢 |
ELASTIC_IN_OUT | 指数衰减的正弦曲线缓动 | 前半段先慢后快,后半段先快后慢 |
ELASTIC_OUT_IN | 指数衰减的正弦曲线缓动 | 前半段先快后慢,后半到先慢后快 |
BOUNCE_IN | 指数衰减的反弹缓动 | 先慢后快 |
BOUNCE_OUT | 指数衰减的反弹缓动 | 先快后慢 |
BOUNCE_IN_OUT | 指数衰减的反弹缓动 | 前半段先慢后快,后半段先快后慢 |
BOUNCE_OUT_IN | 指数衰减的反弹缓动 | 前半段先快后慢,后半到先慢后快 |
缓动曲线图:

使用缓动函数
import { EasingMethod, getEasingFn } from '@fantasy3d/core';
// 获取二次方缓动函数
const method = getEasingFn( EasingMethod.QUAD_IN );
// 计算0.25时刻的缓动值
const value = method( 0.25 );