国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

unity3d問題集 <2> 對Vector3.Lerp 插值的理解

2019-11-09 14:17:07
字體:
來源:轉載
供稿:網友

有時,我們在做游戲時會發現有些跟隨動作不夠圓滑或者需要一個緩沖的效果,這時,一般會考慮到插值。所以對插值的理解是必需的。(比如攝像機跟隨主角)

插值是數學上的一個概念,在這里用公式表示就是:from + (to - from) * t;這也就是Lerp的返回值(用這個公式分別算出x,y,z)。

static function Lerp (from : Vector3, to : Vector3, t : float) : Vector3 

from 是起始的位置,to是目標位置,按照數字t在from到to之間插值。這句話比較難理解,下面舉個例子。

       

這和我們用公式算出來的如出一轍。現在我們再看一個具體的例子

//在1秒時間動畫位置移動從from開始到to結束。(這是官方的例子)

位置移動從start開始到end結束,這好理解,但是為什么是1秒呢?

Time.time是從0開始隨時間增加的。

例1的t是一個固定的值,返回一個固定的向量。此時t是變量,在不斷增加。那么:

當Time.time = 0時--->transform.position = start.position,位置沒有變化;

當Time.time從0趨向于1時--->transform.position 不斷接近start.position,該腳本是掛在start物體上的,所以start會不斷靠近end。

那么問題來了,當Time.time>1的時候,會怎么樣呢?額(⊙o⊙)…我們說不會。

由上面的公式from + (to - from) * t可知,當t=1時,to - from = 0,此時t就無效了。

例1是從靜態角度看,例2是從動態角度看的(兩個變量,一個是時間在變化,一個是位置在變化)。

想一想例2,如果不是Time.time,而是0.5,會怎么樣?(只看一個變量)

由圖易知:A物體會不斷以0.5的比例無限接近于B。

如果上面都理解了,那么看官方的第二個例子就沒什么問題了,試一試吧!

//像彈簧一樣跟隨目標物體

 蠻牛首發,轉載請注明出處【Sugar丿miss丶QAQ】http://www.unitymanual.com/blog-42778.html

 

vector 插值
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 静安区| 瑞丽市| 吴江市| 新疆| 尖扎县| 中西区| 水城县| 清徐县| 长丰县| 环江| 广宗县| 隆安县| 永宁县| 惠安县| 政和县| 逊克县| 九台市| 海原县| 电白县| 富裕县| 囊谦县| 锡林郭勒盟| 梁山县| 平乡县| 南平市| 安义县| 正安县| 南郑县| 芦溪县| 全南县| 沙河市| 裕民县| 永吉县| 凤庆县| 万年县| 六盘水市| 利辛县| 梁河县| 班戈县| 扎囊县| 马山县|