這篇文章主要為大家展示了“Unity中如何實(shí)現(xiàn)3D坐標(biāo)轉(zhuǎn)換UGUI坐標(biāo)”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Unity中如何實(shí)現(xiàn)3D坐標(biāo)轉(zhuǎn)換UGUI坐標(biāo)”這篇文章吧。
創(chuàng)新互聯(lián)專(zhuān)注于呼倫貝爾網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供呼倫貝爾營(yíng)銷(xiāo)型網(wǎng)站建設(shè),呼倫貝爾網(wǎng)站制作、呼倫貝爾網(wǎng)頁(yè)設(shè)計(jì)、呼倫貝爾網(wǎng)站官網(wǎng)定制、微信小程序定制開(kāi)發(fā)服務(wù),打造呼倫貝爾網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供呼倫貝爾網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
實(shí)際開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到需要3D與2D坐標(biāo)轉(zhuǎn)換的問(wèn)題,比如血條同步跟隨人物移動(dòng)、傷害數(shù)字在人物頭上出現(xiàn)、從2D背包中拖動(dòng)一個(gè)UI到3D物體上等情況,這些其實(shí)本質(zhì)上都是3D坐標(biāo)與UI坐標(biāo)轉(zhuǎn)換的問(wèn)題。
3D坐標(biāo)轉(zhuǎn)成UI坐標(biāo)其實(shí)就是先轉(zhuǎn)成屏幕坐標(biāo),再由屏幕坐標(biāo)轉(zhuǎn)換成UI坐標(biāo)。
所以坐標(biāo)轉(zhuǎn)換分為三個(gè)部分
3D坐標(biāo)
屏幕坐標(biāo)
UI坐標(biāo)
其中Unity的屏幕坐標(biāo)系規(guī)定,左下角是原點(diǎn),X軸向右是正方向,Y軸向上是正方向。
作為額外補(bǔ)充的一個(gè)知識(shí)點(diǎn),GUI的坐標(biāo)系規(guī)定左上角是原點(diǎn),X軸向右為正方向,Y軸向下為正方向,跟屏幕坐標(biāo)是不一樣的,但是此篇我們用不到這個(gè)知識(shí)點(diǎn)。
這里UI坐標(biāo)指的是UGUI的坐標(biāo),所以我們?cè)谟?jì)算的時(shí)候就需要用的Canvas相關(guān)的參數(shù)
在此以血條跟隨人物移動(dòng)為需求,完成坐標(biāo)轉(zhuǎn)換的核心代碼
using UnityEngine;public class HPFollow : MonoBehaviour{// 人物頭頂public Transform heroHeadTrans;// 攝像機(jī),不使用Camera.main是因?yàn)樾阅芟谋容^大public Camera mainCamera;// 血條public RectTransform hpTrans;// Canvaspublic RectTransform canvasTrans;// Update is called once per framevoid Update(){// 先將3D坐標(biāo)轉(zhuǎn)換成屏幕坐標(biāo)Vector2 screenPoint = RectTransformUtility.WorldToScreenPoint(mainCamera, heroHeadTrans.position);// 再將屏幕坐標(biāo)轉(zhuǎn)換成UGUI坐標(biāo)Vector2 localPoint;if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvasTrans, screenPoint, mainCamera, out localPoint)){hpTrans.anchoredPosition = localPoint;}}}
別忘了修改Canvas的RenderMode
以上是“Unity中如何實(shí)現(xiàn)3D坐標(biāo)轉(zhuǎn)換UGUI坐標(biāo)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站欄目:Unity中如何實(shí)現(xiàn)3D坐標(biāo)轉(zhuǎn)換UGUI坐標(biāo)
文章來(lái)源:http://www.chinadenli.net/article12/pgdedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站維護(hù)、網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、搜索引擎優(yōu)化、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)