unity中Lerp的使用
2016-11-25 21:35
633 查看
unity中很多类都有Lerp的属性,比如Vector3.Lerp Quaternion.Lerp Color.Lerp 还有Slerp
用法都一样,这个属性叫做插值。
两个向量之间的线性插值。
Vector3.Lerp 插值
static function Lerp (from : Vector3, to : Vector3, t : float) : Vector3
按照数字t在from到to之间插值。
t是夹在 [0...1]之间,当t = 0时,返回from,当t = 1时,返回to。当t = 0.5 返回from和to的平均数。
注意第三个参数t,不要理解为t时间内从from到to,平时比如移动位移的时候或做旋转的时候,可以把t作为时间单位,但是一定要注意这个t的值是从0到1范围。
举例:
public class TestLerp : MonoBehaviour
{
private Vector3 m_vFrom = new Vector3(0, 0, 0);
private Vector3 m_vTo = new Vector3(100, 0, 0);
private float m_fTime = 0;
public void UpdateMove()
{
m_fTime += Time.deltaTime;
transform.localPosition = Vector3.Lerp(m_vFrom, m_vTo, m_fTime);
}
}
上面这段代码是1秒内坐标x从0移动到100,注意这个是当m_fTime达到1的时候才会达到目标。并不是说经过m_fTime秒后才会达到目标,不要理解错了。
用法都一样,这个属性叫做插值。
两个向量之间的线性插值。
Vector3.Lerp 插值
static function Lerp (from : Vector3, to : Vector3, t : float) : Vector3
按照数字t在from到to之间插值。
t是夹在 [0...1]之间,当t = 0时,返回from,当t = 1时,返回to。当t = 0.5 返回from和to的平均数。
注意第三个参数t,不要理解为t时间内从from到to,平时比如移动位移的时候或做旋转的时候,可以把t作为时间单位,但是一定要注意这个t的值是从0到1范围。
举例:
public class TestLerp : MonoBehaviour
{
private Vector3 m_vFrom = new Vector3(0, 0, 0);
private Vector3 m_vTo = new Vector3(100, 0, 0);
private float m_fTime = 0;
public void UpdateMove()
{
m_fTime += Time.deltaTime;
transform.localPosition = Vector3.Lerp(m_vFrom, m_vTo, m_fTime);
}
}
上面这段代码是1秒内坐标x从0移动到100,注意这个是当m_fTime达到1的时候才会达到目标。并不是说经过m_fTime秒后才会达到目标,不要理解错了。
相关文章推荐
- Unity中Lerp与SmoothDamp函数使用误区浅析
- Unity中Lerp与SmoothDamp函数使用误区浅析
- 如何正确的使用Lerp In Unity
- 如何正确的使用Lerp In Unity
- 使用 Unity (三):理解和使用依赖注入的键
- 在ASP.NET 中使用 Unity Application Block – 示例(提供代码下载)
- [导入]自定义IHttpHandlerFactory使用Unity对ASP.NET Webform页面进行依赖注入
- Unity Application Block-配置文件的使用-示例(附源码下载)
- Unity(七):使用场景Ⅲ:用于依赖注入(下)
- 使用 Unity(一):Unity 应用程序块容器介绍
- Unity入门之一(StopLight关于Unity在应用程序中的使用)
- 使用 Unity(一):Unity 应用程序块容器介绍
- 使用Unity Application block实现Ioc[原创]
- Unity 1.2使用初探(1)
- RegisterType和RegisterInstance的不同使用情况--Unity Application Block(1)
- ASP.NET Web Application 中使用 Unity 依赖注入容器
- Unity Application Block-配置文件的使用-示例(附源码下载)
- Unity(六):使用场景Ⅲ:用于依赖注入(上)
- 自定义IHttpHandlerFactory使用Unity对ASP.NET Webform页面进行依赖注入 (转)
- Unity的外部配置文件使用方法