如何用Unity GUI製做HUD

若知其因此然,天然知其然。 svn

HUD是指平視顯示器,就是套在臉上,和你的眼睛固定在一塊兒,HUD的意思就是界面咯,通常咱們說HUD特指把3D空間中的界面的某些信息(好比血條,傷害之類)的貼在界面上,對應3D空間投影到屏幕空間的位置。 3d

 

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

雖然我一直認爲本身學的是野路子,至關的空中樓閣。不幸發現,比我路子更野,比我基礎更差的同窗實在是多到使人髮指的程度。 blog

 

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

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

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

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

而後,弄個UGUI的簡單界面

弄三個Image,區別開來 d3

而後Canvas 要放在ScreenSpace,由於咱們要映射到屏幕空間,這樣只須要一次映射就搞定了。 腳本

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

讓Image按照Cube的位置顯示

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

 

排序的問題

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

須要把HUD的排序規則也要作個映射,

咱們給Canvas加一個SortHud的腳本就解決了

按照深度的規矩從新排下序就行了

 

付SVN地址

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

相關文章
相關標籤/搜索