Unity3d 的 Mathf.Lerp 插值是啥意思 ? 是取两个数之间中间数吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3d 的 Mathf.Lerp 插值是啥意思 ? 是取两个数之间中间数吗?相关的知识,希望对你有一定的参考价值。
参考技术A插值是根据Lerp(a,b,t)中的第三个参数t来返回a和b之间的值
如果t是变化的,比如Time.time,则在一秒之内从a变化到b。
插值,从字面意思上看,就是在其间插入一个数值。从最简单的浮点数插值函数来分析:
Mathf.Lerp 插值
static functionLerp (from : float, to : float, t : float) : float
基于浮点数t返回a到b之间的插值,t限制在0~1之间。当t = 0返回from,当t = 1 返回to。
当t = 0.5 返回from和to的平均值。
小松教你手游开发unity实用技能线性差值计算实现
其实这个unity本身就有的函数Mathf.Lerp(),为什么还要自己实现呢。有一个原因就是这个函数返回的是float型,float型如果数字非常大,转出int时会有精度丢失,也就是转出来的值不对。
而且非常简单。
看下公式
public int Lerp(int a,int b,int v)
{
return (int)(a - (0 - v) / (0 - 1) * (a - b));
}
以上是关于Unity3d 的 Mathf.Lerp 插值是啥意思 ? 是取两个数之间中间数吗?的主要内容,如果未能解决你的问题,请参考以下文章