如何用Unity GUI製作HUD

瘋光無線發表於2015-03-19

若知其所以然,自然知其然。

HUD是指平視顯示器,就是套在臉上,和你的眼睛固定在一起,HUD的意思就是介面咯,一般我們說HUD特指把3D空間中的介面的某些資訊(比如血條,傷害之類)的貼在介面上,對應3D空間投影到螢幕空間的位置。

 

很簡單很簡單的一件事,就是投影而已。

雖然我一直認為自己學的是野路子,相當的空中樓閣。不幸發現,比我路子更野,比我基礎更差的同學實在是多到令人髮指的程度。

 

沒辦法,我們用UGUI來實現一下這個投影過程。

首先準備一下我們的3D空間

弄幾個盒子讓他們轉起來。

如果連這個都不知道怎麼弄得同學我勸你還是關了這頁吧,如果真的不會,還是願意繼續往下看,就看看下面三張圖。

然後,弄個UGUI的簡單介面

弄三個Image,區別開來

然後Canvas 要放在ScreenSpace,因為我們要對映到螢幕空間,這樣只需要一次對映就搞定了。

我喜歡讓他按螢幕高度縮放,這個不影響定位,看你需求。

讓Image按照Cube的位置顯示

就是這麼簡單,一次對映,問題解決

 

排序的問題

還有最後一個問題,HUD是GUI,GUI是按GUI的規矩排序的,但是3D物體是按深度排序的。

需要把HUD的排序規則也要做個對映,

我們給Canvas加一個SortHud的指令碼就解決了

按照深度的規矩重新排下序就好了

 

付SVN地址

http://code.taobao.org/svn/fightbeta/trunk/uGUISample/

相關文章