跳至主要內容

缓动函数

yisky大约 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 );
上次编辑于: