国产探花免费观看_亚洲丰满少妇自慰呻吟_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 插值
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 原阳县| 固原市| 广元市| 西青区| 门源| 德清县| 茂名市| 图木舒克市| 都匀市| 板桥市| 长治市| 林西县| 杨浦区| 昌都县| 喀喇| 盐城市| 乌拉特后旗| 利津县| 扬州市| 海南省| 万盛区| 岗巴县| 福州市| 雷波县| 齐齐哈尔市| 静海县| 时尚| 无锡市| 大庆市| 卢氏县| 阜新市| 广灵县| 航空| 沙田区| 舞阳县| 纳雍县| 丰宁| 扶风县| 民乐县| 易门县| 绵阳市|