日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

unity3d Vector3.Lerp解析

發(fā)布時(shí)間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 unity3d Vector3.Lerp解析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Vector3.Lerp:http://www.ceeger.com/Script/Vector3/Vector3.Lerp.html

手冊(cè)中描述的不是很詳細(xì),什么叫“按照數(shù)字t在from到to之間插值”???t代表什么鬼?還得自己測(cè)試一下才知道

?

我以前這樣用過(guò):

from.position = Vector3.Lerp(from.position, to.position, Time.deltaTime);

或者想要快一些我就這樣:

from.position = Vector3.Lerp(from.position, to.position, Time.deltaTime * 2f);

不知道大家有沒(méi)有像我這樣用過(guò)!第三個(gè)參數(shù)取值范圍0~1,其實(shí)就是距離百分比,比如填0.5f,那么就是取A點(diǎn)到B點(diǎn)的中間位置

如果像我上面那種方法去使用,就會(huì)導(dǎo)致物體在移動(dòng)的時(shí)候會(huì)越來(lái)越慢

假設(shè)A點(diǎn)到B點(diǎn)距離是10,第三個(gè)參數(shù)t我填0.5f,那么插值一次后距離就減少了一半,在執(zhí)行一次,又減少了一半距離

當(dāng)然,如果需求就是這樣的話直接用就行了,但是如果需求是勻速平滑到某點(diǎn),這咋辦呢?

既然都知道第三個(gè)參數(shù)其實(shí)就是距離百分比了,那我們自己算一下距離百分比不就行了嗎?

1 public Transform from; 2 public Transform to; 3 public float mMoveTime; 4 private Vector3 mStartPos; 5 private float t; 6 7 private bool mIsPlay = false; 8 9 void Update() 10 { 11 if (!mIsPlay) 12 return; 13 14 t += 1f / mMoveTime * Time.deltaTime; 15 from.position = Vector3.Lerp(mStartPos, to.position, t); 16 } 17 18 void OnGUI() 19 { 20 if(GUI.Button(new Rect(100,100,100,30),"play")) 21 { 22 mStartPos = from.position; 23 mIsPlay = true; 24 } 25 }

?

看了上面的介紹,相信對(duì)Vector3.Lerp有些了解了!

如果我想要他移動(dòng)到指定位置后繼續(xù)保持勻速運(yùn)動(dòng)怎么做呢?也許你會(huì)說(shuō)用Vector3.Lerp完全可以啊!

可是你別忘了,它的取值范圍是0~1,也就是說(shuō)>1的值它會(huì)忽略掉,我測(cè)試了一下的確如此

那看來(lái)只能自己實(shí)現(xiàn)了!這其實(shí)很簡(jiǎn)單,下面我們就來(lái)自己實(shí)現(xiàn)一遍

1 void Update() 2 { 3 if (!mIsPlay) 4 return; 5 6 t += 1f / mMoveTime * Time.deltaTime; 7 //from.position = Vector3.Lerp(mStartPos, to.position, t); 8 from.position = mStartPos + (to.position - mStartPos) * t; 9 }

?

?原文鏈接:http://www.cnblogs.com/shenggege/p/5658650.html

轉(zhuǎn)載于:https://www.cnblogs.com/shenggege/p/5658650.html

總結(jié)

以上是生活随笔為你收集整理的unity3d Vector3.Lerp解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。