当前位置:   article > 正文

Unity中指数函数实现越来越快或者越来越慢的变化控制_unity 控制速度由慢到快

unity 控制速度由慢到快

       有时需要这样的效果:UI的数字从一个值变化到另一个值,是一个不断增大的过程,而且是一种由慢变快的过程。就实现这种效果来说,可以DoTween这类组件实现,也可以用unity的曲线AnimationCurve实现。这里说的是另外一种方式,就是自己实现指数增长变快的过程。

       指数曲线和函数,中学就学过。它一条很陡峭的曲线,大白话就是越来愈大,而且变的越来越快。

  我们可以先把变化区间从指数公式计算出来,当时y的开始和结束,x轴看成时间。然后用累计时间在y的开始和结束之间做插值,这里给出两段代码,分别用到初始化和Update中

  1. //变化范围
  2. int change = target - orgNum;
  3. //指数, 指数范围即是时间范围
  4. beginExp = 0; //e^beginExp =1
  5. endExp = Mathf.Log(change); // e^endExp = change
  1. currExp = Mathf.Lerp(beginExp, endExp, currveVale);
  2. currNum = orgNum + (int)Mathf.Exp(
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/496931
推荐阅读
相关标签
  

闽ICP备14008679号