unity3d中的线性插值lerp()函数解析

unity3d中的线性插值lerp()函数解析

ID:7288089

大小:1.02 MB

页数:12页

时间:2018-02-10

unity3d中的线性插值lerp()函数解析_第1页
unity3d中的线性插值lerp()函数解析_第2页
unity3d中的线性插值lerp()函数解析_第3页
unity3d中的线性插值lerp()函数解析_第4页
unity3d中的线性插值lerp()函数解析_第5页
资源描述:

《unity3d中的线性插值lerp()函数解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Unity3D中的线性插值Lerp()函数解析在unity3D中经常用线性插值函数Lerp()来在两者之间插值,两者之间可以是两个材质之间、两个向量之间、两个浮点数之间、两个颜色之间,其函数原型如下:Material.Lerp插值functionLerp(start:Material,end:Material,t:float):void在两个材质之间插值Vector2.Lerp插值staticfunctionLerp(from:Vector2,to:Vector2,t:float):Vector2两个向量之间的线性插值。按照数字t在form到to之间插值。t是夹在0到1之间。当t

2、=0时,返回from。当t=1时,返回to。当t=0.5时放回from和to之间的平均数。Vector3.Lerp插值staticfunctionLerp(from:Vector3,to:Vector3,t:float):Vector3两个向量之间的线性插值。按照数字t在from到to之间插值。Vector4.Lerp插值staticfunctionLerp(from:Vector4,to:Vector4,t:float):Vector4两个向量之间的线形插值。按照数字t在from到to之间插值。t是夹在[0...1]之间的值。,当t=0时,返回from。当t=1时,返回to。当

3、t=0.5返回from和to的平均数。Mathf.Lerp插值staticfunctionLerp(from:float,to:float,t:float):float基于浮点数t返回a到b之间的插值,t限制在0~1之间。当t=0返回from,当t=1返回to。当t=0.5返回from和to的平均值。Color.Lerp插值staticfunctionLerp(a:Color,b:Color,t:float):Color通过t在颜色a和b之间插值。"t"是夹在0到1之间的值。当t是0时返回颜色a。当t是1时返回颜色b。插值,从字面意思上看,就是在其间插入一个数值,这种理解是否正确

4、呢?我们先从最简单的浮点数插值函数来分析:Mathf.Lerp插值staticfunctionLerp(from:float,to:float,t:float):float基于浮点数t返回a到b之间的插值,t限制在0~1之间。当t=0返回from,当t=1返回to。当t=0.5返回from和to的平均值。首先,我们来做一个试验,启动Unity3D,任建一个脚本文件,在其Start()中输入内容如下:voidStart(){print(Mathf.Lerp(0.0f,100.0f,0.0f).ToString());print(Mathf.Lerp(0.0f,100.0f,0.1f

5、).ToString());print(Mathf.Lerp(0.0f,100.0f,0.2f).ToString());print(Mathf.Lerp(0.0f,100.0f,0.3f).ToString());print(Mathf.Lerp(0.0f,100.0f,0.4f).ToString());print(Mathf.Lerp(0.0f,100.0f,0.5f).ToString());print(Mathf.Lerp(0.0f,100.0f,0.6f).ToString());print(Mathf.Lerp(0.0f,100.0f,0.7f).ToString(

6、));print(Mathf.Lerp(0.0f,100.0f,0.8f).ToString());print(Mathf.Lerp(0.0f,100.0f,0.9f).ToString());print(Mathf.Lerp(0.0f,100.0f,1.0f).ToString());}运行Unity,在控制台将打印出:这个实验是在0到100之间插值,插入什么值,取决于第3个参数,从打印结果可看出,第3个参数是个比例因数,是0.1时表示0到100这个长度的十分之一,同理,0.2表示十分之二,依此类推。从这点上看来,我们起初从字面上所理解的插值就是插入一个数值是可以这样理解的。如

7、果我们把上面那个脚本里的插值函数里的第一个参数变为100.0f,第二个参数变为110.0f,第三个参数保持不变,大家想想其运行结果该是什么呢?可不要认为是0、1、2、3、4、5、6、7、8、9、10了哟,实际结果是100、101、102、103、104、105、106….,因插值是把值插在原来的两数之间,这说明这个函数首先是根据第三个参数所给定的比例算出净增量,再加上起始数,最终算出插值值的。在Unity3D游戏开发中,应用最多的是Vector3.Lerp向量插值,下面我们以此插

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。