我想将计数从0渲染到一些非常大的数字,让我们说3秒内1,000,000,这有点短暂的时间计算到一百万。
问题是,它需要一个非常具体的缓和,因此计数效果将达到其最佳状态,并且开始缓慢,计算前10%( 持续时间 )慢,然后加速到持续时间的~60%,然后在剩余的时间内逐渐减速40%。
在0
和1
之间输入始终
如何创建这样的宽松公式?
应该采用这种方式,t
介于0
到1
之间(基本示例):
function(t){ return t*t; }
我有一个在每个"框架上运行代码的功能"动画进程,它通过帧速率限制器,t
值是给定持续时间内的当前进度。
答案 0 :(得分:0)
e.g。类似的东西(来自某些代数的常数估计+一些作弊实验,所以数字并不完全是你指定的):
function ease_gompertz(t) {
return 1000000 * Math.exp(-30 * Math.exp(-13 * t));
}
为此,我假设t从0变为1.查看维基百科页面以了解常量的含义。
以下是该函数的一些示例值(星星选出您指定的值):
0.0 0 *
0.1 281 *
0.2 107721
0.3 544843
0.4 847472
0.5 955899
0.6 987783 *
0.7 996656
0.8 999087
0.9 999751
1.0 999932 *
或,除以1E6:
0.0 0.00000 *
0.1 0.00028 *
0.2 0.10772
0.3 0.54484
0.4 0.84747
0.5 0.95590
0.6 0.98778 *
0.7 0.99666
0.8 0.99909
0.9 0.99975
1.0 0.99993 *
P.S。如果我混淆了JS,我会感到困惑:我承认我是在Python提示下测试过的,而不是JS。