當(dāng)前位置:首頁(yè) > IT技術(shù) > 編程語(yǔ)言 > 正文

【100個(gè) Unity踩坑小知識(shí)點(diǎn)】| Unity控制物體持續(xù)指向某個(gè)方向
2022-05-11 11:05:47


【100個(gè) Unity踩坑小知識(shí)點(diǎn)】| Unity控制物體持續(xù)指向某個(gè)方向_unity

Unity 小科普

老規(guī)矩,先介紹一下 Unity 的科普小知識(shí):

  • Unity是 實(shí)時(shí)3D互動(dòng)內(nèi)容創(chuàng)作和運(yùn)營(yíng)平臺(tái) 。
  • 包括游戲開發(fā)、美術(shù)、建筑、汽車設(shè)計(jì)、影視在內(nèi)的所有創(chuàng)作者,借助Unity將創(chuàng)意變成現(xiàn)實(shí)。
  • Unity平臺(tái)提供一整套完善的軟件解決方案,可用于創(chuàng)作、運(yùn)營(yíng)和變現(xiàn)任何實(shí)時(shí)互動(dòng)的2D和3D內(nèi)容,支持平臺(tái)包括手機(jī)、平板電腦、PC、游戲主機(jī)、增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)設(shè)備。
  • 也可以簡(jiǎn)單把Unity理解為一個(gè)游戲引擎,可以用來(lái)專業(yè)制作游戲!

Unity 踩坑小知識(shí)點(diǎn)學(xué)習(xí)

Unity 控制物體持續(xù)指向某個(gè)方向

有時(shí)候需要讓某個(gè)物體一直指向某個(gè)游戲?qū)ο螅缦聢D所示:

【100個(gè) Unity踩坑小知識(shí)點(diǎn)】| Unity控制物體持續(xù)指向某個(gè)方向_旋轉(zhuǎn)_02

這時(shí)候有兩種簡(jiǎn)單的方法:

  • 一種是直接使用API的LookAt,可以讓物體持續(xù)指向某個(gè)游戲?qū)ο蟆?/li>
  • 另一種是方向向量的方法,這個(gè)方法也可以讓物體的任意一個(gè)方位指向某個(gè)游戲?qū)ο蟆?/li>
public Transform targetPos;
void Update()
{
//第一種方法:LookAt
transform.LookAt(targetPos);

//第二種方法:方向向量
transform.forward = targetPos.position -transform.position;//正前方持續(xù)指向
//transform.up = targetPos.position -transform.position;//正上方持續(xù)指向
//transform.right = targetPos.position -transform.position;//右方持續(xù)指向
}

這兩種方法效果差不多一樣,但是第二種的重塑性更高,可以自由控制某一個(gè)方向持續(xù)指向。

使用第二種方法的時(shí)候,這樣打出去的炮彈就可以一直指向正確的位置了,可以隨意修改X、Y、Z軸,以便控制任何一個(gè)軸一直指向我們的目標(biāo)位置,從而實(shí)現(xiàn)炮彈的正確指向方位。例如弓箭這種就非常適合。


【100個(gè) Unity踩坑小知識(shí)點(diǎn)】| Unity控制物體持續(xù)指向某個(gè)方向_vr_03



本文摘自 :https://blog.51cto.com/y

開通會(huì)員,享受整站包年服務(wù)立即開通 >